Introdução. Categorias

Tamanho: px
Começar a partir da página:

Download "Introdução. Categorias"

Transcrição

1 Linguagem SQL

2 Introdução SQL (Structured Query Language): desenvolvida pela IBM (70) como parte do sistema System R. A SQL foi inicialmente chamada de SEQUEL É a linguagem de consulta padrão para os SGBDR's Já existem padrões propostos: ANSI- SQL(SQL-89), SQL-92 e padrões mais recentes: SQL:1999 e SQL:2003.

3 Introdução O padrão SQL define precisamente uma interface para a definição de tabelas, para as operações sobre as mesmas (seleção, projeção, junção, e outras) e para a definição de regras de integridade de bancos de dados.

4 Introdução Categorias DDL: Linguagem de Definição de Dados. Usada para definir os esquemas, atributos, visões, regras de integridade, índices, etc. DML: Linguagem de Manipulação de Dados. Usada para se ter acesso aos dados armazenados no BD. DCL: Linguagem de controle dos dados. Usada para garantir ou negar o acesso aos dados.

5 Banco WorldJanu

6 Modelo Relacional Banco (codigo, nome, endereco) Agencia_Bancaria (numagencia, banco_fk, endereco) Conta (numconta, saldo, tipo, numagencia_fk, banco_fk) Emprestimo (numempr, valor, tipo, numagencia_fk, banco_fk) Cliente (codigo, nome, telefone, endereco) Conta_cliente (cliente_fk, conta_fk) Emprestimo_cliente (cliente_fk, conta_fk)

7 DDL

8 DDL Os comandos SQL para definição de dados são: CREATE: criação de novas estruturas DROP: remoção de estruturas ALTER: alteração de estruturas

9 CREATE TABLE - DDL CREATE TABLE: especifica uma nova tabela (relação), dando o seu nome e especificando as colunas(atributos) (cada uma com seu nome, tipo e restrições) Sintaxe: CREATE TABLE nome_tabela (coluna tipo_dado)

10 CREATE TABLE - DDL create table banco ( codigo int, nome varchar(50), endereco varchar(100))

11 Interbase - Tipos de dados Tipos em SQL:1999 Numéricos exatos: INTEGER (INT) e SMALLINT para representar inteiros NUMERIC(p,s): tem uma precisão e uma escala(número de dígitos na parte fracionária). A escala não pode ser maior que a precisão. Muito usado para representar dinheiro DECIMAL: também tem precisão e escala. A precisão é fornecida pela implementação (SGBD). Numéricos aproximados: REAL: ponto flutuante de precisão simples DOUBLE: ponto flutuante com precisão dupla FLOAT(p): permite especificar a precisão que se quer. Usado para tranportar (portability) aplicações

12 Interbase - Tipos de dados Tipos em SQL:1999 Character CHARACTER(x) (CHAR): representa um string de tamanho x. Se x for omitido então é equivalente a CHAR(1). Se um string a ser armazenado é menor do que x, então o restante é preenchido com brancos. VARCHAR(N): representa um string de tamanho x. Armazena exatamente o tamanho do string (tam <= x) sem preencher o resto com brancos. Neste caso x é obrigatório. OBS.: Existem os National character data types: NCHAR, NVARCHAR, NCLOB que permitem implementar internacionalização

13 Interbase - Tipos de dados Tipos em SQL:1999 Binary Strings (BLOB) BINARY LARGE OBJECT (BLOB): para armazenar grande quantidades de bytes como fotos, vídeo, áudio, gráficos, mapas, etc.

14 Interbase - Tipos de dados Tipos em SQL:1999 DATETIMES DATE: armazena ano (4 digitos), mês (2 digitos) e dia(2 digitos). TIME: armazena hora(2digitos), minuto(2 digitos) e segundo(2digitos, podendo ter frações 0 a ) TIMESTAMP: DATE + TIME

15 Interbase - Tipos de dados Tipos em SQL:1999 Intervals Um intervalo é a diferença entre duas datas e tempos. Intervalos do tipo year-month ou day-time. Year-month interval: contém apenas um valor de ano, ou de mês ou ambos. YEAR(p), MONTH(p), INTERVAL YEAR TO MONTH(p) Day-Time interval: contém apenas um dia, uma hora, um minuto e/ou um segundo. INTERVAL DAY(p), INTERVAL DAY TO HOUR, INTERVAL DAY(6) TO MINUTE, INTERVAL SECOND(7), etc. Booleans: lógica de três valores (TRUE, FALSE e UNKNOWN)

16 DROP TABLE - DDL DROP TABLE: remove uma tabela-base do BD. Remove tanto os dados quanto a definição da tabela Sintaxe: DROP TABLE <nometabela> Ex.: DROP TABLE Peca

17 Restrições - DDL

18 Not null - DDL Algumas restrições NOT NULL: Uma restrição de não-nulo simplesmente especifica que uma coluna não pode conter o valor nulo. create table banco ( codigo int not null, nome varchar(50) not null, endereco varchar(100))

19 Default - DDL - DDL Algumas restrições DEFAULT: indica um valor padrão para a coluna CREATE TABLE "CLIENTE" ( "CPF" INTEGER NOT NULL, "NOME" VARCHAR(50), "TELEFONE" VARCHAR(13), "ENDERECO" VARCHAR(50) default 'Januaria' );

20 ALTER TABLE - DDL Com o comando Alter Table podemos: Incluir / Alterar / Excluir coluna Incluir / Excluir restrições

21 ALTER TABLE - DDL Incluir uma coluna ALTER TABLE banco ADD estado varchar(40) Excluir uma coluna ALTER TABLE banco DROP estado Alterar o tipo do campo ALTER TABLE banco ALTER nome TYPE varchar(60)

22 ALTER TABLE - DDL Adicionar a restrição default ALTER TABLE banco ALTER endereco SET DEFAULT Januaria Excluir a restrição default ALTER TABLE banco ALTER endereco DROP DEFAULT

23 UNIQUE - DDL Algumas restrições UNIQUE: indica que o atributo tem valor único na tabela. Qualquer tentativa de se introduzir uma linha na tabela contendo um valor igual ao do atributo será rejeitada. Serve para indicar chaves secundárias. Nomear as restrições (CONSTRAINTS) Deve ser definido primeiramente como NOT NULL CREATE TABLE BANCO( CODIGO INT NOT NULL CONSTRAINT U_BANCOCODIGO UNIQUE, NOME VARCHAR (40), ENDERECO VARCHAR(40))

