Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução

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

Download "Banco de Dados. Prof. Dr. Joel da Silva SQL - Introdução"

Transcrição

1 1 Banco de Dados Prof. Dr. Joel da Silva SQL - Introdução

2 2 SQL - Introdução SQL-Structured Query Language (Linguagem de Consulta Estruturada) Apesar do QUERY, não é apenas de consulta (inclusão, alteração,...) É fundamentada na álgebra relacional, inclui comandos para: Definição, Consulta e Atualização de dados Histórico: Definição da1 a versão em 1974 IBM chamada SEQUEL 1975 implementado o 1 o protótipo Revisada e ampliada entre 1976/77. Publicada como padrão para SGBDR em 1986 pela ANSI (American National Standards Institute) ANSI equivale a nossa ABNT Mesmo padronizada, existem variações Versões posteriores a de 86 SQL2 e SQL3

3 3 SQL - Propriedades Permitir consultas interativas (query AdHoc) Usuários podem definir consultas poderosas sem a necessidade da criação de programas. Permite acesso e compartilhamento de dados em SGBDR Pode ser embutida em programas de aplicação. Pode ser usada para compartilhar dados Cliente/Servidor Possui comandos para administração do BD O responsável pela administração do banco de dados (DBA) pode utilizar SQL para realizar suas tarefas. Maximiza a interoperabilidade entre SGBDR Heterogêneos A padronização de SQL aumenta a portabilidade entre diferentes SGBDR.

4 SQL - Funções SQL provê suporte a várias funções de um SGBD : DDL (linguagem de definição de dados) Define as tabelas (virtuais ou não) onde os dados serão armazenados. DML (linguagem de manipulação de dados) Permite a inclusão, remoção, atualização e seleção dos dados; DCL (linguagem de controle de dados) Controla o acesso e os privilégios dos usuários, protegendo os dados de manipulações não autorizadas; TML (linguagem de manipulação de transações) Especifica as transações, garantindo o compartilhamento e a integridade dos dados. 4

5 5 SQL - Funções DDL CREATE DROP ALTER DCL GRANT REVOKE SQL DML SELECT INSERT DELETE UPDATE TML COMMIT ROLLBACK

6 6 SQL - Atenção! Cada implementação de SQL possui algumas adaptações para resolver certas particularidades, portanto, qualquer comando mostrado neste curso pode ser usado de forma diferente em um determinado SGBD. Recomenda-se a leitura do manual do fabricante para maiores informações sobre o uso da linguagem SQL em SGBDs comerciais. O SQL usado neste curso será o baseado no Padrão ANSI e nenhuma característica específica de SGBD será abordada A maioria dos SGBDR baseiam-se no SQL ANSI

7 Exemplo Modelos ER & Relacional Autor (1,1) Escreve (1,N) Livro (1,N) Publicado CodAutor Nome Nascimento AUTOR(CodAutor, Nome, Nascimento) CodLivro Titulo CodAutor CodEditora Valor Publicação Volume Idioma (1,1) Editora CodEditora Razao Endereco Cidade LIVRO(CodLivro,Titulo,CodAutor,CodEditora,Valor,Publicacao,Volume,Idioma) CodAutor referencia AUTOR CodEditora referencia Editora EDITORA (CodEditora, Razao, Endereco, Cidade) 7

8 Exemplo Modelos ER & Relacional 8

9 9 SQL - Tipos de Dados Genéricos Cada SGBD tem um conjunto próprio de tipos de dados. Genericamente estes são: Char(X): Para dados caracteres, onde X é o tamanho máximo permitido (tamanho fixo) Varchar(X): Idem o anterior, mas o tamanho é variável. Integer : Para dados numéricos inteiros positivos ou negativos Decimal(X,Y): Pada dados numéricos decimais, onde X é o tamanho máximo permitido da parte inteira e Y é o tamanho máximo da parte fracionária Date: Para datas. Seu formato depende do SGBDR Logical: Para os valores lógicos TRUE ou FALSE.

