SQL. Introdução. Por que SQL? Setenças Select-From-Where

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

Download "SQL. Introdução. Por que SQL? Setenças Select-From-Where"

Transcrição

1 Introdução SQL Bancos de Dados I Altigran Soares da Silva IComp/UFAM 2013/02 Adaptado do Material do Professor Jeffrey Ullman Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 q SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado pelo ANSI/ISO: q SQL1 (SQL-86) q SQL2 (SQL-92) q SQL3 (SQL:1999) Por que SQL? SQL é uma linguagem de alto nível. q Diz o que fazer em vez de como fazer q Evita que seja necessário conhecer de detalhes de como manipular os dados. SGBD procura a melhor maneira de executar a consulta. q Otimização de Consulta. Setenças Select-From-Where SELECT atributos desejados FROM uma ou mais tabelas WHERE condição sobre as tuplas da(s) tabela(s) 3 4

2 Esquema de Exemplo Todas nossas consultas SQL serão baseadas no seguinte Esquema. q Sublinhado indica chave. Beers(name, manf) Bars(name, addr, license) Drinkers(name, addr, phone) Likes(drinker, beer) Sells(bar, beer, price) Frequents(drinker, bar) Exemplo Usando Beers(name, manf), quais cervejas (beers) são feitas por Anheuser-Busch? SELECT name FROM Beers WHERE manf = Anheuser-Busch ; 5 6 Resultado da Consulta name Bud Bud Lite Michelob... A resposta é uma Relação com um único atributo : name e tuplas com valor de name de cada cerveja do fabricante Anheuser-Busch, tal como Bud. Definindo uma consulta usando uma única relação Inicie com a Relação na cláusula FROM. Aplique a seleção indicada pela cláusula WHERE. Aplique a projeção extendida indicada pela cláusula SELECT. SELECT name FROM Beers WHERE manf = Anheuser-Busch ; 7 8

3 Semântica Operacional name manf Bud Anheuser-Busch Inclue t.name no resultado, se atender a condição Tupla-variável t Loop em todas as tuplas Verifica se é Anheuser-Busch Semântica Operacional (Geral) Imagine uma variável tupla visitando cada tupla da Relação mencionada em FROM. Verifica se a tupla corrente satisfaz a cláusula WHERE. Se sim, computa os atributos ou expressões da cláusula SELECT usando os componente da tupla. SELECT name FROM Beers WHERE manf = Anheuser-Busch ; 9 10 * Nas cláusula SELECT Quando um * for utilizado na cláusula SELECT para uma relação definida na cláusula FROM, significa que todos atributos desta relação serão utilizados. Exemplo: Usando Beers(name, manf): SELECT * FROM Beers WHERE manf = Anheuser-Busch ; Resultado da Consulta: SELECT * FROM Beers WHERE manf = Anheuser-Busch ; name manf Bud Anheuser-Busch Bud Lite Anheuser-Busch Michelob Anheuser-Busch 11 12

4 Renomeando Atributos Caso se deseje um resultado com nome de atributos diferentes, usa-se AS <novo nome> para renomear um atributo. Exemplo: Usando Beers(name, manf): SELECT name AS beer, manf FROM Beers WHERE manf = Anheuser-Busch Resultado da Consulta: SELECT name AS beer, manf FROM Beers WHERE manf = Anheuser-Busch beer Bud manf Anheuser-Busch Bud Lite Anheuser-Busch Michelob Anheuser-Busch Expressões em cláusula SELECT Qualquer expressão que faça sentido pode aparecer como um elemento da cláusula SELECT. Resultado da Consulta SELECT bar, beer, price*114 AS priceinyen FROM Sells; Exemplo: Usando Sells(bar, beer, price): SELECT bar, beer, price*114 AS priceinyen FROM Sells; bar beer priceinyen Joe s Bud 285 Sue s Miller

5 Exemplo: Constantes como Expressões Usando Likes(drinker, beer): Resultado da Consulta SELECT drinker, likes Bud AS wholikesbud FROM Likes WHERE beer = Bud ; SELECT drinker, likes Bud AS wholikesbud FROM Likes WHERE beer = Bud ; drinker wholikesbud Sally likes Bud Fred likes Bud Condições Complexas no WHERE Exemplo: Condição Complexa Operadores Booleanos AND, OR, NOT. Comparações =, <>, <, >, <=, >=. q E muitos outros operadores que produzem um resultado boleano. Usando Sells(bar, beer, price), procure o preço da cerveja Bud em Joe s Bar: SELECT price FROM Sells WHERE bar = Joe s Bar AND beer = Bud ; 19 20