24 ALTER TABLE - DDL Adicionar uma restrição Unique ALTER TABLE banco ADD CONSTRAINT u_bu UNIQUE(nome) Remover uma restrição ALTER TABLE banco DROP CONSTRAINT u_bu

25 Check - DDL Algumas restrições CHECK: Permite especificar que os valores de uma determinada coluna devem estar de acordo com uma expressão arbitrária. create table conta ( numconta int not null unique, saldo numeric constraint ch_saldo check(saldo>1000), tipo int, num_agencia int, cod_banco int)

26 ALTER TABLE - DDL Adicionar restrição Check ALTER TABLE conta ADD CONSTRAINT c_saldo CHECK (saldo>1000)

27 ALTER TABLE - DDL Remover constraint ALTER TABLE BANCO DROP CONSTRAINT U_BU

28 Primary key - DDL Primary key: Indica que a coluna pode ser utilizado como identificador único para as linhas da tabela. Pode ser composta por um ou dois campos. Deve ser definida como not null. create table banco ( codigo int primary key, nome varchar (40), endereco varchar (60)) create table agencia_bancaria ( numagencia int, codbanco int, endereco varchar(50), primary key(numagencia,codbanco))

29 ALTER TABLE - DDL Adicionar Chave Primária alter table agencia_bancaria add primary key (codbanco,numagencia)

30 Foreign key - DDL Foreign key: Especifica que o valor da coluna deve corresponder a algum valor que existe em uma linha de outra tabela. Mantém a integridade referencial entre as tabelas relacionadas. create table agencia_bancaria ( numagencia int not null, codbanco int references banco, endereco varchar(40), primary key(numagencia, codbanco))

31 ALTER TABLE - DDL Adicionar chave estrangeira alter table conta add foreign key (cod_banco,num_agencia) references agencia_bancaria

32 Recomendação É recomendado definir constraints e nomeálas para que o sistema não crie nomes automáticos que geralmente não são ilegíveis.

33 FOREIGN KEY - DDL Uma cláusula FOREIGN KEY inclui regras de remoção/atualização: FOREIGN KEY (coluna) REFERENCES tabela [ON DELETE {RESTRICT CASCADE SET NULL SET DEFAULT}] [ON UPDATE {RESTRICT CASCADE SET NULL SET DEFAULT}] Supondo que T2 tem uma chave estrangeira para T1, vejamos as cláusulas ON DELETE e ON UPDATE

34 FOREIGN KEY - DDL ON DELETE: RESTRICT: (default) significa que uma tentativa de se remover uma linha de T1 falhará se alguma linha em T2 combina com a chave CASCADE: remoção de uma linha de T1 implica em remoção de todas as linhas de T2 que combina com a chave de T1 SET NULL: remoção de T1 implica em colocar NULL em todos os atributos da chave estrangeira de cada linha de T2 que combina. SET DEFAULT: remoção de linha em T1 implica em colocar valores DEFAULT nos atributos da chave estrangeira de cada linha de T2 que combina.

35 FOREIGN KEY - DDL ON UPDATE: - RESTRICT: (default) update de um atributo de T1 falha se existem linhas em T2 combinando - CASCADE: update de atributo em T1 implica que linhas que combinam em T2 também serão atualizadas SET NULL: update de T1 implica que valores da chave estrangeira em T2 nas linhas que combinam são postos par NULL. SET DEFAULT: update de T1 implica que valores da chave estrangeira de T2 nas linhas que combinam terão valores default aplicados.

36 FOREIGN KEY - DDL As restrições de integridade podem ter um nome e serem especificadas com a cláusula CONSTRAINT. Isto permite que possamos no futuro eliminar (DROP) ou alterar (ALTER) o constraint.

37 DML

38 DML Linguagem de manipulação dos dados INSERT: inserção de registros DELETE: deleção de registros UPDATE: atualização de registros SELECT: seleção de registros

39 INSERT - DML Ao ser criada a tabela não contém nenhum dado. Os dados são inseridos uma linha por vez. Os valores dos dados são colocados na mesma ordem que as colunas aparecem na tabela, separados por vírgula. INSERT INTO banco VALUES (1, Banco 1, End 1 ) Quando não se sabe a ordem das colunas: INSER INTO banco (nome, endereco, codigo) VALUES ( Banco 1, End 1, 1)

40 UPDATE - DML O comando UPDATE Modifica o valor de atributos de uma ou mais tuplas. Sintaxe: UPDATE tabela SET lista_atributos com atribuições de valores [WHERE condição] Obs.: omitir a cláusula WHERE implica que o UPDATE deve ser aplicado a todas as tuplas da relação

41 DELETE - DML O comando DELETE Remove tuplas de uma relação Sintaxe: DELETE FROM tabela [WHERE condição] Obs.: Se omitirmos a cláusula WHERE, então o DELETE deve ser aplicado a todas as tuplas da relação. Porém, a relação permanece no BD como uma relação vazia.

42 DML

43 DML Esquemas do BD Empresa: Empregado(matricula, nome, endereco, salario, supervisor, depto) Departamento(coddep, nome, gerente, dataini) Projeto(codproj, nome, local, depart) Alocacao(matric,codigop, horas)

44 SELECT O comando Select: A forma básica do comando Select é: SELECT <lista atributos> FROM <lista tabelas> WHERE <condição>

45 SELECT Obtenha todos os nomes dos empregados Select nome from Empregado Obtenha o salário de José Select salario From Empregado Where nome = José Obs.: Podemos renomear o nome da coluna no resultado select salario as SalarioJose from empregado where nome = José

46 SELECT Obs2: Podemos usar colunas como expressões select mat as matricula, salario, 0.15 * salario as IR from empregado Podemos inserir constantes na cláusula select se necessário select nome, marajá as Marajá from empregado where salario > ,00

47 SELECT Selecione todos os atributos de todos os empregados do departamento Pesquisa Select * From Empregado Where depto = Pesquisa

48 SELECT Obter os nomes dos empregados e o nome do departamento que ele trabalha Obter os nomes dos departamentos Obter os nomes dos projetos e o local de realização

49 SELECT Obter os nomes dos projetos e o nome dos departamentos que o controlam Obter o nome do gerente de cada departamento, com o nome do departamento