10 10 DDL - Criando Tabelas CREATE TABLE - Cria uma nova tabela com seus campos e define as restrições de campo. CREATE TABLE Tabela ( Coluna1 Tipo [(Tamanho)] [NOT NULL] [DEFAULT] [...], [,Coluna2 Tipo [(Tamanho)] [NOT NULL] [DEFAULT] [...], [PRIMARY KEY (Primária1[, Primária2 [,...]])] [UNIQUE (Candidata1[, Candidata2[,...]])] [FOREIGN KEY (Estrangeira1[, Estrangeira2 [,...]]) REFERENCES TabelaExterna [(ColunaExterna1 [, ColunaExterna2 [,...]])] [CHECK (condição)] ) Onde : ( ) Indica parte da sintaxe do comando, [ ] Indica opcionalidade do comando,

11 DDL - Criando Tabelas Exemplo: /* Cria tabela autor */ CREATE TABLE AUTOR( CodAutor INTEGER NOT NULL, Nome VARCHAR(45) NOT NULL, Nascimento DATE NOT NULL, PRIMARY KEY (CodAutor)); /* Cria tabela editora */ CREATE TABLE EDITORA( CodEditora INTEGER NOT NULL, Razao VARCHAR(45), Endereco VARCHAR(45), Cidade VARCHAR(45), PRIMARY KEY(CodEditora )); 11

12 DDL - Criando Tabelas Exemplo: /* Cria tabela livro */ CREATE TABLE LIVRO( CodLivro INTEGER NOT NULL, Titulo VARCHAR(45) NOT NULL, CodAutor INTEGER NOT NULL, CodEditora INTEGER NOT NULL, Valor DECIMAL(10,2), Publicacao DATE, Volume INTEGER, Idioma VARCHAR (45), PRIMARY KEY (CodLivro), FOREIGN KEY (CodAutor) REFERENCES AUTOR, FOREIGN KEY (CodEditora) REFERENCES EDITORA); 12

13 13 DDL - Alterando Tabelas ALTER TABLE - permite inserir/eliminar/modificar colunas nas tabelas já existentes ALTER TABLE Tabela {ADD (NovaColuna NovoTipo [BEFORE Coluna] [,...] ) DROP (coluna [,...] ) MODIFY ( Coluna NovoTipo [ NOT NULL ] [,... ] ) } Onde : Indica escolha de várias opções { } Indica obrigatoriedade de escolha de uma opção entre várias OBS: Não se usa NOT NULL juntamente com ADD, quando a tabela já contém registros (a nova coluna é carregada com NULL's) Quando se altera o tipo de dados de uma coluna, os dados são convertidos para o novo tipo. Se diminuir o tamanho de colunas do tipo CHAR, os dados são truncados

14 DDL - Alterando Tabelas Exemplo: /* Adicionar o campo na tabela Autor */ ALTER TABLE AUTOR ADD CHAR(30); /* Modificar o campo na tabela Autor */ ALTER TABLE AUTOR MODIFY CHAR(25); /* ELIMINAR o campo na tabela Autor */ ALTER TABLE AUTOR DROP ; 14

15 15 DDL - Criando Índices CREATE INDEX - Cria um novo índice em uma tabela existente. CREATE [UNIQUE] INDEX Indice ON Tabela (Coluna1 [, Coluna2 ]) Os índices são estruturas que permitem agilizar a busca e ordenação de dados em tabelas Exemplo /* Criar índice do campo razao da tabela editora*/ CREATE UNIQUE INDEX RazaoIDX ON EDITORA (Razao);

16 DDL - Excluindo Tabelas e Índices DROP - Exclui uma tabela ou um índice já existente CUIDADO, pois os dados também são excluídos DROP {TABLE tabela INDEX índice} Exemplo: /* Excluir a tabela livro */ DROP TABLE LIVRO; /* Excluir o indice RazaoIDX da tabela editora */ ALTER TABLE EDITORA DROP INDEX RazaoIDX; 16

17 DML - Inserindo Dados em Tabelas INSERT INTO - Adiciona uma linha ou várias linhas na tabela. INSERT INTO Tabela [(Coluna1[, Coluna2 [,...]])] {VALUES (Valor1[, Valor2[,...]) SELECT Cláusula } OBS: Os dados são inseridos pela ordem especificada. valores para campos CHAR, VARCHAR ou DATE são inseridos entre aspas. Se omitir a lista de colunas, serão selecionadas todas as colunas da tabela, pela sua ordem de criação 17

18 DML - Inserindo Dados em Tabelas Exemplos /* Insere um registro na tabela autor */ INSERT INTO AUTOR( CodAutor, Nome, Nascimento ) VALUES (1, C.J.Date, ); /* Insere um registro na tabela editora */ INSERT INTO EDITORA( CodEditora, Razao, Endereco, Cidade ) VALUES (1, Campos, R. Sete de Setembro,111, Rio de Janeiro ); /* Insere um registro na tabela livro */ INSERT INTO LIVRO VALUES (1, Sistemas de Banco de Dados',1, 1, 17, ' ', 1,'Português'); 18

19 19 DML - Inserindo Dados em Tabelas Exemplos /* Criar a tabela autor velho em seguida inserir nesta tabela os autores Com nascimento < 01/01/1960 */ CREATE TABLE AUTOR_VELHO( CodAutor INTEGER NOT NULL, Nome VARCHAR(45) NOT NULL, Nascimento DATE NOT NULL, PRIMARY KEY (CodAutor)); INSERT INTO AUTOR_VELHO SELECT * FROM AUTOR WHERE Nascimento < ; Mais a frente, o comando SELECT será visto com detalhes

20 DML - Atualizando Dados em Tabelas UPDATE - Com base nos critérios especificados, altera valores de campos de uma tabela. UPDATE Tabela SET Coluna = Valor [WHERE Condição]; Exemplo: - A cláusula WHERE especifica quais dados da coluna serão alterados. Sem esta, todos os dados serão atualizados com o valor especificado. - Mais a frente, WHERE será visto com detalhes. /* Alterar o endereço e cidade da tabela editora com CodEditora = 1 */ UPDATE EDITORA SET Endereco = Av. N.S. de Fátima, 123, Cidade = São Paulo WHERE CodEditora = 1; /* Reajustar o valor de todos os livros em 10% */ UPDATE LIVRO SET Valor = Valor *

21 DML - Excluindo Dados em Tabelas DELETE - Exclui as linhas de uma ou mais tabelas que satisfaçam a condição. DELETE FROM Tabela [WHERE Condição] A cláusula WHERE especifica quais linhas da tabela serão excluídas. Sem esta, todas as linhas da tabela serão excluídas. Exemplo: /* Excluir os registros da tabela autor, onde CodAutor = 1 */ DELETE FROM AUTOR WHERE CodAutor = 1; /* Excluir todos os registros da tabela livro */ DELETE FROM LIVRO; Não é a mesma coisa que DROP TABLE. 21

22 22 DML - Consultando Dados em Tabelas Estrutura Básica SELECT PROJEÇÃO FROM TABELA OU PRODUTO CARTESIANO DELAS WHERE SELEÇÃO SELECT Coluna1[,Coluna2 [,... ] ] FROM Tabela1,[Tabela2 [,... ] ] WHERE Condição

23 23 DML - Consultando Dados em Tabelas Estrutura Genérica SELECT [DISTINCT ALL] { * [Tabela.]Coluna1 [AS Alias1] [ [Tabela.]Coluna2 [AS Alias2] [,...]]} FROM Tabela1 [, Tabela2 [,... ] ] [WHERE {Condição Simples Condição de Sub-consulta} ] [ORDER BY Coluna1 [ASC DESC] [,Coluna2 [ASC DESC] [,... ]]] [GROUP BY Coluna1 [,Coluna2 [,... ]] [HAVING Condição ] ] [ {UNION INTERSECT EXCEPT} SELECT... ]

24 DML - Consultando Dados em Tabelas SELECT/FROM - Projeta os dados da(s) tabela(s), de acordo com os critérios especificados. A projeção do resultado é em uma estrutura tipo tabela Na cláusula SELECT, pode-se utilizar operadores aritméticos e funções de agregações, para projetar cálculos. Oper. Aritméticos + Adição - subtração * Multiplicação / Divisão Funções de Agregação AVG Média MIN Mínimo MAX Máximo COUNT Contar SUM Somar 24

25 25 DML - Consultando Dados em Tabelas Exemplos: /* Projetar todas as informações dos autores */ SELECT CodAutor, Nome, Nascimento FROM AUTOR ; OU SELECT * FROM AUTOR ; O * projeta todas as colunas de todas as tabelas especificadas na cláusula FROM /* Projetar a média dos valores dos livros */ SELECT AVG (Valor) FROM LIVRO; /*Projetar todos os livros(títulos) e seus valores com 10% de desconto*/ SELECT Titulo, Valor - (Valor * 0.1) FROM LIVRO; /* Projetar a quantidade de autores cadastrados */ SELECT COUNT (*) AS QUANTIDADE FROM AUTOR;

26 26 DML - Consultando Dados em Tabelas Em SQL a eliminação de linhas duplicadas não é feita automaticamente, devendo a mesma ser especificada explicitamente. ALL é o padrão quando não especificado DISTINCT. Exemplos: /* Projetar todas as cidades /* Projetar todas as cidades das editoras repetidamente*/ das editoras sem duplicatas */ SELECT ALL Cidade SELECT DISTINCT Cidade FROM EDITORA; FROM EDITORA; OU SELECT Cidade FROM EDITORA;

27 DML - Consultando Dados em Tabelas Uma coluna pode ser especificada pelo nome da sua tabela (Tabela.Coluna), bem como, ser renomeada durante a consulta (Coluna AS ColunaRenomeada) /* Projetar todos os nomes e respectivos nascimentos da tabela autor. NOTE: mesmo especificando Tabela.Coluna, FROM é obrigatório */ SELECT AUTOR.Nome, AUTOR.Nascimento FROM AUTOR; /* Projetar todos os títulos dos livros e seus valores em dobro */ SELECT Titulo, Valor * 2 as Dobro FROM LIVRO; 27

28 28 DML - Consultando Dados em Tabelas WHERE - Especifica quais linhas da(s) tabela(s) listada(s) na cláusula FROM são afetadas pela condição. Se esta não for especificada, a consulta retornará todas as linhas da tabela. Operadores Utilizados Lógicos AND E OR Ou NOT Não Relacionais <> ou!= Diferente = Igual a > Maior que >= Maior ou igual a < Menor que <= Menor ou igual a A condição de WHERE pode ser de três tipos: Comparação Ligação entre tabelas (Join) Sub-Consulta (Sub-Queries)

29 DML - Consultando Dados em Tabelas Comparação Expressão Operador Relacional Expressão A condição é verdadeira quando a 1 a expressão atende ao operador relacional sobre a 2 a /* Projetar livros publicados após 30 de maio de 1993 */ SELECT * FROM LIVRO WHERE Publicacao > ; Expressão [NOT] BETWEEN Expressão AND Expressão A condição é verdadeira quando a 1 a expressão é um valor compreendido entre a 2 a e 3 a expressão (inclusive). /* Projetar livros com valor de a */ SELECT * FROM LIVRO WHERE Valor BETWEEN AND ; 29

30 DML - Consultando Dados em Tabelas Comparação Expressão [NOT] IN (Valores) A condição é verdadeira se o valor da expressão é igual a um dos valores entre parênteses /* Projetar as Editoras com sede em São Paulo ou Rio de Janeiro*/ SELECT * FROM EITORA WHERE Cidade IN ( São Paulo, Rio de Janeiro ); 30

31 DML - Consultando Dados em Tabelas Comparação Coluna [NOT] LIKE Cadeia de Caracteres A condição é satisfeita quando o valor da coluna é igual ao valor da cadeia de caracteres. Caracteres especiais para construção da cadeia de caracteres: % ou * Usado para representar zero ou mais caracteres. _ ou? Usado para representar um caractere. /*Projetar todos os autores cujo nome tenha 10 caracteres e inicie com R*/ SELECT * FROM AUTOR WHERE Nome LIKE R ; /*Projetar todos os livros que tenham Banco de Dados no seu título*/ SELECT * FROM LIVRO WHERE Titulo LIKE %Banco de Dados% ; 31

32 32 DML - Consultando Dados em Tabelas Comparação Coluna IS [NOT] NULL A condição é satisfeita quando o valor da coluna for NULL /*Projetar todos os livros que estão sem preço definido */ SELECT * FROM LIVRO WHERE Valor IS NULL Pode-se misturas os vários tipos de comparação /*Projetar todos os livros que iniciam com R, estão com preço definido e foram publicados depois de 1/1/1995*/ SELECT * FROM LIVRO WHERE Titulo LIKE R% and Valor IS NOT NULL and Publicacao >

33 DML - Consultando Dados em Tabelas Ligação entre tabelas (Join) Diz-se que tabelas estão relacionadas se tiverem campos comuns (ch. primária e ch. estrangeira) O efeito do JOIN é a criação de uma tabela temporária em que cada par de linhas, que satisfação a condição de ligação, são ligados para formar uma única linha. A ligação é sempre estabelecida à frente da cláusula WHERE usando o operador relacional da igualdade (=). FROM estabelece o produto cartesiano entre as tabelas listadas WHERE filtra as linhas úteis segundo a condição especificada 33

34 34 DML - Consultando Dados em Tabelas Ligação entre tabelas (Join) - cont Pode-se misturar as cláusulas de comparação, vistas anteriormente, juntamente com AND, OR e NOT para formar equações de ligações mais complexas Para se ligar várias tabelas, usa-se o operador lógico AND. É preciso ter muito cuidado com os JOINS, pois exigem alto custo de execução (implicam diretamente na performance).

35 DML - Consultando Dados em Tabelas Ligação entre tabelas (Join) - exemplos /* Projetar todos os livros (título) e seus autores (nome) nomeando a tabela para facilitar a digitação*/: SELECT AU.Nome, LI.Titulo FROM AUTOR AU, LIVRO LI WHERE AU.CodAutor = LI.CodAutor; /* Projetar todos os autores (nome), seus livros (título) e editoras (razão), onde a razão da editora seja Campos ou Makron */: SELECT AUTOR.Nome, LIVRO.Titulo, EDITORA.Razao FROM AUTOR, LIVRO, EDITORA WHERE AUTOR.CodAutor = LIVRO.CodAutor AND LIVRO.CodEditora = EDITORA.CodEditora AND EDITORA.Razao IN ( Campos, Makron ); 35

36 36 DML - Consultando Dados em Tabelas Sub-Consulta (Sub-Queries) As sub-consultas podem retornar um valor simples, ou um conjunto de valores Sub-consultas que retornam um valor simples Usadas para fazer comparação elemento-elemento WHERE expressão {= <> > >= < <=} (Sub-Consulta) /*Projetar os livros (título) mais caros que a média*/ SELECT Titulo FROM LIVRO WHERE Valor > (SELECT AVG (Valor) FROM LIVRO) ; A sub-consulta deve retornar uma única tupla. Para isso pode-se usar as funções de agregação (AVG,MIN,MAX,...)

37 37 DML - Consultando Dados em Tabelas Sub-consultas que retornam um conjunto de valores Usadas para fazer comparação elemento-conjunto Podem ser definidas através das cláusulas IN, ANY, ALL e EXISTS. WHERE expressão [NOT] IN (Sub-Consulta) Estabelece uma relação de pertinência ( ) entre elementos e conjuntos (tabelas). Sua avaliação retorna um valor booleano. /*Projetar autores (nome) que possuem livros com valor maior do que 9 reais*/ SELECT Nome FROM AUTOR WHERE CodAutor IN (SELECT CodAutor FROM LIVRO WHERE Valor > 9);

38 DML - Consultando Dados em Tabelas Sub-consultas que retornam um conjunto de valores WHERE expressão { = <> > >= < <= } ANY (Sub-consulta) Verifica se a condição é verdadeira para pelo menos um dos valores retornados pela sub-consulta Permite outras formas de comparação elemento-conjunto. = ANY tem mesmo efeito que IN /*Projetar autores (nome) que possuem livros sem valor*/ SELECT Nome FROM AUTOR WHERE CodAutor = ANY (SELECT CodAutor FROM LIVRO WHERE Valor = 0); /* Projetar o nome de todos os autores, exceto o do mais idoso*/ SELECT Nome FROM AUTOR WHERE Nascimento > ANY (SELECT Nascimento FROM AUTOR) 38

39 DML - Consultando Dados em Tabelas Sub-consultas que retornam um conjunto de valores WHERE expressão { = <> > >= < <= } ALL (Sub-consulta) Verifica se a condição é verdadeira para todos os valores retornados pela sub-consulta. É o oposto de ANY. <> ALL tem mesmo efeito que NOT IN /*Projetar os livros (título) que têm valor maior que todos os livros da editora Makron */ SELECT Titulo FROM LIVRO WHERE Valor > ALL (SELECT Valor FROM LIVRO Li, Editora Ed WHERE Li.CodEditora = Ed.CodEditora AND Ed.Razao = Makron ); 39

40 DML - Consultando Dados em Tabelas Sub-consultas que retornam um conjunto de valores WHERE expressão [NOT] EXISTE (Sub-consulta) Verifica a existência de dados numa lista de valores da subconsulta Retorna VERDADE ou FALSIDADE, conforme a sub-consulta retorne ou não linhas de resultado /*Projete todos os autores que têm livros publicados nas editoras Makron ou Campos*/ SELECT Au.Nome FROM AUTOR Au WHERE EXISTS (SELECT * FROM LIVRO Li, EDITORA Ed WHERE Li.CodAutor=Au.CodAutor AND Li.CodEditora=Ed.CodEditora AND Ed.Razao IN ( Makron, Campos )); 40

41 41 DML - Consultando Dados em Tabelas ORDER BY - Ordenar os resultados pelos valores de uma ou mais colunas. As linhas são ordenadas pela primeira coluna após ORDER BY. Quando as linhas de uma coluna possuem valores iguais, estas serão classificadas pelo valor da segunda coluna após ORDER BY e assim por diante. Tipos de Ordenação: ASC Ascendente DESC Decrescente Exemplo: /* Projetar o nome e o nascimento dos autores em ordem decrescente do nascimento. Para datas iguais, considerar a ordem alfabética do nome do autor*/ SELECT Nome, Nascimento FROM AUTOR ORDER BY Nascimento DESC, Nome ASC;

42 42 DML - Consultando Dados em Tabelas GROUP BY - agrupa os resultados por valores idênticos. Utiliza-da com as funções de agregação, mas pode ser usada sem estas. OBS: Os campos do GROUP BY devem aparecer no SELECT! Exemplos: /* Projetar a média dos valores dos livros por editora */ SELECT EDITORA.Razao, AVG (LIVRO.Valor) FROM LIVRO, EDITORA WHERE LIVRO.CodEditora=EDITORA.CodEditora GROUP BY EDITORA.Razao ; /* Projetar todas as editoras (razão) que publicaram livros */ SELECT EDITORA.Razao FROM LIVRO, EDITORA WHERE LIVRO.CodEditora=EDITORA.CodEditora GROUP BY Editora.Razao;

43 DML - Consultando Dados em Tabelas HAVING - Utilizada para filtrar o resultado dos grupos Só é atendida depois do Agrupamento! Só existe se associada à cláusula GROUP BY (mas o oposto não) Vem depois do GROUP BY e antes do ORDER BY A condição só pode envolver os campos/funções do SELECT Exemplos: /* Projetar as editoras (código), cujo o preço médio dos livros é > 60*/ SELECT CodEditora, AGV(Valor) AS MediaValor FROM LIVRO GROUP BY CodEditora HAVING MediaValor > 60; /* Projetar os autores (nome) que publicaram mais de 3 livros*/ SELECT AUTOR.Nome, COUNT(DISTINCT LIVRO.Titulo) FROM LIVRO, AUTOR WHERE AUTOR.CodAutor = LIVRO.CodAutor GROUP BY AUTOR.Nome HAVING COUNT(DISTINCT LIVRO.Titulo) > 3; 43

44 44 Exercícios Exercícios de Fixação

45 45 DML - Consultando Dados em Tabelas Operações sobre Conjuntos Aplicáveis apenas em tabelas compatíveis UNION ( ) - Faz a união, eliminando linhas repetidas. Acrescenta-se ALL para manter as linhas repetidas INTERSECT ( ) - Retorna apenas as linhas que pertencem às duas tabelas EXCEPT ( ) - Retorna apenas as linhas que pertencem à primeira tabela, com exceção das que aparecem na segunda.

46 46 DML - Consultando Dados em Tabelas Considere: MEDICO (CodMedico, Nome, CRM) e PACIENTE (CodPaciente, Nome); DEPOSITANTE (CPF, Nome, Agencia, Conta) e DEVEDOR (CPF, Nome, Agencia, Conta). UNION /* Projetar o nome de todas as pessoas cadastradas no hospital */ (SELECT Nome FROM MEDICO) UNION (SELECT Nome FROM PACIENTE); /* Projetar todos os clientes da agência A1 com empréstimo ou depósito */ (SELECT * FROM DEPOSITANTE WHERE Agencia = A1 ) UNION ALL (SELECT * FROM DEVEDOR WHERE Agencia = A1 );

47 DML - Consultando Dados em Tabelas Considere: MEDICO (CodMedico, Nome, CRM) e PACIENTE (CodPaciente, Nome); DEPOSITANTE (CPF, Nome, Agencia, Conta) e DEVEDOR (CPF, Nome, Agencia, Conta). INTERSECT /* Projetar o nome de todas as pessoas que são médicos e pacientes ao mesmo tempo*/ (SELECT Nome FROM MEDICO) INTERSECT (SELECT Nome FROM PACIENTE); /*Projetar todos os clientes da agência A1 com empréstimo e depósito */ (SELECT * FROM DEPOSITANTE WHERE Agencia = A1 ) INTERSECT (SELECT * FROM DEVEDOR WHERE Agencia = A1 ); 47

48 48 DML - Consultando Dados em Tabelas Considere: MEDICO (CodMedico, Nome, CRM) e PACIENTE (CodPaciente, Nome); DEPOSITANTE (CPF, Nome, Agencia, Conta) e DEVEDOR (CPF, Nome, Agencia, Conta). EXCEPT /* Projetar o nome de todas as pessoas que são médicos e não são pacientes */ (SELECT Nome FROM MEDICO) EXCEPT (SELECT Nome FROM PACIENTE); /*Projetar todos os clientes da agência A1 com conta e sem empréstimo */ (SELECT * FROM DEPOSITANTE WHERE Agencia = A1 ) EXCEPT (SELECT * FROM DEVEDOR WHERE Agencia = A1 );

49 49 DDL - Manipulando Visões VISÕES: São tabelas virtuais que não ocupam espaço físico Após definida uma visão, qualquer operação de consulta pode ser aplicada sobre ela. Consultas sobre visões são escritas da mesma forma como para uma tabela qualquer Operações realizadas sobre uma visão refletem as tabelas físicas das quais elas derivam. São ótimas para substituir consultas freqüentemente usadas

50 50 DDL - Manipulando Visões Permite personalizar tabelas de acordo com o perfil do usuário Pode-se fazer uma visão de uma outra visão A Remoção de uma visão é em cascata SINTAXES: Criar Visão CREATE VIEW Visão [Colunas] AS ExpressãoConsulta Remover Visão DROP VIEW Visão

51 DDL - Manipulando Visões Exemplos: /*Criar visão dos clientes que tem conta ou empréstimo no banco*/ CREATE VIEW TodosClientes as UNION (SELECT * FROM DEPOSITANTE) (SELECT * FROM DEVEDOR); /*Criar visão dos livros da editora Makron com 10% de desconto*/ CREATE VIEW LivrosMakron10 (CodLivro, Titulo, Valor10) as (SELECT CodLivro, Titulo, Valor - (Valor * 0.1) FROM LIVRO, Editora WHERE LIVRO.CodEditora = EDITORA.CodEditora AND EDITORA.Razao = Makron ); 51

52 52 DDL - Manipulando Visões Exemplos: /*Criar visão para todos os clientes da agência A1*/ CREATE VIEW TodosClientesA1 as (SELECT * FROM TodosClientes WHERE Agencia = A1 ); /*Projetar os livros (título e Valor) da visão LivrosMakron10 acima da média*/ SELECT Titulo, Valor FROM LivrosMakron10 WHERE Valor > AVG(Valor)); /*Remover a visão TodosClientes*/ DROP VIEW TodosClientes; /*Remover a visão LivrosMakron*/ DROP VIEW LivrosMakron; Isso remove TodosClientesA1 também! (remoção em cascata)

53 DCL - Autorizações de Acesso SGBDR podem ser acessados por diversos usuários. Cada usuário tem um determinado perfil em relação aos dados das tabelas ou visões. Alguns usuários só podem consultar, outros atualizar e consultar, outros só inserir,outros podem tudo (DBA), etc. Objetivo: proteger os dados do uso indevido de qualquer usuário Os privilégios garantem segurança e integridade dos dados, bem como a responsabilidade de cada usuário sobre seus dados específicos. Comandos: GRANT e REVOKE 53

54 54 DCL - Autorizações de Acesso GRANT Atribui privilégios de utilização das tabelas ou visões de uma base de dados. GRANT Privilégios ON Tabelas/Visões TO LoginUsuários Privilégios podem ser: Select: pode executar uma consulta sobre a tabela Insert: pode executar uma inserção sobre a tabela Delete: pode apagar registros da tabela Update: pode modificar registros da tabela All Privileges: pode executar qualquer operação sobre a tabela Exemplos: GRANT SELECT ON LIVRO, AUTOR TO Paulo, Pedro GRANT SELECT, INSERT, UPDATE ON TodosClientes TO Ana GRANT ALL PRIVILEGES ON DEPOSITANTE TO PUBLIC PUBLIC = Todos os usuários da base de dados

55 DCL - Autorizações de Acesso REVOKE Revoga os privilégios de acesso aos usuários. REVOKE Privilégios ON Tabelas/Visões FROM LoginUsuários Exemplos: REVOKE SELECT ON LIVRO, AUTOR FROM Paulo, Pedro REVOKE SELECT, INSERT, UPDATE ON TodosClientes FROM Ana REVOKE ALL PRIVILEGES ON DEPOSITANTE FROM PUBLIC 55

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha

Fundamentos de SQL. Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha Fundamentos de SQL Curso: Técnico em Redes de Computadores Disciplina: Tecnologias e Linguagem de Banco de dados Professor: Rodrigo da Rocha SQL - Introdução SQL-Structured Query Language (Linguagem de

Leia mais

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

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 SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

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

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais Linguagem de Consulta SQL Profa. Carla A. Lima Reis SQL Agenda Introdução Histórico BD relacionais Linguagem SQL Definição de BD Manipulação de BD com SQL Consultas SQL Consultas com várias tabelas Subconsultas

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

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

BCD29008 Banco de dados

BCD29008 Banco de dados BCD29008 Banco de dados Linguagem SQL Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de agosto de 2017

Leia mais

A linguagem SQL

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

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

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO... Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@facom.ufu.br Bloco B - sala 1B137 SQL DML CONTINUAÇÃO...

Leia mais

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

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; MySQL SQL (Structured Query Languagem ) Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José; Inicialmente - Sequel

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

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

MySql. Introdução a MySQL. Andréa Garcia Trindade MySql Introdução a MySQL Andréa Garcia Trindade Introdução O que é Banco de Dados SGBD MYSQL Tipos de Tabelas Tipos de Dados Linguagem SQL Comandos SQL O que é um Banco de Dados? Conjuntos de dados Grupo

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

Leia mais

GBC043 Sistemas de Banco de Dados

GBC043 Sistemas de Banco de Dados Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Avisos Vista da prova 1 com

Leia mais

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho Laboratório de Banco de Dados II Aula 04 Prof. Érick de Souza Carvalho 1 SQL (Structured Query Language ) Prof. Érick de Souza Carvalho 2 SQL Structured Query Language - Introdução É uma Linguagem para

Leia mais

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL.

Discussão exercício aula 18. SQL Linguagem de Manipulação de Dados. Discussão exercício aula 18. Discussão exercício aula 18 SQL. Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Discussão exercício aula 18 Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137

Leia mais

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação Criar um banco de dados denominado Escola ; Criar a tabela, como especificado abaixo: # RA Numeric(8) Nome Serie Turma

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

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

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO Disciplina: Banco de Dados I Professor: Prof. Me. Everton

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 BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer

SQL BÁSICO. Luiz Antônio Vivacqua Corrêa Meyer SQL BÁSICO Luiz Antônio Vivacqua Corrêa Meyer SQL (Structured Query Language) Início na década de 70 pela IBM com o nome de SEQUEL. Em 1980 o produto mudou seu nome para SQL. American National Standards

Leia mais

Bancos (Bases) de Dados

Bancos (Bases) de Dados Bancos (Bases) de Dados Aula #8 SQL Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza SQL (Structured Query Language) Linguagem

Leia mais

IMPLEMENTAÇÃO DE BANCO DE DADOS

IMPLEMENTAÇÃO DE BANCO DE DADOS IMPLEMENTAÇÃO DE BANCO DE DADOS MODULO 2 LINGUAGEM SQL CONTEÚDO 2. LINGUAGEM SQL 2.1 Linguagens de Definição de Dados (DDL) 2.1.1 Criação de tabela: CREATE 2.1.2 Alteração de Tabela: ALTER 2.1.3 Exclusão

Leia mais

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language) AULA 8 8.1. OBJETIVO DA AULA Relembrar conceitos e recursos básicos apresentados nas aulas anteriores, dar continuidade nas codificações iniciadas e ainda não finalizadas, explorar acesso a banco de dados

Leia mais

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R

E-BOOK GUIA RÁPIDO DE SQL W W W. T R E I N A W E B.C O M. B R 101010101 001010101 101010100 E-BOOK GUIA RÁPIDO DE SQL INTRODUÇÃO Este é um guia rápido de SQL criado pela equipe do TreinaWeb e serve principalmente para iniciantes na linguagem. SQL é a sigla em inglês

Leia mais

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

Introdução ao Banco de Dados. Banco de Dados Introdução ao Banco de Dados Prof. Tiago Garcia de Senna Carneiro UFOP Prof. Técnicas de Programação II 2006 PARTE 1: Conceitos Básicos Banco de Dados SGDB: Sistema Gerenciador de Banco de Dados Definição:

Leia mais

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

Sistemas de Informação e Bases de Dados 2012/2013. Linguagem SQL 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

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 Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional em Ensino

Leia mais

A linguagem SQL

A linguagem SQL 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 recebeu o nome de

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

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

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: andre_luiz@icmc.usp.br erh@icmc.usp.br Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS SQL FELIPE G. TORRES SQL A linguagem SQL (Struct Query Language) é utilizada como padrão em bancos de dados relacionais. Seu desenvolvimento foi originalmente no início

Leia mais

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018 2 Escreva

Leia mais

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018 Linguagem de Manipulação de Dados (DML) Estudo Dirigido A Linguagem SQL Preparação criar tabela Criar um novo arquivo de banco de dados chamado Escola Criar a tabela, como especificado abaixo: Create table

Leia mais

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

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 PROGRAMA 3.SQL Básico 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação 1 3.SQL Básico A linguagem SQL foi desenvolvida para o ambiente relacional, podendo ser adaptada a ambientes

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A BANCO DE DADOS GERENCIAL 1 A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A CONCEITOS LINGUAGEM DE MANIPULAÇÃO DE DADOS (DML) A linguagem

Leia mais

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

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

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) 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

BANCO DE DADOS PARA NINJAS

BANCO DE DADOS PARA NINJAS BANCO DE DADOS PARA NINJAS PARANGABA RONNISON REGES VIDAL Ceará, 25 de Outubro de 2016 ROTEIRO l Conhecimento Pra que usar? Ferramentas SGBD's Consultas (Jutsu) Linguagem de Consulta PRA QUE USAR? PRA

Leia mais

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 Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea BANCO DE DADOS Prof. Fabiano Taguchi http://fabianotaguchi.wordpress.com fabianotaguchi@hotmail.com SQL A Structed Query Language foi desenvolvida em 1974 nos laboratório da IBM em San José na Califórnia,

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

Revisão Banco de Dados

Revisão Banco de Dados Revisão Banco de Dados Carlos Henrique - Aula 2 Descoberta de Conhecimento e Mineração de Dados Tópicos Abordados Conceitos Básicos Características Arquitetura Lógica Usuários Finais Modelo E/R Linguagens

Leia mais

Banco de Dados. Linguagem SQL

Banco de Dados. Linguagem SQL Banco de Dados Linguagem SQL 1 A linguagem SQL: história Em junho de 1970, o matemático Edgar Frank Codd, publicou o artigo "A Relational Model of Data for Large Shared Data Banks" na revista "Communications

Leia mais

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

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

BANCO DE DADOS PARA WEB

BANCO DE DADOS PARA WEB BANCO DE DADOS PARA WEB PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com fabianotaguchi@gmail.com BANCO DE DADOS O banco de dados será de fundamental importância para a criação de páginas dinâmicas,

Leia mais

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) 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

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

Avisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas

Avisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas Ciência da Computação GBC043 Sistemas de Banco de Dados Avisos SQL: Visões Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019 Cronograma das próximas aulas

Leia mais

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

'%'! $!0 $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,/)!)+,/)% *! +,0''% * %$!*!$$ #!%&%'%'%$! 94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31? MODELAGEM FÍSICA Capítulo 3! " # $ $!%%%& '$! $% $$%"%' ) ' *'!%'!$ $ $ $% +, %#!!" '$*'#%! $ $$%" % '$%!!% $% * % $ *-! %$% $!* '% $!$$.!'% & $%!% $ $ ' %/!$ 0 $*' $% *0 )#%!$0% 1&$$$%+#!*22,"$% )'%$$%%&

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

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

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

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única