6 Padrões Exemplo: LIKE Uma condição pode comparar uma string com um padrão: q <Attribute> LIKE <pattern> or <Attribute> NOT LIKE <pattern> Pattern é uma string iniciada com % = qualquer string ; _ = qualquer character. Usando Drinkers(name, addr, phone) procure os drinkers com phones inicados com 555: SELECT name FROM Drinkers WHERE phone LIKE %555- ; Valores NULL Independente de seu domínio, os atributos pode assumir valor NULL Dependendo do Contexto. Dois casos comuns: q Faltando valor : e.x:., Sabe-se que o Joe s Bar tem algum endereço, mas não sabemos qual. q Não aplicável: e.x., O valor do atributo conjuge para uma pessoa que não é casada. Comparando NULL com Valores A lógica das condições em SQL aceitam 3 valores lógicos: TRUE, FALSE, UNKNOWN. Comparando qualquer valor (incluindo o próprio NULL) com NULL retorna UNKNOWN. Uma tupla está na resposta a uma consulta, se a cláusula WHERE é verdadeira (not FALSE ou UNKNOWN)

7 Consultas em Multiplas relações Exemplo: Junção de Duas Relações Consultas interessantes frequentemente combinam dados de mais de uma relação. Podemos usar diversas relações em uma consulta, listando-as na cláusula FROM. Atributos distintos com mesmo nome pode ser referenciados usando <relation>.<attribute>. Usando as relações Likes(drinker, beer) e Frequents(drinker, bar), procure os apreciadores de cerveja que frequentam o Joe s Bar. SELECT beer FROM Likes, Frequents WHERE bar = Joe s Bar AND Frequents.drinker = Likes.drinker; Semântica Formal Semântica Operacional Parecido com consultas por uma única relação: 1. Inicia com o produto cartesiano de todas as relações na cláusula FROM. 2. Aplica a condição de seleção descritas na cláusula WHERE. 3. Projeta em cima da lista de atributos e expressões da cláusula SELECT. Imagine uma tupla-variável para cada relação na cláusula FROM. q Estas tuplas-variáveis consultam cada combinação de tuplas, uma de cada relação. Se a tupla-variável satisfaz a cláusula WHERE, então envia esta tupla para a cláusula SELECT

8 Exemplo Tupla-Variáveis Explicitas drinker bar drinker beer tv1 tv2 Sally Bud Sally Joe s Frequentadores check for Joe Checa se é igual Likes vai para o resultado Algumas vezes, uma consulta precisa usar duas cópias da mesma relação. Cópias distintas seguem o nome da relação para o nome de uma tuplavariável, na cláusula FROM. Isto é uma opção para renomear relações, até mesmo quando isso não é essencial Exemplo: Self-Join Da relação Beers(name, manf), procure os pares de cervejas fabricadas pelo mesmo fabricante. q Pares como (Bud, Bud) não devem aparecer SELECT b1.name, b2.name FROM Beers b1, Beers b2 WHERE b1.manf = b2.manf AND b1.name < b2.name; Sub-Consultas Colocando entre parentenses, uma sentença SELECT-FROM-WHERE (subconsulta ) pode ser usada como valor em vários de lugares, incluindo em cláusulas FROM e WHERE. Exemplo: No lugar de uma relação na cláusula FROM, podes-se usar uma subconsulta e então usar seu resultado. q Deve usar uma tupla-variável para o nome das tuplas do resultado

9 Exemplo: Sub-consulta em FROM Procure as cervejas curtidas por pelo menos uma pessoa que frequenta o Joe s Bar. SELECT beer FROM Likes, (SELECT drinker FROM Frequents Drinkers que frequentam Joe s Bar WHERE bar = Joe s Bar )JD WHERE Likes.drinker = JD.drinker; Subconsultas que retornam uma tupla Se uma subconsulta é garantidamente produz uma única tupla, então a subconsulta pode ser usada como um valor q Normalmente, a tupla tem um componente. q Um erro em tempo de execução ocorre, caso não exista tupla ou exista mais que uma tupla Exemplo Exemplo Usando Sells(bar, beer, price), procure os bares que servem Miller pelo mesmo preço que Joe cobra por uma Bud. Duas consultas poderiam funcionar: 1. Procure o preço cobrado por Joe para Bud. 2. Procure os bares que servem Miller com este preço. SELECT bar FROM Sells WHERE beer = Miller AND O preço pelo qual Joe vende Bud price = (SELECT price FROM Sells WHERE bar = Joe s Bar AND beer = Bud ); 35 36