50 SELECT Selecione o nome e o endereço de todos os empregados que trabalham no departamento de produção Select e.nome, e.endereco From empregado e join departamento d Where d.nome = Produção

51 SELECT Obter o nome do empregado, nome do projeto e as horas trabalhadas

52 SELECT Para cada projeto em Fortaleza, liste o código do projeto, o departamento que controla o projeto e o nome do gerente com endereço e salário Select p.codigo, d.nome, e.nome, e.endereco, e.salario From Projeto p join Departamento d on p.depart = d.codigo join Empregado e on d.gerente = e.matricula Where p.local = Fortaleza

53 SELECT Para cada empregado, recupere seu nome e o nome do seu supervisor Select e.nome, s.nome From Empregado e join Empregado s on e.matricula = s.supervisor

54 SELECT Selecione todos os atributos de todos os empregados do departamento Administração Select e.* from Empregado e join Departamento d on e.depto = d.codigo Where d.nome = Administração

55 SELECT - DISTINCT Algumas vezes surgem duplicatas como resposta a uma query. Podemos eliminálas usando o comando DISTINCT na cláusula SELECT Selecione os diferentes salários pagos pela empresa aos empregados Select distinct salario From empregado

56 SELECT ORDER BY Ordenação O operador ORDER BY permite ordenar o resultado de uma query por um ou mais atributos. Obter uma lista de empregados e seus respectivos departamentos, listando ordenado pelo nome do departamento SELECT d.nome, e.nome FROM departamento d join empregado e On d.codigo = e.depto ORDER BY d.nome, e.nome

57 SELECT ORDER BY Ordenação A ordem default é ascendente (ASC) caso queiramos ordem decrescente usamos DESC Ex. ORDER BY d.nome DESC, e.nome ASC

58 SELECT Selecione os nomes dos empregados que ganham mais de 1000 e menos de reais

59 SELECT - BETWEEN BETWEEN: Sintaxe: expressão [NOT] BETWEEN expressão AND expressão Ex.: y BETWEEN x AND Z equivale a x <= y <= z Selecione os nomes dos empregados que ganham mais de 1000 e menos de reais SELECT nome FROM Empregado WHERE salario BETWEEN 1000 AND 10000

60 SELECT Obter os nomes de empregados cujos endereços estão em Natal, RN

61 SELECT - LIKE LIKE: Permite comparações de substrings. Usa dois caracteres reservados % (substitui um número arbitrário de caracteres) e _ (substitui um único caracter). Obter os nomes de empregados cujos endereços estão em Natal, RN SELECT nome FROM empregado WHERE endereco LIKE %Natal%

62 SQL Funções Agregadas

63 Funções agregadas SQL fornece 5 funções embutidas: COUNT: retorna o número de tuplas ou valores especificados numa query SUM: retorna a soma os valores de uma coluna AVG: retorna a média dos valores de uma coluna MAX: retorna o maior valor de uma coluna MIN: identifica o menor valor de uma coluna Estas funções só podem ser usadas numa cláusula select ou numa cláusula HAVING (a ser vista depois)

64 Funções agregadas Encontre o total de salários, o maior salário, o menor salário e a média salarial da relação empregados SELECT SUM(salario), MAX(salario), MIN(salario), AVG(salario) FROM Empregado Encontre o maior e menor salário do departamento de Produção SELECT MAX(salario), MIN(salario) FROM Empregado e join Departamento d on e.depto = d.codigo WHERE d.nome = Produção

65 Funções agregadas Obtenha o número de empregados da empresa SELECT COUNT(*) FROM empregado Obter o número de salários distintos do departamento de Pesquisa SELECT COUNT(DISTINCT salario) FROM empregado e join departamento d on e.depto=d.codigo WHERE d.nome = Pesquisa O que aconteceria se escrevêssemos COUNT(salario) ao invés de COUNT(DISTINCT salario))?

66 GROUP BY, HAVING Cláusula GROUP BY, HAVING Usadas para lidar com grupos. Para cada departamento, obter o código do departamento, o número de empregados e a média salarial SELECT depto, COUNT(*), AVG(salario) FROM Empregado GROUP BY depto as tuplas de empregados são separadas em grupos (departamento) e as funções COUNT e AVG são aplicadas a cada grupo separadamente.

67 GROUP BY, HAVING Para cada projeto, obter o código do projeto, seu nome e o número de empregados que trabalham naquele projeto SELECT codigop, nome, COUNT(*) FROM Projeto p join Alocacao a On p.codigo = a.projeto GROUP BY p.codproj, p.nome o agrupamento e as funções são aplicadas após a junção.

68 HAVING HAVING usada em conjunto com GROUP BY para permitir a inclusão de condições nos grupos Para cada projeto que possui mais de 2 empregados trabalhando, obter o código do projeto, nome do projeto e número de empregados que trabalha neste projeto SELECT p.codproj, p.nome, COUNT(*) FROM Projeto p join Alocacao a ON p.codigo = a.projeto GROUP BY codigop, nome HAVING COUNT(*) > 2 Uma query é avaliada primeiro aplicando a cláusula WHERE e depois GROUP BY HAVING

69 JUNÇÕES

70 Junções O padrão SQL:1999 (e o 92) especifica vários tipos de junções: Clássica (tabelas separadas por vírgulas como vimos) cross-joins natural joins conditions joins column name join outer joins (left, right, ou full)

71 Condition Join Exemplos: Condition Join usa a cláusula ON para especificar a condição de junção Select * from T1 JOIN T2 ON T1.C1 = T2.C1 é equivalente a: select * from T1, T2 where T1.C1 = T2.C1

72

73 Junções Exemplos: Left Outer Join Select * from T1 left outer join T2 on T1.C1 = T2.C3 T1 T2 Junção left outer de T1 com T2 C1 C C3 C4 10 BB 15 DD C1 C2 C3 C BB Null Null

74

75

76 Junções Exemplos: Right Outer Join Select * from T1 right outer join T2 on T1.C1 = T2.C3 T1 T2 Junção right outer de T1 com T2 C1 C C3 C4 10 BB 15 DD C1 C2 C3 C BB Null Null 15 DD

77 Junções Exemplos: Full Outer Join Select * from T1 full outer join T2 on T1.C1 = T2.C3 T1 T2 Junção full outer de T1 com T2 C1 C C3 C4 10 BB 15 DD C1 C2 C3 C BB Null Null Null Null 15 DD

78

79

80 Subconsultas (consultas aninhadas)

