Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

Documentos relacionados
Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de Perryridge

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003

Ordenação de tuplos order by

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

Bases de Dados. Junção de relações. Junção de relações

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os registos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Banco de Dados I Introdução SQL

Álgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li?

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo

Banco de Dados. Linguagem SQL

mod._1_teoria_sistemas de bancos de dados.doc

Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas

BCD29008 Banco de dados

Introdução às funções e procedimentos. SQL suporta funções e procedimentos úteis com tipos de dados específicos

Linguagem de Definição de Dados (DDL)

A linguagem SQL

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

Manipulação de Dados com SQL

Sistemas de Informação e Bases de Dados 2012/2013. Stored Procedures e Triggers

Marcelo Henrique dos Santos

SQL. Prof. Roger Cristhian Gomes

Aula 6 BD1 Modelo Relacional. Profa. Elaine Faria UFU

SQL Básica. Andre Noel

BANCO DE DADOS PARA NINJAS

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

MySql. Introdução a MySQL. Andréa Garcia Trindade

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

Modelagem Física e SQL

Linguagem de Consulta Estruturada (SQL)

Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas

Modelagem Física e SQL

SQL Básica DDL. Prof. Marcos A. Schreiner. 21 de outubro de Curso de Licenciatura em Computação

Banco de Dados. Professora: Luciana Faria

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

A linguagem SQL

SQL (Tópicos) Structured Query Language

Bases de Dados. DDL Data Definition Language

Bancos (Bases) de Dados

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011

SQL. Linguagem de Definição de Dados (DDL) Tipos em SQL. Tipos Data/Tempo em SQL (cont.)

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Bases de Dados. Conversão para Modelo Relacional. Diagrama E-A. IST DEI Bases de Dados

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

As restrições de integridade garantem a consistência da BD exemplos

Rápida revisão do Modelo Relacional

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

SQL Linguagem de Definição de Dados

Bases de Dados. Apresentação da disciplina. Programa

SQL. Prof. Msc Denival A. dos Santos

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Mysql. Quanto mais informações você busca, mais você evolui. Vitor Ramos. Disciplina de Banco de Dados

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Introdução ao PostgreSQL

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

Modelo Entidade-Relacionamento (E-R)

Definição de Dados com SQL

Instrução Create Table

SQL - Structured Query Language. Karine Reis Ferreira

Comandos de Manipulação

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Linguagem de Consulta - SQL

SQL DDL. Frederico D. Bortoloti

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Exemplos de Vistas SQL. Tipos em SQL. Linguagem de Definição de Dados (DDL) CREATE VIEW todososclientes As

Teste Exemplo Revisão da tentativa 1

modelo introduzido por E. F. Codd Meados da década de 70: protótipos. INGRES (UC Berkeley, 73 77) System R (IBM Research at San Jose, 74 78)

Structured Query Language (SQL) Aula Prática

SQL. Autor: Renata Viegas

SQL - Criação de Tabelas

Tarefa Orientada 8 Criação de tabelas

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Bases de Dados. Restrições de integridade. Restrições de integridade. As restrições de integridade garantem a consistência da BD exemplos

Programação SQL. Introdução

Introdução ao Banco de Dados. Banco de Dados

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

SQL (Structured Query Language)

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

Utilizando o Postgres - comandos SQL para a manipulação de dados

Sistemas de Informação e Bases de Dados 2012/2013. Índices. Alberto Sardinha

Transcrição:

Sistemas de Informação e Bases de Dados 2012/2013 Linguagem SQL Alberto Sardinha

Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1

Sumário Linguagem SQL 2

História Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R Renomeada para SQL (Structured Query Language) Standards ISO e ANSI SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008 2011 Instituto Superior Técnico 3

História Sistemas comerciais suportam: a maior parte do SQL-92 algumas das funcionalidades dos standards mais recentes algumas funcionalidades específicas e proprietárias 2011 Instituto Superior Técnico 4

Âmbito da linguagem SQL Definição de dados SQL/DDL Data Definition Language Manipulação de dados interactiva SQL/DML Data Manipulation Language 2011 Instituto Superior Técnico 5

Âmbito da linguagem SQL Restrições de integridade Definição de vistas Controlo de transações Inclusão em linguagens de programação Autorização e segurança 2011 Instituto Superior Técnico 6

Definição de dados Permite especificar uma estrutura de dados (base de dados, tabelas, etc) Por exemplo, na criação de uma tabela (relação) podemos definir: domínio de cada coluna restrições de integridade chave primária e chave estrangeira índices para a relação 2011 Instituto Superior Técnico 7

Exemplo do banco branch account depositor loan borrower customer IST DEI Bases de Dados

Criar uma base de dados CREATE DATABASE database_name Exemplo: create database bank 9

Definição do esquema Uma tabela define-se com o comando: create table tabela (coluna 1 tipo 1, coluna 2 tipo 2, restrição-integridade 1, restrição-integridade 2,... ) tabela é o nome da tabela (dar um nome adequado) coluna i é o nome de uma coluna 2011 Instituto Superior Técnico 10

Esquema relacional - exemplo account(account_number, branch_name, balance) depositor(customer_name, account_number) 11

Definição do esquema exemplo create table account (account_number char(10), branch_name char(15), balance numeric(12,2), primary key (account_number)) create table depositor (customer_name char(20), account_number char(10), primary key (customer_name, account_number))