10 O operador IN <tupla> IN (<subconsulta>) é verdadeira, se e somente se a tupla é um membro da relação produzida por uma subconsulta. q Oposto: <tupla> NOT IN (<subconsulta>). Expressões usando IN podem aparecer em cláusulas WHERE Exemplo: IN Usando Beers(name, manf) e Likes(drinker, beer), procure o nome e fabricante de cada cerveja que Fred gosta. SELECT * FROM Beers WHERE name IN (SELECT beer Conjunto de cervejas Que Fred gosta FROM Likes WHERE drinker = Fred ); IN é um predicado sobre Tuplas SELECT a FROM R, S WHERE R.b = S.b; SELECT a FROM R WHERE b IN (SELECT b FROM S); SELECT a FROM R WHERE b IN (SELECT b FROM S); Um laço sobre as tuplas da relação R a b R b c S (1,2) satisfaz a condição; 39 40

11 O operador Exists SELECT a FROM R, S WHERE R.b = S.b; Duplo laço, sobre as tuplas de R e S a b R b c S (1,2) com (2,5) e (1,2) com (2,6) ambos Satisfazem a condinção; EXISTS(<subconsulta>) é verdadeiro se e somente se o resultado da subconsulta não é vazio. Exemplo: Usando Beers(name, manf), procure as cervejas que são únicas por fabricante Exemplo: EXISTS Operador ANY Conjunto de cervejas com O mesmo fabricante como em b1, mas com cervejas diferentes SELECT name FROM Beers b1 WHERE NOT EXISTS ( SELECT * FROM Beers WHERE manf = b1.manf AND name <> b1.name); <ANY é usado para encontrar tuplas que tenham valores menores que o maior valor retornado por uma subconsulta. >ANY é usado para retornar tuplas que tenham valores maiores que o menor valor retornado de uma subconsulta =ANY funciona da mesma maneira que o operador IN

12 Operador =ANY SELECT SNAME FROM S WHERE S# = ANY (SELECT S# FROM SP S# S1 S2 S3 S4 S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens WHERE P# = P2 ); RESULTADO SP S# P# QTY S1 P1 300 S1 P2 200 S1 P3 400 S1 P4 200 S1 P5 100 S1 P6 100 S2 P1 300 S2 P2 400 S3 P2 200 S4 P2 200 S4 P4 300 S4 P5 400 SNAME Smith Jones Blake Clark 45 Operador <ANY SELECT S# FROM S WHERE STATUS < ANY (SELECT STATUS FROM S); S S# SNAME STATUS CITY S1 Smith 20 London S2 Jones 10 Paris S3 Blake 30 Paris S4 Clark 20 London S5 Adams 30 Athens S# S1 S2 S4 46 Operador ALL x <> ALL(<subconsulta>) é verdadeiro se somente se para cada tupla t na relação, x não é igual em t. q Isto é, x não está no resultado da subconsulta. Qualquer operador de comparação pode ser usado ao invés de <> Exemplo: x >= ALL(<subconsulta>) significa que nenhuma tupla é maior que x no resultado da subconsulta. Exemplo: ALL Usando Sells(bar, beer, price), procure as cervejas vendidas com maior preço. SELECT beer FROM Sells WHERE price >= ALL( SELECT price FROM Sells); 47 48

13 União, Interseção e Diferença Exemplo: Interseção União, interseção e diferença de relações são expressas pelas seguintes formas, cada uma envolve subconsultas: q (<subconsulta>) UNION (<subconsulta>) q (<subconsulta>) INTERSECT (<subconsulta>) q (<subconsulta>) EXCEPT (<subconsulta>) Usando Likes(drinker, beer), Sells(bar, beer, price), e Frequents(drinker, bar), procure os consumidores e cervejas tal que: 1. Consumidores que gostem de cerveja, e 2. Consumidor que frequenta pelo menos um bar que venda cerveja Solução (SELECT * FROM Likes) INTERSECT (SELECT drinker, beer FROM Sells, Frequents WHERE Frequents.bar = Sells.bar ); Consumidores que frequentam um bar que venda cerveja. Semântica de Bags em SQL Sentenças SELECT-FROM-WHERE usam semântica de bags ao invés de conjuntos q Seleção: preserva o número de ocorrências q Projeção: preserva o número de ocorrências (não elimina duplicados) q Produto Cartesiano, Junção: não elimina duplicados 51