81 Subconsultas São comandos SELECT aninhados em outros comandos SELECT, INSERT, UPDATE ou DELETE ou outras subconsultas Podem ser utilizadas Retornando valores únicos e testando-os com operadores de comparação Como listas de linhas, através dos operadores IN, ANY, SOME ou ALL e EXISTS

82 Subconsultas Coloque as subconsultas entre parenteses Elas devem ficar a direita dos operadores Não use ORDER BY em uma subconsulta

83 Operadores de comparação SELECT descricao, preco FROM comida WHERE preco < ( comida ( SELECT AVG(preco) FROM

84 Operadores de comparação Select prod.titulo From produtos prod Where prod.preco > (select prod1.preco From produtos prod1 Where prod1.cod_produto = 142);

85 Operadores de comparação Select prod.titulo From produtos prod Where prod.importado = N and prod.preco > (select max(prod1.preco) From produtos prod1 Where prod1.importado = S );

86 Operadores de comparação Select prod.ano_lancamento, avg(prod.preco) from produtos prod group by prod.ano_lancamento having avg(prod.preco) > (select avg(prod1.preco) from produtos prod1 where prod1.ano_lancamento = trunc(sysdate,'yyyy'));

87 Exemplo Script cerveja CREATE TABLE cerveja ( nome VARCHAR(45), fabricante VARCHAR(45), PRIMARY KEY (nome) ); CREATE TABLE bebe ( pessoa VARCHAR(45), cerveja VARCHAR(45), PRIMARY KEY (pessoa, cerveja) ); CREATE TABLE frequenta ( pessoa VARCHAR(45), bar VARCHAR(45), PRIMARY KEY (pessoa, bar) ); ALTER TABLE bebe ADD CONSTRAINT bebe_cerveja_fk FOREIGN KEY (cerveja) REFERENCES cerveja(nome); ALTER TABLE vende ADD CONSTRAINT vende_cerveja_fk FOREIGN KEY (cerveja) REFERENCES cerveja(nome); CREATE TABLE vende ( bar VARCHAR(45), cerveja VARCHAR(45), preco NUMERIC(4,2), PRIMARY KEY (bar, cerveja) );

88 INSERT INTO vende VALUES ('Bar X', 'Primus', 1.50); INSERT INTO cerveja VALUES ('Antarctica Original', 'Ambev'); INSERT INTO cerveja VALUES ('Bohemia Weiss', 'Ambev'); INSERT INTO cerveja VALUES ('Brahma Extra', 'Ambev'); INSERT INTO cerveja VALUES ('Skol', 'Ambev'); INSERT INTO cerveja VALUES ('Budweiser', 'Ambev'); INSERT INTO cerveja VALUES ('Eisenbahn Dunkel', 'Sudbrack'); INSERT INTO cerveja VALUES ('Colonia Pilsen', 'Colonia'); INSERT INTO cerveja VALUES ('Nova Schin Pilsen', 'Schincariol'); INSERT INTO cerveja VALUES ('Primus', 'Schincariol'); INSERT INTO frequenta VALUES ('Fulano','Bar BQ'); INSERT INTO frequenta VALUES ('Joao','Bar Bada'); INSERT INTO frequenta VALUES ('Amadeu','Bar X'); INSERT INTO frequenta VALUES ('Joana','Bar BQ'); INSERT INTO bebe VALUES ('Fulano','Brahma Extra'); INSERT INTO bebe VALUES ('Joao','Skol'); INSERT INTO bebe VALUES ('Joao','Brahma Extra'); INSERT INTO bebe VALUES ('Joao','Primus'); INSERT INTO bebe VALUES ('Joao','Nova Schin Pilsen'); INSERT INTO bebe VALUES ('Amadeu','Eisenbahn Dunkel'); INSERT INTO bebe VALUES ('Joana','Budweiser'); INSERT INTO bebe VALUES ('Timoteo','Antarctica Original'); INSERT INTO vende VALUES ('Bar BQ', 'Nova Schin Pilsen', 1.00); INSERT INTO vende VALUES ('Bar BQ', 'Skol', 2.00); INSERT INTO vende VALUES ('Bar BQ', 'Colonia Pilsen', 1.50); INSERT INTO vende VALUES ('Bar BQ', 'Budweiser', 2.00); INSERT INTO vende VALUES ('Bar BQ', 'Brahma Extra', 2.00);

89 Exemplo Encontrar cervejas vendidas abaixo do preço médio. select cerveja from vende where preco < (select avg(preco) from vende)

90 Exemplo Encontrar as cervejas vendidas pelo mais baixo preço. select cerveja from vende where preco = (select min(preco) from vende)

91 Operador IN Retorna as linhas iguais a qualquer linha da subconsulta Podemos usar NOT IN Equivalente a =ANY O operador IN aceita a comparação simultânea de mais de uma coluna

92 Operador IN Select ped.num_pedido From pedidos ped Where ped.cod_cliente in (select adm.cod_administrador From administradores adm);

93 Operador IN select ped.num_pedido from pedidos ped where (ped.cod_cliente, ped.cod_endereco) in (select end.cod_cliente, end.cod_endereco from enderecos where end.cod_cidade = 20);

94 Operadores ANY e SOME Compara um valor com cada linha da subconsulta, utilizando um operador de comparação ANY e SOME são sinonimos select prod.titulo from produtos prod where prod.importado = 'N' and prod.preco > ANY (select prod1.preco from produtos prod1 where prod1.importado = 'S');

95 Operador ALL Compara um valor com todas as linhas da subconsulta, utilizando um operador select prod.titulo from produtos prod where prod.importado = 'N' and prod.preco > ALL (select prod1.preco from produtos prod1 where prod1.importado = 'S');

96 Is null Podemos verificar valores nulos através de IS NULL e IS NOT NULL: Selecione os nomes de todos os empregados que não têm supervisores SELECT nome FROM empregado WHERE supervisor IS NULL

97 Exemplo Encontrar nomes de cervejas que nenhuma pessoa bebe. select nome from cerveja where nome not in (select cerveja from bebe)

98 Exemplo Encontrar pessoas que bebem cerveja mas não freqüentam bares. select pessoa from bebe where pessoa not in (select pessoa from frequenta)

99 Exemplo Encontrar bares que vendem pelo menos uma cerveja que 'Fulano' bebe. select distinct bar from vende where cerveja = any(select cerveja from bebe where pessoa = 'Fulano')

100 Exemplo Encontrar nomes de fabricantes de cada cerveja que 'Fulano' bebe. select fabricante from cerveja where nome in (select cerveja from bebe where pessoa='joao')

101 Exemplo Encontrar cervejas que são o único produto de seu fabricante. select nome from cerveja where fabricante in ( select fabricante from cerveja group by fabricante having count(*)=1)

102 Exemplo Encontrar bares que sao frequentados por Fulano OU que vendem cerveja a menos de R$ 2,00. select bar from frequenta where pessoa = 'Fulano' or bar in (select bar from vende where preco <2)

103 Exemplo Encontrar pessoas e cervejas tal que: a pessoa bebe a cerveja E a pessoa freqüenta um bar que vende a cerveja. select pessoa, cerveja from bebe where pessoa in ( select pessoa from frequenta where bar in ( select bar from vende where vende.cerveja = bebe.cerveja))

104 Exemplo Encontrar cervejas do fabricante 'Ambev' que NÃO são vendidas no bar 'Bar BQ'. select nome from cerveja where fabricante = 'Ambev' and nome not in (select cerveja from vende where bar='bar BQ')

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DML. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DML Frederico D. Bortoloti freddb@ltc.ufes.br SQL - DML Os exemplos da aula serão elaborados para o esquema de dados a seguir: Empregado(matricula, nome, endereco, salario, supervisor,

Leia mais

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello

Banco de Dados I Linguagem SQL Parte 2. Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Banco de Dados I Linguagem SQL Parte 2 Autor: Prof. Cláudio Baptista Adaptado por: Prof. Ricardo Antonello Introdução Como vimos, um SGBD possui duas linguagens: DDL: Linguagem de Definição de Dados. Usada

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

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

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita: SQL Tópicos Especiais Modelagem de Dados Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino de Ciências

Leia mais

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br

Banco de Dados I SQL DDL. Frederico D. Bortoloti freddb@ltc.ufes.br Banco de Dados I SQL DDL Frederico D. Bortoloti freddb@ltc.ufes.br Introdução Modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language)

Leia mais

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

SQL Linguagem de Definição de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados Banco de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix

Leia mais

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. SQL (Structured Query Language) SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável. Além de permitir a realização de consultas, SQL possibilita: definição

Leia mais

Structured Query Language (SQL)

Structured Query Language (SQL) SQL Histórico Structured Query Language (SQL) Foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language) para suas primeiras tentativas

Leia mais

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

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Manipulação de Dados Banco de Dados SQL DML SELECT... FROM... WHERE... lista atributos de uma ou mais tabelas de acordo com alguma condição INSERT INTO... insere dados em uma tabela DELETE

Leia mais

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas: Álgebra Relacional Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída operação (REL 1 ) REL 2 operação (REL 1,REL 2 ) REL 3 Operações básicas: seleção projeção

Leia mais

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

Banco de Dados I. Aula 12 - Prof. Bruno Moreno 04/10/2011 Banco de Dados I Aula 12 - Prof. Bruno Moreno 04/10/2011 Plano de Aula SQL Definição Histórico SQL e sublinguagens Definição de dados (DDL) CREATE Restrições básicas em SQL ALTER DROP 08:20 Definição de

Leia mais

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com

SQL. Prof. Márcio Bueno. {bd2tarde,bd2noite}@marciobueno.com SQL Prof. Márcio Bueno {bd2tarde,bd2noite}@marciobueno.com Material dos professores Ana Carolina Salgado, Fernando Foncesa e Valéria Times (CIn/UFPE) SQL SQL - Structured Query Language Linguagem de Consulta

Leia mais

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language)