Tipos básicos de domínio Tipos de dados suportados em SQL: char(n) cadeia de caracteres de tamanho fixo (pouco usado) varchar(n) tamanho variável, máximo n integer smallint numeric(p,d) p dígitos, d casas decimais real float(n) pelo menos n dígitos 2011 Instituto Superior Técnico 13

Inserção de tuplos Criar uma nova conta com: número A-973 agência de Perryridge saldo inicial 1200 insert into account(account_number, branch_name, balance) values ( A-973, Perryridge,1200) insere 1 registo 14

Alteração de relações Remover colunas alter table tabela drop column coluna!! Exemplo: alter table account drop column balance! 2011! Instituto Superior Técnico 15

Alteração de relações Inserir colunas alter table tabela add coluna tipo! todos os tuplos ficam com null neste novo atributo Exemplo: alter table account add balance numeric(12,2)! 2011 Instituto Superior Técnico 16

Remoção de elementos Remover a tabela Account da base de dados!!drop table account!! Apagar todos os registos de uma tabela!!delete from account!! 17

Esquema relacional Chave Estrangeira account(account_number, branch_name, balance) depositor(customer_name, account_number) account_number: FK(account) 18

Definição do esquema Chave Estrangeira create table account (account_number char(10), branch_name char(15), balance numeric(12,2), primary key (account_number)) Incluir chave estrangeira: create table depositor (customer_name char(20), account_number char(10), primary key (customer_name, account_number), foreign key(account_number) references account(account_number))

Definição do esquema NOT NULL Não aceita valores NULOS: create table depositor (customer_name char(20), account_number char(10) NOT NULL)

Definição do esquema UNIQUE Restrição UNIQUE (valor único): create table depositor (customer_name char(20), account_number char(10) UNIQUE)

Definição do esquema CHECK Restrição CHECK: create table account (account_number char(10), branch_name char(15), balance numeric(12,2), check(balance > 0), primary key (account_number)) 22

Alteração de relações create table depositor (customer_name char(20) NOT NULL, account_number char(10) NOT NULL) Incluir chave primária: alter table depositor add primary key(customer_name, account_number)

Alteração de relações create table depositor (customer_name char(20), account_number char(10), primary key(customer_name, account_number) Incluir chave estrangeira: alter table depositor add foreign key(account_number) references account(account_number)

Estrutura básica de consultas em SQL Consulta típica em SQL select c 1, c 2,..., c n from t 1, t 2,..., t m where P c i colunas t i tabelas ou outras relações P condições lógicas de seleção

Estrutura básica de consultas em SQL (observações) Consulta típica em SQL select c 1, c 2,..., c n from t 1, t 2,..., t m where P se where for omitida, é como se P seja true o resultado pode conter tuplos duplicados! o SGBD pode converter a consulta para a expressão algébrica mais eficiente 26

A cláusula select A cláusula select lista as colunas pretendidas no resultado Exemplo: nomes de todas as agências com empréstimos em SQL select branch_name from loan IST DEI Bases de Dados

A cláusula select duplicados SQL permite duplicados em resultados distinct força a eliminação de duplicados Exemplo: nomes de todas as agências com empréstimos, sem duplicados select distinct branch_name from loan Para forçar a apresentação de duplicados (default) select all branch_name from loan IST DEI Bases de Dados

A cláusula select símbolo * Para obter todas as colunas select * from loan É possível usar também expressões aritméticas: +,, *, /, aplicadas a constantes ou atributos select loan_number, amount * 100 from loan IST DEI Bases de Dados

A cláusula from Indica as relações envolvidas na pergunta (produto) exemplo: produto cartesiano select * from borrower, loan IST DEI Bases de Dados

Produto cartesiano Combinar os dados de duas relações exemplo: select * from borrower, loan IST DEI Bases de Dados

A cláusula where A cláusula where especifica as condições que o resultado deve verificar (seleção) Exemplo: números dos empréstimos da agência de Perryridge com quantias superiores a 1200 select loan_number from loan where branch_name= Perryridge and amount >1200 condições: =, >, <, >=, <=, <>, like, is null operadores lógicos: and, or, not IST DEI Bases de Dados

Exemplo de consulta SQL Nomes dos clientes com empréstimo na agência de Perryridge select customer_name from borrower, loan where borrower.loan_number = loan.loan_number and branch_name = Perryridge borrower loan IST DEI Bases de Dados

Exemplo de consulta SQL Nomes dos clientes com empréstimo na agência de Perryridge passo 1 IST DEI Bases de Dados

Exemplo de consulta SQL Nomes dos clientes com empréstimo na agência de Perryridge passo 2 IST DEI Bases de Dados

Exemplo de consulta SQL Nomes dos clientes com empréstimo na agência de Perryridge passo 3 IST DEI Bases de Dados

Renomeação em SQL Para renomear usa-se a cláusula as na forma nome_antigo as novo_nome Exemplo: nomes dos clientes e quantias dos empréstimos select customer_name as nome, amount as quantia from borrower, loan where borrower.loan_number = loan.loan_number IST DEI Bases de Dados

Variáveis Definidas na cláusula from com recurso à cláusula as exemplo: nomes dos clientes e quantias dos empréstimos select T.customer_name, S.amount from borrower as T, loan as S where T.loan_number = S.loan_number IST DEI Bases de Dados

Variáveis outro exemplo Nomes das agências com ativo superior a alguma agência de Brooklyn select distinct T.branch_name from branch as T, branch as S where T.assets > S.assets and S.branch_city = Brooklyn IST DEI Bases de Dados

Sumário Linguagem SQL 40