14 Eliminação de duplicadas Exemplo: DISTINCT Força que o resultado seja um conjunto SELECT DISTINCT... Força que o resultado seja um Bag (não elimina duplicados) de todas as tuplas Usando Sells(bar, beer, price), procure todos os preços diferentes cobrados por cervejas: SELECT DISTINCT price FROM Sells; Note que sem DISTINCT, cada preço poderia ser listado várias vezes, conforme o par bar/beer e seus respectivos preços.... UNION ALL Expressão de Junção (Bags) Produto e Junção Natural SQL provê diversas versões de junções. Estas expressões podem ser consultas independentes ou usadas no lugar das relações em uma cláusula FROM. Junção Natural: R NATURAL JOIN S; Produto Cartesiano: R CROSS JOIN S; Exemplo: Likes NATURAL JOIN Sells 55 56

15 Junção Theta Outerjoins R JOIN S ON <condição> Exemplo: usando Drinkers(name, addr) e Frequents(drinker, bar): Drinkers JOIN Frequents ON name = drinker; Nos dá todas as quadruplas (d, a, d, b) tal que drinker d vive no endereço (address) a e frequenta o bar b. R OUTER JOIN S é o núcleo de uma expressão outerjoin. Podendo utilizar outros como: 1. Opcional NATURAL em frente do OUTER. 2. Opcional ON <condição> depois do JOIN. 3. Opcional LEFT, RIGHT, or FULL antes de OUTER Agregação Exemplo: Agregação SUM, AVG, COUNT, MIN, e MAX pode ser aplicada em uma coluna de uma cláusula SELECT para produzir a agregação de uma coluna. Também, COUNT(*) conta o número de tuplas. Usando Sells(bar, beer, price), procure a média de preço da cerveja Bud: SELECT AVG(price) FROM Sells WHERE beer = Bud ; 59 60

16 Eliminando duplicados em uma agregação Use DISTINCT dentro de uma agregação. Exemplo: Procure o número de diferentes preços cobrados pela cerveja Bud: SELECT COUNT(DISTINCT price) FROM Sells WHERE beer = Bud ; NULL ignorado em agregação NULL nunca contribui para uma soma, média ou contagem, e nunca pode ser o mínimo ou máximo de uma coluna. Porém, se não existe nenhum valor não-null em uma coluna, então o resultado da agregação é NULL. q Exceção: COUNT de um conjunto vazio é Exemplo: Efeito do NULL Agrupando SELECT count(*) FROM Sells WHERE beer = Bud ; SELECT count(price) FROM Sells WHERE beer = Bud ; O número de Bares Que vendem Bud. O número de bares que Vendem Bud por um preço Conhecido. Expressões SELECT-FROM-WHERE podem ser seguidas por um GROUP BY e uma lista de atributos. O resultado é agrupado de acordo com os valores destes atributos (em GROUP BY), e qualquer agregação é aplicada somente em cada grupo

17 Exemplo: Agrupando Usando Sells(bar, beer, price), procure a média de preço para cada cerveja: SELECT beer, AVG(price) FROM Sells GROUP BY beer; beer AVG(price) Bud 2.33 Exemplo: Agrupando Usando Sells(bar, beer, price) e Frequents(drinker, bar), procure por cada consumidor,a média de preço da Bud nos Bares que eles frequentam: SELECT drinker, AVG(price) FROM Frequents, Sells WHERE beer = Bud AND Frequents.bar = Sells.bar GROUP BY drinker; Computa todos os drinker-barprice triples para Bud. Agrupa Por consumidor Restrição em lista SELECT com Agregação Exemplo de consulta Ilegal Se qualquer agregação é usada, então cada elemento da lista do SELECT deve ser também: 1. Agregado, ou 2. Um atributo na lista do GROUP BY. Procurar o bar que vende Bud mais barato usando: SELECT bar, MIN(price) FROM Sells WHERE beer = Bud ; Esta consulta é ilegal em SQL