Básico da Linguagem SQL. Definição de Esquemas em SQL. SQL(Structured Query Language) Básico da Linguagem SQL Definição de Esquemas em SQL SQL(Structured Query Language) Desenvolvida como a linguagem de consulta do protótipo de SGBD Sistema R (IBM, 1976). Adotada como linguagem padrão de

Leia mais

Linguagem SQL Sub-linguagem DDL

Linguagem SQL Sub-linguagem DDL Linguagem SQL Sub-linguagem DDL A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation Language para suas

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

Leia mais

Comandos DDL. id_modulo = id_m odulo

Comandos DDL. id_modulo = id_m odulo Comandos DDL Estudo de Caso Controle Acadêmico Simplificado Uma escola contém vários cursos, onde cada aluno possui uma matricula num determinado curso. Estes cursos, por sua vez, possuem módulos, aos

Leia mais

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

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 Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível

Leia mais

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Linguagem de Definição de Dados. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Linguagem de Definição de Dados SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais importante) Exemplos de SGBD que utilizam SQL Oracle Informix Ingress SQL

Leia mais

Linguagem de Consulta Estruturada SQL- DML

Linguagem de Consulta Estruturada SQL- DML Linguagem de Consulta Estruturada SQL- DML INTRODUÇÃO A SQL - Structured Query Language, foi desenvolvido pela IBM em meados dos anos 70 como uma linguagem de manipulação de dados (DML - Data Manipulation

Leia mais

Programação SQL. Introdução

Programação SQL. Introdução Introdução Principais estruturas duma Base de Dados: Uma BD relacional é constituída por diversas estruturas (ou objectos ) de informação. Podemos destacar: Database: designa a própria BD; Table/Tabela:

Leia mais

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL A linguagem SQL é responsável por garantir um bom nível de independência do

Leia mais

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL SQL TGD/JMB 1 Projecto de Bases de Dados Linguagem SQL SQL TGD/JMB 2 O que é o SQL? SQL ("ess-que-el") significa Structured Query Language. É uma linguagem standard (universal) para comunicação com sistemas

Leia mais

2008.1 SQL. Autor: Renata Viegas

2008.1 SQL. Autor: Renata Viegas SQL Autor: Renata Viegas A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua

Leia mais

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada

S Q L 31/03/2010. SQL - Structured Query Language Linguagem de Consulta Estruturada Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo SQL SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

SQL - Criação de Tabelas

SQL - Criação de Tabelas SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Criação de Tabelas February 24, 2012 1 / 25 Sumário 1 Introdução 2 Tabelas

Leia mais

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

Structured Query Language (SQL) Ambiente Simplificado de um SGBD Structured Query Language (SQL) Ambiente Simplificado de um SGBD 2 1 Características dos SGBDs Natureza auto-contida de um sistema de banco de dados: metadados armazenados num catálogo ou dicionário de

Leia mais

2008.1. A linguagem SQL

2008.1. A linguagem SQL SQL 2008.1 A linguagem SQL SQL - Structured Query Language. Foi definida nos laboratórios de pesquisa da IBM em San Jose, California, em 1974. Teve seus fundamentos no modelo relacional Sua primeira versão

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Linguagem SQL: Introdução; Construção/Definição de tabelas. 2 Linguagem SQL SQL - Structured Query Language;

Leia mais

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL

FEAP - Faculdade de Estudos Avançados do Pará PROFª LENA VEIGA PROJETOS DE BANCO DE DADOS UNIDADE V- SQL Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação. O Departamento de Pesquisas da IBM desenvolveu a SQL como forma de interface para

Leia mais

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação

S Q L 15/01/2013. Enfoques de SQL. Enfoques de SQL SQL. Usos de SQL. SQL - Origem/Histórico. Gerenciamento de Dados e Informação Enfoques de SQL Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Valeria Times Bernadette Loscio Linguagem interativa de consulta (ad-hoc): usuários podem definir consultas independente

Leia mais

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

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 Bases de Dados Introdução à linguagem SQL 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,

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL SQL Structured Query Language Linguagem de Consulta Estruturada; Originou-se da linguagem SEQUEL (1974); Revisada e chamada de SQL em 1976/77; Em 1986, padronizada pelo ANSI/ISO - chamada SQL-86; Em 1987

Leia mais

Introdução ao SQL. Aécio Costa

Introdução ao SQL. Aécio Costa Aécio Costa A linguagem SQL é um padrão de linguagem de consulta comercial e possui as seguintes partes: Linguagem de definição de dados (DDL) Linguagem interativa de manipulação de dados (DML) Definição

Leia mais

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) PRONATEC - Programador de Sistemas Banco de Dados 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando INSERT INTO INSERT INTO tabela [ ( coluna [, coluna,...] ) ] VALUES