saída durante o runtime Usando Functions de uma Única Linha para Personalizar Relatórios Mostrar as diferenças entre as functions SQL de uma única Tópicos do Curso: Introdução Listar os principais recursos do Banco de Dados Oracle 10g Apresentar uma visão geral de: componentes, plataforma de internet, servidor de aplicações e suite do desenvolvedor

Leia mais

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

Roteiro. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada 1 Ciência da Computação GBC043 Sistemas de Banco de Dados SQL Linguagem de Manipulação de Dados Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 Roteiro s aulas passadas SQL

Leia mais

SQL Linguagem de Definição de Dados

SQL Linguagem de Definição de Dados SQL Linguagem de Definição de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Structured Query Language Uma das mais importantes linguagens relacionais (se não a mais

Leia mais

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Objetivo: No curso Oracle 11G Introdução ao Oracle, SQL, PL/SQL será abordado desde a introdução da tecnologia do banco de dados em questão como todos os conceitos

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

mod._1_teoria_sistemas de bancos de dados.doc

mod._1_teoria_sistemas de bancos de dados.doc SISTEMAS DE BANCOS DE DADOS Os Sistemas de Bancos de Dados apareceram para acabar com os problemas e desvantagens dos tradicionais Sistemas de Processamento de Arquivos, onde os registros permanentes eram

Leia mais

- Um "query block" permite a implementação das operações de selecção, projecção e junção da álgebra relacional.

- Um query block permite a implementação das operações de selecção, projecção e junção da álgebra relacional. 2.3 Linguagens relacionais (continuação) SQL Structured Query Language 1) "Query block" Select From Where - Um "query block" permite a implementação