18 Cláusula HAVING Exemplo: HAVING HAVING <condição> pode seguir uma cláusula GROUP BY. A condição é aplicada para cada grupo, e os grupos que não satisfazem a condição são eliminados. Usando Sells(bar, beer, price) e Beers(name, manf), procure a média de preço destas cervejas que também são servidas em pelo menos três bares ou fabricandos por Pete s Solução Requisitos em condições HAVING SELECT beer, AVG(price) FROM Sells GROUP BY beer HAVING COUNT(bar) >= 3 OR beer IN (SELECT name FROM Beers WHERE manf = Pete s ); Cervejas agrupadas por pelo Menos 3 non-null bares e Também grupos de cervejas Fabricadas por Pete s. Cervejas Fabricadas por Pete s. Qualquer coisa vai em uma subconsulta. Fora das subconsultas, elas podem referenciar atributos somente se eles : 1. Um atributo que agrupa, ou 2. Agregado (mesma condição como em cláusulas SELECT com agregação)

19 Modificação de Banco de Dados Inserção Um comando de modificação não retorna resultado (como em uma consulta). Três tipos de modificações: Insert uma ou mais tuplas. Delete uma ou mais tuplas. Update o(s) valor(es) de uma ou mais tuplas Inserir uma única tupla INSERT INTO <relação> VALUES ( <lista de valores> ); Exemplo: adiciona em Likes(drinker, beer) o fato que Sally gosta de cerveja Bud. INSERT INTO Likes VALUES( Sally, Bud ); Especificando atributos em INSERT Exemplo: Especificando Atributos Pode-se usar uma lista de atributos. Duas razões para fazer isto: 1. Desconsiderar como os atributos estão ordenados na relação. 2. Não se tem os valores para todos atributos, e queremos que o sistema preencha os componentes com NULL ou um valor padrão. Outra maneira de registrae o fato que Sally gosta da cerveja Bud para Likes(drinker, beer): INSERT INTO Likes(beer, drinker) VALUES( Bud, Sally ); 75 76

20 Adicionando valores padrão (default) Exemplo: Valores Padrões (Default) Numa sentença CREATE TABLE, podemos definir um valor DEFAULT para um atributo Quando uma inserção de uma tupla não tem valor para este atributo, o valor DEFAULT será usado. CREATE TABLE Drinkers ( name CHAR(30) PRIMARY KEY, ); addr CHAR(50) DEFAULT 123 Sesame St., phone CHAR(16) Exemplo: Valores Padrões (Default) Inserindo várias Tuplas INSERT INTO Drinkers(name) VALUES( Sally ); Resultando em uma tupla: Podemos inserir o resultado inteiro de uma consulta em uma relação da seguinte forma: INSERT INTO <relação> ( <subconsulta> ); name address phone Sally 123 Sesame St NULL 79 80

21 Exemplo: Inserindo uma subconsulta Usando Frequents(drinker, bar), como entrada para uma nova relação PotBuddies(name) todos os potenciais colegas de Sally, ex: Consumidores que frequentam pelo menos um bar que Sally também frequenta. Solução Outro consumidor INSERT INTO PotBuddies (SELECT d2.drinker FROM Frequents d1, Frequents d2 WHERE d1.drinker = Sally AND ); d2.drinker <> Sally AND d1.bar = d2.bar Pares de tuplas Consumidores onde o Primeiro é Sally, o Segundo é outro Diferente de Sally, e Que frequentem o Mesmo Bar Remoção Exemplos: Remoção Para remover tuplas que satisfazem uma condição de uma relação: DELETE FROM <relação> WHERE <condição>; Remova de Likes(drinker, beer) o fato que Sally gosta de cerveja Bud: DELETE FROM Likes WHERE drinker = Sally AND beer = Bud ; 83 84

22 Exemplo: Remova todas as tuplas Torne a relação Likes vazia: DELETE FROM Likes; Note que nenhuma cláusula WHERE é necessária. Exemplo: Remova algumas Tuplas Remova de Beers(name, manf) todas as cervejas que exista outra cerveja do mesmo fabricante. DELETE FROM Beers b WHERE EXISTS ( SELECT name FROM Beers WHERE manf = b.manf AND name <> b.name); Cervejas com o Mesmo fabricante e Um nome diferente Do nome da cerveja Representado pela tupla Semântica da Remoção --- (1) Supondo que Anheuser-Busch fabrica somente Bud e Bud Lite. Supondo que iremos consultar a tupla b para a primeira Bud. A consulta não é vazia, por causa da tupla Bud Lite, então removemos a Bud. Agora, quando b é a tupla para Bud Lite, removemos esta tupla também? Semântica de Remoção --- (2) Resposta: Removemos a Bud Lite também. A razão é que a remoção tem dois estágios: 1. Marca todas as tuplas para que a condição em WHERE seja satisfeita. 2. Remove as tuplas marcadas