Leia mais

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional

Modelo de Dados Relacional Restrições de um Banco de Dados Relacional Modelo de Dados Relacional e as Restrições de um Banco de Dados Relacional Modelo de Dados Relacional Conceitos do Modelo Relacional Representa o banco de dados como uma coleção de relações. Comparação

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) Conceitos sobre a versão ANSI da SQL, a sublinguagem de definição de dados (DDL) e a sublinguagem de manipulação de dados (DML) Prof. Flavio Augusto C. Correia 1

Leia mais

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes

Banco de dados 1. Linguagem SQL DDL e DML. Professor: Victor Hugo L. Lopes Banco de dados 1 Linguagem SQL DDL e DML Professor: Victor Hugo L. Lopes Agenda: Introdução à linguagem de dados; DDL; DML; CRUD; Introdução à linguagem SQL. 2 Por que precisamos da linguagem SQL? A algebra

Leia mais

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Introdução à Banco de Dados. Nathalia Sautchuk Patrício Introdução à Banco de Dados Nathalia Sautchuk Patrício Histórico Início da computação: dados guardados em arquivos de texto Problemas nesse modelo: redundância não-controlada de dados aplicações devem

Leia mais

EXEMPLOS DE COMANDOS NO SQL SERVER

EXEMPLOS DE COMANDOS NO SQL SERVER EXEMPLOS DE COMANDOS NO SQL SERVER Gerenciando Tabelas: DDL - DATA DEFINITION LANGUAG Criando uma tabela: CREATE TABLE CLIENTES ID VARCHAR4 NOT NULL, NOME VARCHAR30 NOT NULL, PAGAMENTO DECIMAL4,2 NOT NULL;