Leia mais

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões Ciência da Computação GBC043 Sistemas de Banco de Dados Roteiro SQL: Visões Consultas Avançadas Visões Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2018

Leia mais

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

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de Introdução O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de padrão SQL (Structured Query Language). O padrão SQL define precisamente uma interface SQL para a

Leia mais

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

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010 Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)

Leia mais

Manipulando a base de dados

Manipulando a base de dados Manipulando a base de dados Uma base de dados pode ser manipulada com quatro operações básicas: Incluir, Apagar, Alterar e Pesquisar. Vale lembrar que como toda linguagem para computadores, o MySQL tem

Leia mais

Linguagem de Consulta Estruturada (SQL)

Linguagem de Consulta Estruturada (SQL) Linguagem de Consulta Estruturada (SQL) SQL SQL (Structured Query Language), ou Linguagem de Consulta Estruturada. Usada em Bancos de Dados Relacionais. É padronizada (SQL ANSI). ANSI (American National

Leia mais

Bases de Dados. DDL Data Definition Language

Bases de Dados. DDL Data Definition Language Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada

Leia mais

Marcelo Henrique dos Santos

Marcelo Henrique dos Santos Mestrado em Educação (em andamento) MBA em Marketing e Vendas (em andamento) Especialista em games Bacharel em Sistema de Informação Email: marcelosantos@outlook.com AULA 03 SQL (Structure Query Language)

Leia mais

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

SQL S Q L. Introdução. Enfoques de SQL. SQL - Origem/Histórico. Usos de SQL. SQL - Vantagens. Gerenciamento de Dados e Informação Introdução Gerenciamento de Dados e Informação Fernando Fonseca Ana Carolina Robson Fidalgo - Structured Query Language Linguagem de Consulta Estruturada Apesar do QUERY no nome, não é apenas de consulta,

Leia mais

Múltiplas Tabelas. Disciplina de Banco de Dados

Múltiplas Tabelas. Disciplina de Banco de Dados Múltiplas Tabelas Uma das grandes características de um sistema de banco de dados relacional é a capacidade de interagir com múltiplas tabelas relacionadas. Precisamos lembrar que para relacionar tabelas

Leia mais

Modelo Entidade-Relacionamento (E-R)

Modelo Entidade-Relacionamento (E-R) Modelo Entidade-Relacionamento (E-R) composto n lote n n n contrato_compra_venda n possui proprietário possui n associado cadastro n banco faz fronteira pertence n ruas n quadras n financiado empréstimo

Leia mais

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

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza DML Data Manipulation Language Linguagem de Manipulação de Dados Comandos básicos: Insert Update

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

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

SQL Básica DML. Prof. Marcos A. Schreiner. 22 de outubro de Curso de Licenciatura em Computação SQL Básica DML Prof. Marcos A. Schreiner Curso de Licenciatura em Computação 22 de outubro de 2015 Prof. Marcos A. Schreiner (UFPR) 22 de outubro de 2015 1 / 16 1 Introdução 2 SQL DML INSERT SELECT UPDATE

Leia mais

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

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT 2) Componentes do Select: - DISTINCT - WHERE - AND e OR - ORDER BY 2) Visão Geral - A SQL é dividida em

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

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011