23 Atualização (Updates) Exemplo: Update Para alterar atributos específicos em tuplas específicas de uma relação: UPDATE <relação> SET <lista de atributos> WHERE <condição sobre as tuplas>; Altere o número de telefone de Fred para : UPDATE Drinkers SET phone = WHERE name = Fred ; Exemplo: Atualiza diversas tuplas Faça como que o preço máximo para cervejas seja $4 UPDATE Sells SET price = 4.00 WHERE price > 4.00; 91

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

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

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

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

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

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

Á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

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

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

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

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

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

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

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

Bases de Dados 2005/2006. Aula 5

Bases de Dados 2005/2006. Aula 5 Bases de Dados 2005/2006 Aula 5 Sumário -1. (T.P.C.) Indique diferenças entre uma tabela e uma relação. 0. A base de dados Projecto 1. SQL Join (variantes) a. Cross Join b. Equi-Join c. Natural Join d.

Leia mais

Projeto de Banco de Dados

Projeto de Banco de Dados Projeto de Banco de Dados SQL-Consultas Comando SELECT Prof. Luiz Antônio Vivacqua C. Meyer (la.vivacqua@gmail.com) Sintaxe Geral SELECT [ALL/DISTINCT] coluna1, coluna2,..., colunan FROM nome_tabela1,

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

BDII SQL Junção Revisão 8

BDII SQL Junção Revisão 8 exatasfepi.com.br BDII SQL Junção Revisão 8 André Luís Duarte Leais são as feridas feitas pelo amigo, mas os beijos do inimigo são enganosos. Provérbios 27:6 SQL Introdução Produto cartesiano Nomes alternativos

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

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

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo ) Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 10 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas

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

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

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

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

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

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

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

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL Carga horária: 32 Horas Pré-requisito: Para que os alunos possam aproveitar este treinamento ao máximo, é importante que eles tenham participado dos treinamentos

Leia mais

Introdução ao SQL Avançado

Introdução ao SQL Avançado Introdução ao SQL Avançado Introdução as consultas, manipulação e a filtragem de dados com a linguagem SQL Prof. MSc. Hugo Vieira L. Souza Este documento está sujeito a copyright. Todos os direitos estão

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

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

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro SQL- Strutured Query Language é a linguagem mais usada nas bases dados relacionais. Originalmente desenvolvida pela IBM Actualmente é um standard, o mais recente é o SQL:2003

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

Programação SQL. INTRODUÇÃO II parte

Programação SQL. INTRODUÇÃO II parte Programação SQL INTRODUÇÃO II parte Programação SQL SELECT; INSERT; UPDATE; DELETE. Este conjunto de comandos faz parte da sublinguagem denominada por DML Data Manipulation Language (Linguagem de manipulação

Leia mais

A Linguagem SQL. Introdução a Banco de Dados DCC 011

A Linguagem SQL. Introdução a Banco de Dados DCC 011 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

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

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

Tarefa Orientada 13 Agrupamento e sumário de dados

Tarefa Orientada 13 Agrupamento e sumário de dados Tarefa Orientada 13 Agrupamento e sumário de dados Objectivos: Funções de agregação Agrupamento e sumário de dados Funções de agregação Nesta tarefa orientada iremos formular consultas que sumariam os

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

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto

Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL. www.pedrofcarvalho.com.br contato@pedrofcarvalho.com.br São José do Rio Preto Pedro F. Carvalho OCP Oracle 2008.2 10g LINGUAGEM SQL Objetivos Revisando a sintaxe SQL SELECT, UPDATE, INSERT, DELETE Manipulando expressões Funções matemáticas, etc Condições de Pesquisa Funções de Agregação

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

Tarefa Orientada 14 Subconsultas

Tarefa Orientada 14 Subconsultas Tarefa Orientada 14 Subconsultas Objectivos: Subconsultas não correlacionadas Operadores ALL, SOME e ANY Subconsultas correlacionadas Operador EXISTS Subconsultas incluídas na cláusula FROM de uma consulta

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

Memória de aula Semanas 15 e 16

Memória de aula Semanas 15 e 16 FMU Curso: Ciência da Computação Disciplina: Banco de Dados I Professor: Ecivaldo Matos Memória de aula Semanas 15 e 16 1) Incluindo linhas nas tabelas a. Para incluir linhas em tabelas utilize o comando