Leia mais

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si. NOME: BRUNO BRUNELI BANCO DE DADOS - ADS create database ProducaoMinerais use ProducaoMinerais create table Mineral( nome varchar(15) primary key, preco real) create table Pais( nome varchar(30) primary

Leia mais

SQL DDL Criando Tabelas e Restrições Instituto Militar de Engenharia IME Material extraido parcialmente de notas de aula de Maria Luiza Campos e Arnaldo Vieira Comandos de Definição de Dados Aplicação

Leia mais

EXERCÍCIOS PRÁTICOS. Banco de Dados

EXERCÍCIOS PRÁTICOS. Banco de Dados EXERCÍCIOS PRÁTICOS Banco de Dados Introdução ao uso do SQL Structured Query Language, considerando tanto DDL Data Definition Language quanto DML Data Manipulation Language. Banco de Dados selecionado:

Leia mais

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Banco de Dados. Fernando Fonseca Ana Carolina Introdução Banco de Dados SQL Fernando Fonseca Ana Carolina SQL - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta, permitindo definição (DDL)

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II BANCO DE DADOS II AULA 3 Linguagem SQL Linguagem de manipulação de dados (DML) DISCIPLINA: Banco de

Leia mais

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados SQL (Structured Querie Language) SQL é mais que uma linguagem de interrogação estruturada. Inclui características para a definição da estrutura de dados, para alterar os dados de uma base de dados, e para

Leia mais

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php)

Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. Exemplo Clínica. (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Clínica Todos os exemplos apresentados utilizam o SGBD Postgre - open source Documentação: http://www.postgresql.org/docs (http://bidu.lab.ic.unicamp.br/~celio/metasql.php) Ambulatorios(numero, andar,

Leia mais

PHP INTEGRAÇÃO COM MYSQL PARTE 1

PHP INTEGRAÇÃO COM MYSQL PARTE 1 INTRODUÇÃO PHP INTEGRAÇÃO COM MYSQL PARTE 1 Leonardo Pereira leonardo@estudandoti.com.br Facebook: leongamerti http://www.estudandoti.com.br Informações que precisam ser manipuladas com mais segurança

Leia mais

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Uma expressão básica em SQL consiste em três cláusulas: select, from e where. Introdução a Banco de Dados O.K. Takai; I.C.Italiano; J.E. Ferreira. 67 8 A Linguagem SQL A linguagem SQL é um padrão de linguagem de consulta comercial que usa uma combinação de construtores em Álgebra

Leia mais

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1 Banco de Dados Fundamentos de SQL Structured Query Language Aula2 Apresentado por: Robson do Nascimento Fidalgo rdnf@cin.ufpe.br IF685

Leia mais

Structured Query Language (SQL) Aula Prática

Structured Query Language (SQL) Aula Prática Structured Query Language (SQL) Aula Prática Linguagens de SGBD Durante o desenvolvimento do sistema R, pesquisadores da IBM desenvolveram a linguagem SEQUEL, primeira linguagem de acesso para Sistemas

Leia mais

SQL Structured Query Language

SQL Structured Query Language Janai Maciel SQL Structured Query Language (Banco de Dados) Conceitos de Linguagens de Programação 2013.2 Structured Query Language ( Linguagem de Consulta Estruturada ) Conceito: É a linguagem de pesquisa

Leia mais

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS

UNIVERSIDADE VEIGA DE ALMEIDA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS BANCO DE DADOS CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO CURSO SUPERIOR DE TECNOLOGIA EM PROCESSAMENTO DE DADOS CLAUDIO RIBEIRO DA SILVA MARÇO 1997 2 1 - CONCEITOS GERAIS DE 1.1 - Conceitos Banco de Dados - Representa

Leia mais

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

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 A Linguagem SQL As raízes da linguagem SQL remontam a 1974, altura em que a IBM desenvolvia

Leia mais

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015

SQL - Banco de Dados. Disciplina: Banco de Dados. Professor: José Antônio. José Antônio - CEFET-RN 23/09/2015 SQL - Banco de Dados 1 Disciplina: Banco de Dados Professor: José Antônio 2 Tópicos de discussão Criando um banco de dados Incluindo, atualizando e excluindo linhas nas tabelas Pesquisa básica em tabelas

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL (86); SQL-2 (92); SQL-3 (99) e SQL:2003 não é apenas uma linguagem de consulta! como o nome sugere...

Leia mais

Definida pelo American National Standard Institute (ANSI) em 1986

Definida pelo American National Standard Institute (ANSI) em 1986 2.3. Linguagens Relacionais SQL Structured Query Language Linguagem para o modelo relacional: Definida pelo American National Standard Institute (ANSI) em 1986 Adoptada em 1987 como um standard internacional

Leia mais

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Introdução à Engenharia da Computação. Banco de Dados Professor Machado Introdução à Engenharia da Computação Banco de Dados Professor Machado 1 Sistemas isolados Produção Vendas Compras Banco de Dados Produtos... Banco de Dados Produtos... Banco de Dados Produtos... Desvantagens:

Leia mais

4.6. SQL - Structured Query Language

4.6. SQL - Structured Query Language 4.6. SQL - Structured Query Language SQL é um conjunto de declarações que é utilizado para acessar os dados utilizando gerenciadores de banco de dados. Nem todos os gerenciadores utilizam SQL. SQL não

Leia mais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais 1 LINGUAGEM SQL SQL Server 2008 Comandos iniciais SQL - STRUCTURED QUERY LANGUAGE Quando os Bancos de Dados Relacionais estavam sendo desenvolvidos, foram criadas linguagens destinadas à sua manipulação.

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL- (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos Objetivos: Criar restrições para atributos, chaves primárias e estrangeiras; Explorar consultas SQL com uso de

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Linguagem comercial para BD relacional padrão ISO desde a década de 80 SQL-1 (86); SQL- (9); SQL- (99) não é apenas uma linguagem de consulta! como o nome sugere... Base

Leia mais

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda. SQL comando SELECT Uma das tarefas mais requisitadas em qualquer banco de dados é obter uma listagem de registros armazenados. Estas tarefas são executadas pelo comando SELECT Sintaxe: SELECT [DISTINCT]

Leia mais

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language)

SQL BÁSICO. Introdução. Prof. Suelane Garcia. Linguagem SQL (Structured Query Language) SQL BÁSICO Prof. Suelane Garcia Introdução 2 Linguagem SQL (Structured Query Language) Linguagem de Consulta Estruturada padrão para acesso a Banco de Dados. Usada em inúmeros Sistemas de Gerenciamento

Leia mais

SQL (Structured Query Language)

SQL (Structured Query Language) (Structured Query Language) I DDL (Definição de Esquemas Relacionais)... 2 I.2 Domínios... 2 I.3 Criação de Tabelas... 2 I.4 Triggers... 4 II DML Linguagem para manipulação de dados... 5 II.2 Comando SELECT...

Leia mais

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados SQL. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados SQL João Eduardo Ferreira Osvaldo Kotaro Takai Introdução SQL - Structured Query Language Linguagem declarativa não-procedimental Desenvolvida e implementada pelo laboratório de pesquisa

Leia mais

Núcleo de Pós Graduação Pitágoras

Núcleo de Pós Graduação Pitágoras Núcleo de Pós Graduação Pitágoras Professor: Fernando Zaidan Disciplina: Modelagem e Projeto de Banco de Dados Especialização em Tecnologia da Informação - Ênfases Março- 2009 1 Modelo Físico Introdução

Leia mais

Introdução ao SQL. O que é SQL?

Introdução ao SQL. O que é SQL? Introdução ao SQL 1 O que é SQL? Inicialmente chamada de Sequel, SQL (Structured Query Language), é a linguagem padrão utilizada para comunicar-se com um banco de dados relacional. A versão original foi

Leia mais

SQL (Linguagem de Consulta Estruturada)

SQL (Linguagem de Consulta Estruturada) SQL (Linguagem de Consulta Estruturada) M.Sc. Cristiano Mariotti mscmariotti@globo.com Introdução à SQL 1 Visão Geral Introdução Comandos de Definição de Dados Comandos de Manipulação de Dados Introdução

Leia mais

Banco de Dados. Prof. Antonio

Banco de Dados. Prof. Antonio Banco de Dados Prof. Antonio SQL - Structured Query Language O que é SQL? A linguagem SQL (Structure query Language - Linguagem de Consulta Estruturada) é a linguagem padrão ANSI (American National Standards

Leia mais

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre

BANCO DE DADOS BANCO DE DADOS. Prof. Patrícia Lucas 3º Trimestre BANCO DE DADOS BANCO DE DADOS Prof. Patrícia Lucas 3º Trimestre ROTEIRO PARA O 3º TRIMESTRE 1. O MySQL DDL SQL 1. Como funciona o MySQL 2. Como criar um banco de dados no MySQL 3. Como criar tabelas: comandos

Leia mais

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents

Banco de dados. Linguagens de Banco de Dados II. Wedson Quintanilha da Silva - www.assembla.com/spaces/objetivobd/documents Banco de dados Linguagens de Banco de Dados II 1 Linguagem de Definição de Dados - DDL Comandos utilizados para criação do esquema de dados; Um DDL permite ao utilizador definir tabelas novas e elementos

Leia mais

NOME SEXO CPF NASCIMENTO SALARIO

NOME SEXO CPF NASCIMENTO SALARIO Tutorial SQL Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=2973 Para começar Os Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDr) são o principal mecanismo de suporte ao armazenamento

Leia mais

Fundamentos do Sistema Gerenciador de Banco de Dados

Fundamentos do Sistema Gerenciador de Banco de Dados Fundamentos do Sistema Gerenciador de Banco de Dados Cláudio Luís V. Oliveira Janeiro de 2010 Definição "Um sistema cujo objetivo principal é gerenciar o acesso, a correta manutenção e a integridade dos

Leia mais

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL

Banco de Dados. Marcio de Carvalho Victorino www.dominandoti.eng.br. Exercícios SQL Banco de Dados Exercícios SQL 1 TRF (ESAF 2006) 32. Analise as seguintes afirmações relacionadas a Bancos de Dados e à linguagem SQL: I. A cláusula GROUP BY do comando SELECT é utilizada para dividir colunas

Leia mais

Linguagem SQL Parte I

Linguagem SQL Parte I FIB - Centro Universitário da Bahia Banco de Dados Linguagem SQL Parte I Francisco Rodrigues Santos chicowebmail@yahoo.com.br Slides gentilmente cedidos por André Vinicius R. P. Nascimento Conteúdo A Linguagem

Leia mais

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Agenda Estrutura Básica de consultas SQL: A cláusula SELECT; A cláusula FROM; A cláusula WHERE. Operação com cadeias

Leia mais

Linguagem SQL (Parte I)

Linguagem SQL (Parte I) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte I) Introdução