Banco de Dados I. Aula 14 - Prof. Bruno Moreno 11/10/2011 Banco de Dados I Aula 14 - Prof. Bruno Moreno 11/10/2011 Plano de Aula INSERT UPDATE SELECT-FROM-WHERE Uso de ALIASES SELECT com * DISTINCT Operações de Conjuntos Comparação entre substrings Operadores

Leia mais

Revisão de Bancos de Dados

Revisão de Bancos de Dados Revisão de Bancos de Dados Conceitos Básicos 1. Defina o que é um banco de dados e o que é um sistema gerenciador de bancos de dados (SGBD). 2. Defina as arquiteturas de software em duas camadas (cliente/servidor)

Leia mais

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

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM 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

Leia mais

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

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

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

Unidade 5 05/11/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 5 5.1 Conceitos do projeto físico.

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

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

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 16. Escola Politécnica da Universidade de São Paulo PCS3413 Engenharia de So-ware e Banco de Dados Aula 16 Escola Politécnica da Universidade de São Paulo 1 SQL - STRUCTURED QUERY LANGUAGE SQL - Structured Query Language Linguagem de acesso a Banco de Dados

Leia mais

BANCO DE DADOS GERENCIAL 1 A U L A 2

BANCO DE DADOS GERENCIAL 1 A U L A 2 BANCO DE DADOS GERENCIAL 1 A U L A 2 N Í V E I S D E V I S Ã O, S U B G R U P O D D L : C R I A N D O B A N C O D E D A D O S, C R I A N D O T A B E L A S, E S T R U T U R A D A T A B E L A CONCEITOS :

Leia mais

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

SQL PostgreSQL. I Criação de Tabelas. Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida SQL PostgreSQL I Criação de Tabelas Disciplina: SCC0241 Bases de Dados Professor: Eduardo Hruschka Estagiária PAE: Dayse de Almeida Composição da SQL Linguagem de Definição de Dados (DDL): Comandos para

Leia mais

Modelagem Física e SQL

Modelagem Física e SQL Programação em Banco de Dados - Parte 1 Modelagem Física e SQL Prof. Pablo Passos prof.pablo.passos@gmail.com SQL - Um modelo físico é gerado a partir de um modelo lógico já construído. A geração dos objetos

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

TLBD II Instruções SQL

TLBD II Instruções SQL TLBD II Instruções SQL Os comandos SQL podem dividir-se em três grandes categorias: DML - Data Manipulation Language - trabalha com linhas; DDL - Data Definition Language - trabalha com objetos; DCL -

Leia mais

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas

Linguagem SQL. ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas Linguagem SQL ENG1518 Sistemas de Informação Gerenciais Prof. Marcos Villas villas@puc-rio.br SQL Linguagem padrão de acesso tabelas em um banco de dados relacional Permite definir e manipular dados DML

Leia mais

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

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD. Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que

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

Introdução a Bancos de Dados

Introdução a Bancos de Dados Introdução a Bancos de Dados - Conceitos - Modelos lógicos e relacional - Álgebra relacional - SQL - Projeto Lógico INPE - Divisão de Processamento de Imagens INPE 1 Sistemas de Banco de Dados Definição:

Leia mais

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome> 1. Manuseio do banco de dados MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS As seguintes instruções manuseiam o banco de dados: cria o banco mostra os bancos

Leia mais

L Q S m e g a u g n Li A

L Q S m e g a u g n Li A A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

SQL. Prof. Msc Denival A. dos Santos

SQL. Prof. Msc Denival A. dos Santos SQL Prof. Msc Denival A. dos Santos Histórico A versão original foi desenvolvida pela IBM no laboratório de pesquisa de San José; Originalmente chamada de Sequel, foi implementada como parte do projeto

Leia mais