Leia mais

Tarefa Orientada 16 Vistas

Tarefa Orientada 16 Vistas Tarefa Orientada 16 Vistas Objectivos: Vistas só de leitura Vistas de manipulação de dados Uma vista consiste numa instrução de SELECT que é armazenada como um objecto na base de dados. Deste modo, um

Leia mais

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL Comandos para Relatórios e Formulários. Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SQL Comandos para Relatórios e Formulários Laboratório de Bases de Dados SELECT SELECT FROM [ WHERE predicado ] [ GROUP BY ]

Leia mais

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All...

1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... SQL 1. SQL Instrumental...2 1.1 Select...3 1.2 Delete...13 1.3 Update... 1.4 Insert... 1.5 Group by... 1.6 Having... 1.7 Unnion All... 2. Servidor... 2.1 Ativando log no Broker... 2.2 Leitura do log no

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

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: Consultas, Programação, Gatilhos

SQL: Consultas, Programação, Gatilhos SQL: Consultas, Programação, Gatilhos Capítulo 5 1 Introdução O que é SQL? Structured Query Language Linguagem comercial de banco de dados mais utilizada no mercado. Origem Originalmente chamada de SEQUEL

Leia mais

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL Oracle University Entre em contato: 0800 891 6502 Banco de Dados Oracle 10g: Introdução à Linguagem SQL Duração: 5 Dias Objetivos do Curso Esta classe se aplica aos usuários do Banco de Dados Oracle8i,

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

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real.

PROGRAMA. Aquisição dos conceitos teóricos mais importantes sobre bases de dados contextualizados à luz de exemplos da sua aplicação no mundo real. PROGRAMA ANO LECTIVO: 2005/2006 CURSO: LICENCIATURA BI-ETÁPICA EM INFORMÁTICA ANO: 2.º DISCIPLINA: BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA: Licenciado Lino Oliveira Objectivos Gerais: Aquisição

Leia mais

PROGRAMA. Objectivos Gerais :

PROGRAMA. Objectivos Gerais : PROGRAMA ANO LECTIVO : 2005/2006 CURSO : ENGENHARIA MULTIMÉDIA ANO: 2.º DISCIPLINA : SISTEMA DE GESTÃO DE BASE DE DADOS DOCENTE RESPONSÁVEL PELA REGÊNCIA : Licenciado Lino Oliveira Objectivos Gerais :

Leia mais

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada

SQL BANCO DE DADOS. Linguagem de consulta SQL. Linguagem de consulta SQL. Linguagem de Consulta Estruturada Revisão de tpicos anteriores BANCO DE DADOS Linguagem de consulta SQL Roberto Duarte Fontes Brasília - DF roberto@fontes.pro.br Projeto de banco de dados Modelagem Conceitual (independe da implementação)

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

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

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

Memória de aula Aulas 11 e 12

Memória de aula Aulas 11 e 12 Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aulas 11 e 12 1) Revisão a. Cláusula join (inner e outer) 2) Cláusula GROUP

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

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

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

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

SQL: Definição de tabelas, Modificações à Base de Dados

SQL: Definição de tabelas, Modificações à Base de Dados SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de

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 Os comandos SQL podem ser agrupados em 3 classes: DDL Data Definition Language Comandos para a Definição

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: Uma Linguagem de Consulta

SQL: Uma Linguagem de Consulta SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

Leia mais

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento)

SQL: Uma Linguagem de Consulta. Database Management Systems, R. Ramakrishnan (tradução, autorizada, de Anna & Mario Nascimento) SQL: Uma Linguagem de Consulta 1 Exemplos ilustrativos Considere, como exemplos, as seguintes relações: R1 sid bid day 22 101 10/10/96 58 103 11/12/96 Se a chave para a relacão de Reservas (R1) contivesse

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

Projeto e Implementação

Projeto e Implementação Felipe Nery Rodrigues Machado Banco de Dados Projeto e Implementação 2 Edição 4 Reimpressão São Paulo 2011 Editora Érica Ltda. 3 Projeto Sumário Capítulo 1 O Que É Projeto de Banco de Dados 15 Modelagem

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

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

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

Exercícios de Lógica Exercícios de Fixação 08

Exercícios de Lógica Exercícios de Fixação 08 Exercícios Exercícios de Lógica Exercícios de Fixação 08 1. A linguagem SQL apresenta uma série de comandos que permitem a definição dos dados, chamada de DDL (Data Definition Language). Assinale a alternativa

Leia mais

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados

LINGUAGEM SQL. DML - Linguagem de Manipulação de Dados LINGUAGEM SQL Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional (base de dados relacional). Muitas das características

Leia mais

Revisão / Exercícios. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com

Revisão / Exercícios. Prof. Márcio Bueno. {bd2tarde,bd2noited}@marciobueno.com Revisão / Exercícios Prof. Márcio Bueno {bd2tarde,bd2noited}@marciobueno.com Especificando Campos Apelidos de campo SELECT DEI" + "-UNICAP" as Centro, Universidade = UNICAP" Expressões como campos Podem

Leia mais

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações. Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Aula 11 1) Cláusulas SELECT e FROM a. Apesar de ser a primeira, ela é a

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

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

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

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

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

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 Consultas SQL envolvendo NULL; Consultas Aninhadas IN; Funções EXISTS e NOT EXISTS; Funções de Agregação: GROUP

Leia mais

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro

UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA. Banco de Dados II. Integridade. Carlos Eduardo Portela Serra de Castro UNIVERSIDADE FEDERAL DO MARANHÃO - UFMA Banco de Dados II Integridade Carlos Eduardo Portela Serra de Castro * Integridade Introdução Restrições de Integridade de Domínio de Relação Asserções Procedimentos-gatilho

Leia mais

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis

Reforçando conceitos de SQL Estudo de Caso: Agenciamento de Corridas de Táxis Reforçando conceitos de SQL Estudo de Caso: Agenciamento de s de Táxis 1 Algumas Entidades existentes Estudo de Caso Cliente Agendada Fila Logradouro Zona Motorista Efetivada Táxi 2 Consulta Básica SQL

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

Principais Instruções em SQL

Principais Instruções em SQL Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1]

Leia mais

Linguagem de Consulta - SQL

Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao... 04 Banco de Dados 1989 02 Análise 2000 01 XML

Leia mais

1.264 Aula 7. Introdução ao SQL

1.264 Aula 7. Introdução ao SQL 1.264 Aula 7 Introdução ao SQL Linguagem Estruturada de Consulta (SQL) Aula 7 SELECT, INSERT, DELETE, UPDATE Junções Aula 8 Subconsultas Visões (tabelas virtuais) Índices Transações Segurança Desempenho

Leia mais

Prova de Fundamentos de Bancos de Dados 2 a Prova

Prova de Fundamentos de Bancos de Dados 2 a Prova Prova de Fundamentos de Bancos de Dados 2 a Prova Prof. Carlos A. Heuser Maio de 2006 Prova com consulta duas horas de duração 1 Base de dados para as questões (Esta é a mesma base de dados que foi usada

Leia mais

BANCO DE DADOS aula 6 álgebra relacional -

BANCO DE DADOS aula 6 álgebra relacional - INSTITUTO DE EXATAS E TECNOLÓGICAS Curso de Ciência da Computação BANCO DE DADOS aula 6 álgebra relacional - professor: Juliano Varella de Carvalho 5.1. Álgebra Relacional relações de exemplo conta agencia

Leia mais

SQL: Interrogações simples

SQL: Interrogações simples SQL: Interrogações simples Fernando Lobo Base de Dados, Universidade do Algarve 1 / 20 Structured Query Language (SQL) É uma implementação da álgebra relacional incluindo os operadores extendidos. Contém

Leia mais

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as: Curso Profissional Técnico de Informática de Gestão 10ºB Prof. Pedro Lopes S i s t e m a s d e I n f o r m a ç ã o M ó d u l o : L i n g u a g e m S Q L T e s t e s u m a t i v o d u r a ç ã o 8 0 m i

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.

Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. Structured Query Language (SQL) SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais. A instrução SELECT As consultas a uma base de dados relacional fazem-se

Leia mais