Leia mais

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) )

CREATE TABLE AUTOR ( cod_autor int not null primary key, nome_autor varchar (60) ) TADS Exercício Laboratório I Analise o modelo de banco de dados abaixo: MUSICA FAIXA Codigo_Musica: INTEGER Nome_Musica: VARCHAR(60) Duracao: NUMERIC(6,2) Codigo_Musica: INTEGER (FK) Codigo_CD: INTEGER

Leia mais

DML - SELECT Agrupando Dados

DML - SELECT Agrupando Dados DML - SELECT Agrupando Dados 1. Apresentação Já conhecemos os comandos básicos de manipulação de dados: insert; delete; update e select. O comando de consulta select utilizado até aqui era aplicado sobre

Leia mais

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:

Leia mais

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML

Banco de Dados I. Linguagem de Consulta (parte I) DDL DML Banco de Dados I Linguagem de Consulta (parte I) DDL DML Linguagem de Consulta:SQL contéudo Structured Query Language Originalmente SEQUEL Structured English Query Language Projeta e Implementada pela

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011 Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE

Leia mais

Junções e Índices em Tabelas

Junções e Índices em Tabelas Junções e Índices em Tabelas Prof. Fernanda Baião fernanda.baiao@uniriotec.com.br SGBD Considerados MySQL (http://www.mysql.org) SGBD gratuito e simples, sem muitos recursos avançados Fácil de instalar

Leia mais

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

Banco de Dados. Módulo 7 - Modelo Relacional. Definição do Esquema Relacional em SQL. modulo07.prz 1 10/09/01 Banco de Dados Módulo 7 - Modelo Relacional Definição do Esquema Relacional em SQL modulo07.prz 1 10/09/01 Introdução SQL linguagem padrão para SGBDs relacionais derivada do SEQUEL (Structured English

Leia mais

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL Criar uma base de dados (criar um banco de dados) No mysql: create database locadora; No postgresql: createdb locadora Criar

Leia mais

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br BANCO DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o American

Leia mais

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

AULA 2 INTERAÇÃO COM O BANCO DE DADOS AULA 2 INTERAÇÃO COM O BANCO DE DADOS BANCO DE DADOS POSTGRESQL O PostgreSQL é um sistema gerenciador de banco de dados dos mais robustos e avançados do mundo. Seu código é aberto e é totalmente gratuito,

Leia mais

BANCO DE DADOS Parte 4

BANCO DE DADOS Parte 4 BANCO DE DADOS Parte 4 A Linguagem SQL Introdução Desenvolvida pelo depto de pesquisa da IBM na década de 1970 (System R) Linguagem padrão de BD Relacionais; Apresenta várias padrões evolutivos: SQL86,

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

1. Domínio dos Atributos

1. Domínio dos Atributos Structure Query Language SQL Guilherme Pontes lf.pontes.sites.uol.com.br 1. Domínio dos Atributos Por domínio, ou tipo, pode-se entender como a maneira como determinado atributo (ou campo, se tratando

Leia mais

SQL (STRUCTUREDQUERY LANGUAGE)

SQL (STRUCTUREDQUERY LANGUAGE) BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SQL (STRUCTUREDQUERY

Leia mais

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.

Banco de Dados. StructuredQuery Language- SQL. Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo. Banco de Dados StructuredQuery Language- SQL Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2015 A Origem Em 1970, Ted Codd (pesquisador da IBM) publicou o primeiro

Leia mais

Disciplina: Unidade V: Prof.: E-mail: Período:

Disciplina: Unidade V: Prof.: E-mail: Período: Encontro 17 Disciplina: Sistemas de Banco de Dados Unidade V: Introdução à Linguagem SQL Prof.: Mario Filho E-mail: pro@mariofilho.com.br Período: 5º. SIG - ADM 13. Introdução à Linguagem SQL Introdução

Leia mais

Tarefa Orientada 15 Manipulação de dados

Tarefa Orientada 15 Manipulação de dados Tarefa Orientada 15 Manipulação de dados Objectivos: Criação de tabelas teste Comando INSERT INTO Inserção de dados Comando INSERT Actualização de dados Comando UPDATE Eliminação de dados Comando DELETE

Leia mais

O que são Bancos de Dados?

O que são Bancos de Dados? SQL Básico Liojes de Oliveira Carneiro professor.liojes@gmail.com www.professor-liojes.blogspot.com O que são Bancos de Dados? É o software que armazena, organiza, controla, trata e distribui os dados

Leia mais

SQL UMA ABORDAGEM INTERESSANTE

SQL UMA ABORDAGEM INTERESSANTE SQL é uma linguagem de consulta estruturada, do inglês Structured Query Language. É uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais