Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero,

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

Download "Bases de Dados. Álgebra Relacional ou Como manipular uma BD SQL. P. Serendero, 2011-13"

Transcrição

1 Bases de Dados Álgebra Relacional ou Como manipular uma BD SQL P. Serendero,

2 Álgebra Relacional Conjunto básico de operadores que tomam as relações como os seus operandos e devolvem uma relação como resultado (Date) O output das operações com tabelas é sempre outra tabela, que pela sua vez pode servir de input para outras operações nelas Esta é a propriedade de fecho ( closure ) dos sistemas relacionais. Operações sobre uma, duas ou mais relações, frequentemente especificadas com alguma restrição, para obter uma nova relação Esta propriedade faz o álgebra 'fechada': todos os objetos na álgebra relacional são relações. Não confundir com fecho nas DF 2

3 Álgebra Relacional SQL (Structured Query Language) linguagem para criar, modificar e extrair dados desde um sistema relacional de gestão de bases de dados. Ela implementa a álgebra relacional. NÃO É UMA LINGUAGEM DE PROGRAMAÇÃO!! A estrutura básica duma expressão SQL consiste de 3 cláusulas: SELECT: que corresponde a operação de projeção na álgebra relacional. Uma restrição para extrair colunas específicas de uma tabela num query FROM: Corresponde a operação do produto cartesiano na álgebra relacional. Faz a listagem das relações exploradas na avaliação duma expressão WHERE: Corresponde ao predicado de seleção da álgebra relacional. Consiste num predicado incluindo atributos das relações que aparecem na cláusula FROM. Actúa como um filtro 3

4 Operadores Unários Álgebra Relacional: operadores SELECT ( σ ) RESTRIÇÃO: selecciona um subconjunto de tuplas PROJECT( π) PROJEÇÃO: selecciona apenas colunas na projeção JOIN (theta) selecciona tuplas de conjuntos.semelhante ao Prod.Cart. DIVIDE Operadores sobre conjuntos (ligeiramente modificados para operar tabelas) UNIÃO ( ), INTERSECÇÃO ( ), DIFERENCIA (ou MENOS, ) PRODUTO CARTESIANO ( x ) Operadores Binários JOIN (INNER JOIN, OUTER JOIN), REUNIÃO, DIVISÃO mais RENAME (símbolo: ρ (ro)) FUNÇÕES AGREGADAS SUM, COUNT, AVG, MIN, MAX, 8 operadores originais de Codd 4

5 Algebra Relacional - Operadores Estos 8 operadores originais tem sido estendidos a muitos outros Qualquer outro operador pode ser definido para satisfazer a propriedade de fecho da AR.: relações como input e output Estes operadores são genéricos: se aplicam a todas as relações Todos eles são read-only. Eles leem mas não atualizam os seus operandos. Cliente join Factura where tipo-cliente = bom O tipo de dados do atributo tipo-cliente deve ser conhecido pelo sistema. O output produzido deve ser de um tipo bem definido com um nome de atributo bem definido. Neste contexto utilizamos o operador RENAME

6 Álgebra Relacional - Operadores Uma propriedade muito importante desta álgebra ser fechada, Significa que podemos escrever expressões relacionais aninhadas Isto é, expressões relacionais nas quais os operandos são eles próprios representados por outras expressões relacionais de complexidade arbitrária

7 Álgebra Relacional Restrição Extrai tuplos especificadas duma dada relação Projeção Extrair os atributos especificados numa relação dada Produção Dadas 2 relações, constrói uma R contendo todas as combinações possíveis de tuplos, uma de cada uma das relações originais União Constrói uma relação formada por todas as tuplos que aparecem em qualquer das duas relações especificadas Intersecção Constrói uma relação formada apenas pelas tuplos que aparecerem nas duas relações Diferencia Constrói uma relação formada por todas as tuplos da 1ª R que não aparecem na 2ª relação Reunião Dadas 2 relações constrói uma r com todas as combinações possíveis de tuplos, uma de cada relação, tal que os dois tuplos participantes satisfazerem alguma condição especificada Divisão Dada uma R1 binária e uma R2 unária, constrói uma R formada por todos os valores dum atributo da R1 que concordam no outro atributo com todos os valores da R2 7

8 produto (cartesiano) restrição projeção a x a x b y a y união intersecção diferencia c b b x y c x Reunião (natural) divisão c y a1 a2 a3 b1 b1 b2 b1 b2 b3 c1 c2 c3 a1 a2 a3 b1 b1 b2 c1 c1 c2 a a a b c x y z x y x z a Panorama geral dos 8 operadores originais (Date) 8

9 Operadores unários: SELECT A operação SELECT (sigma σ ) seleciona um subconjunto de tuplos baseado numa condição de seleção Esta restrição está representada na cláusula WHERE, que actua como filtro Só guarda as tuplos que satisfazem a condição de qualificação SELECT * FROM embarcação WHERE matricula = VNC-34 SELECT nome FROM embarcação WHERE boca > 2 AND boca < 3 9

10 Atenção: Operadores unários: SELECT Select na Álgebra relacional corresponde ao WHERE no SQL projeção na Álgebra relacional corresponde ao SELECT no SQL SELECT nome FROM embarcação WHERE matricula= AVG-175 O SGBD procede assim: 1. Vai ler desde o FROM, ou seja ler a tabela embarcação, 2. Aplica o operador σ para o WHERE. Esta é a selecção na álgebra relacional 3. Logo aplica o operador π no SELECT. Esta é a projeção na A.R. 10

11 Operadores unários: SELECT Em SQL a operação SELECT é muito poderosa: SELECT produto, preço * quantidade FROM itens (preço e quantidade devem ser de tipo numérico) SELECT random() SELECT 2 * SELECT COUNT(*) FROM Facturas; COUNT

12 Operadores unários: SELECT Um select com uma função na linguagem php em acção: // function verifica_existencia_utilizador($db, $novo_usuario) { $query = "SELECT * FROM utilizador WHERE usuario = '$novo_usuario' "; $resultado = pg_query($db, $query); $r = pg_fetch_array($resultado); if ($r['usuario'] == $novo_usuario) // ou if ($r) return 1; // else return 0; } // // definir uma variável em Php: $nome-var = 45; or $nome-var = natacha ; 12

13 Operadores unários: SELECT Repare que este SELECT se expressa assim na álgebra relacional:) σ usuario = novo-usuario (utilizador) σ salario > 30,000 (EMPREGADO) O símbolo sigma (σ) expressa a operação SELECT Uma operação condicional booleana nos atributos da Relação: verdadeiro ou falso tuplos verdadeiros são selecionadas e aparecem na nova relação. tuplos falsos são filtrados e eliminados 13

14 Operadores unários: SELECT A operação SELECT produz uma R com o mesmo esquema (a mesma estrutura de atributos e os seus tipos) que a R original O número de tuplos como resultado do SELECT é menor ou igual ao número de tuplos na R original Pode-se indicar uma condição ou várias juntas σ <condition1>(σ < condition2> (R)) = σ <condition2> (σ < condition1> (R)) O SELECT é comutativo, as condições podem aparecer em qualquer ordem. As condições podem ser outros SELECT 14

15 Expressões no SELECT No SELECT podem-se utilizar expressões como elementos Ex. SELECT nome, hora/60 AS segundos FROM corredor; A condição WHERE pode fazer comparações aproximadas entre uma string e um padrão <atributo> LIKE <padrão> <atributo> NOT LIKE <padrão> padrão: uma string onde % significa 0 ou + caracteres iguais e onde significa apenas 1 char 15

16 Expressões no SELECT: LIKE SELECT nome FROM embarcações WHERE nome LIKE %azul% Nome Gaivota azul O azul da Ria 16

17 SELECT e clausula FROM A clausula FROM permite mais que uma tabela na sua lista r1 r2 nome L.Martins cidade Olhão M. Soares Faro P.Mendes Loulé nome salário L.Martins M. Soares P.Mendes SELECT r1.nome, salário, cidade FROM r1, r2 WHERE r1. nome = r2. nome (repare a qualificação do atrib.) nome salário cidade L.Martins Olhão M. Soares Faro P.Mendes Loulé 17

18 Operadores unários: PROJECT Indicado com a letra π (pi) PROJECT projeta a relação original, selecionando algumas colunas (atributos) e eliminando outras. Cria portanto uma partição (projeção) vertical (ver desenho anterior) Ex.: π numero, nome, boca (EMBARCAÇÃO) SQL: SELECT numero, nome, boca FROM EMBARCAÇÃO; Esta operação remove qualquer tuplo duplicada. A projeção matemática não permite duplicados. A operação deve produzir um conjunto de tuplos. Ainda SELECT * FROM EMBARCAÇÃO; = procurar todos os atributos 18

19 Operadores unários: PROJECT Cláusula FROM: deriva a relação desde 2 ou mais tabelas O número de novas tuplos é sempre igual ou menor que a R original Se existe uma chave nos atributos indicados na projeção, então o número de tuplos obtido nela é igual ao número de tuplos na R original PROJEÇÃO não é comutativa. A ordem dos elementos indicados será mantida na nova R 19

20 mysql> SELECT * FROM salarios; id total-horas preço-hora R(salarios) mysql> SELECT id, total_horas, (preço-hora/3) AS valor FROM salarios; id total-horas valor

21 Operadores unários: RENAME Podemos renomear os atributos ou os nomes das relações (tabelas). Expressada com a letra ρ (ro) Pode ser prático quando temos muitos queries. Serve para minimizar os caracteres a escrever Ex: calculando vendas totais para cada produto SELECT id_produto, p.nome, (sum (v.qtd) * p.preço) AS vendas FROM produtos p LEFT JOIN vendas v USING (id_produto) GROUP BY id_produto, p.nome, p.preço; Tabela produtos, cognomen é p Tabela vendas, congnome é v Na nova R estes são os nomes de cada coluna da tabela (o cabeçalho) GROUP BY? LEFT JOIN? 21

22 Operações sobre conjuntos UNIÃO ( ) INTERSECÇÃO ( ) T1 UNION T2 T1 INTERSECT T2 DIFERENCIA (ou MENOS, ) T1 MINUS T2 PRODUTO CARTESIANO ( x ) T1 TIMES T2 22

23 A num nome status cidade c-023 Sousa 20 Porto c-035 Santos 10 Faro B num nome status cidade c-023 Sousa 20 Porto c-012 Mendes 10 Olhão num nome status cidade A UNION B A INTERSECT B c-023 Sousa 20 Porto c-012 Mendes 10 Olhão C-035 Santos 10 Faro num nome status cidade c-023 Sousa 20 Porto Operadores devem ser do mesmo tipo A MINUS B num nome status cidade c-035 Santos 10 Faro B MINUS A num nome status cidade c-012 Mendes 10 Olhão

24 Operações sobre conjuntos: UNIÃO UNIÃO ( ) Unir as relações (A B) cria uma nova R que inclui todos os tuplos que estão seja em A, seja em B, ou seja em ambas duas A e B A e B devem ser compatíveis: - A e B devem ter o mesmo número de atributos e - Os pares correspondentes de atributos i (A.a i e B.a i ) devem ter o mesmo tipo Os tuplos repetidos são eliminados na nova R 24

25 UNIÃO em PostgreSQL Formato geral da cláusula união: select_statement UNION [ ALL DISTINCT ] select_statement O operador union computa o conjunto de tuplos devolvidos pelo select A R resultante elimina todos as tuplos duplicados de não ser que seja utilizado a opção ALL que impede isto acontecer CREATE VIEW tenistas AS SELECT * FROM tenistas_femeninas UNION ALL SELECT * FROM tenistas-masculinos Em geral: query1 UNION [ALL] query2; 25

26 UNIÃO: resolução em PostgreSQL 1. Se todos os inputs são do mesmo tipo, e este é conhecido, substituir por aquele tipo. Caso contrário, resolver qualquer tipo desconhecido com o tipo base: text normalmente 2. Se todos os tipos são desconhecidos, resolver como text Se não fazer, ignorar o input 3. Caso os tipos não conhecido não sejam da mesma categoria do tipo, a união falha 4. Escolher o primeiro tipo não conhecido que seja favorito numa categoria (ex. text é favorito na categoria strings) 5. Caso contrário, escolher um que permita todos os outros não conhecidos 6. Converter todos os inputs no tipo seleccionado. Se a conversão não é possível, a operação falhar 26

27 Exemplo: UNIÃO SELECT text a AS "texto" UNION SELECT b ; texto a b Neste caso, o tipo desconhecido do atributo b e resolvido como texto 27

28 Exemplo: UNIÃO SELECT 1 AS "real" UNION SELECT CAST( 2.2 AS REAL); real Neste caso, real não pode ser convertido (cast) para integer, mas o contrário sim. Portanto a união resolve-se com o tipo real 28

29 Exemplo: UNIÃO Imagine as seguintes tabelas na sua BD representadas aqui como relações do modelo relacional: capitais (nome, população, altitude, pais, localização) não-capitais (nome, população, altitude, pais) Pretendemos fazer uma lista de todas as cidades, capitais ou não: CREATE VIEW cidades AS SELECT nome, população, altitude FROM capitais UNION SELECT nome, população, altitude FROM não-capitais; 29

30 (herança em PostgreSQL) Uma melhor alternativa para evitar problemas de actualizações seria: CREATE TABLE cidades (nome text, população real, altitude integer, pais text); CREATE TABLE capitais (localização text); INHERITS (cidades); A tabela capitais herda todos os atributos e tipos de cidades. Agora podemos interrogar assim: SELECT nome, altitude FROM cidades WHERE altitude > 20; (lista todas as cidades + capitais) 30

31 (herança em PostgreSQL) INHERITS (não é SQL 2008) e também podíamos interrogar: SELECT * FROM capitais (lista todas as capitais WHERE altitude > 20; (com todos os 5 campos) Cláusula opcional INHERITS especifica uma lista de tabelas das quais a nova tabela vai herdar automaticamente todas as suas colunas INHERITS cria uma relação persistente entre a nova tabela filha e a sua(s) mãe (mães) Se se modificar o esquema na mãe normalmente se propaga aos filhos. Também os dados por defeito são herdados. Uma lista na tabela mãe vai incluir os dados na tabela filha 31

32 Operações sobre conjuntos: Formato geral em SQL: INTERSECÇÃO ( ) Select_<declaração> INTERSECT [ ALL DISTINCT ] O operador INTERSECT computa o conjunto de intersecção das filas devolvidas pelos SELECT. Um tuplo está na intersecção de dois conjuntos de resultados se aparece em ambos os dois conjuntos de resultados Aqui o SELECT é qualquer SELECT mas não pode ter as claúsulas ORDER BY, LIMIT, FOR UPDATE, or FOR SHARE 32

33 Operações sobre conjuntos: INTERSECÇÃO ( ) CREATE VIEW tenistas AS SELECT * FROM campeões-tenis INTERSECT SELECT * FROM tenistas-masculinos A Relação resultante será neste caso a lista de todos os tenistas masculinos que se encontram também na lista de campeões de ténis CREATE VIEW: o query tenistas não é preciso repetir mais. Fica armazenado no esquema como uma outra tabela que podemos interrogar- (insert, update, delete proibidos por defeito) 33

34 Operações sobre conjuntos: INTERSECÇÃO ( ) R1: embarcação-motor R2: embarcação-vela código AVX Fuseta 2100-TA nome D.Dias F. Santos S. Sousa código nome 432- Olhão M.Leite 765-Fuseta F. Santos 3243-TA T. Pires SQL: embarcação-motor INTERSECT embarcação-vela código 765-Fuseta nome F. Santos 34

35 Operações sobre conjuntos: DIFERENCIA (-) R1: embarcação-activa R2: embarcação-inactiva código nome código nome AVX-325 D.Dias AVX-325 D.Dias 765-Fuseta F. Santos 765-Fuseta F. Santos 2100-TA S. Sousa 3243-TA T. Pires embarcação-motor MINUS embarcação-vela SQL: embarcação-motor EXCEPT [ALL] embarcação-vela R3 código 2100-TA nome S. Sousa Diferencia: uma relação com estrutura igual as R originais e cujo corpo formado por todos os tuplos pertencentes a R1 mas não a R2 35

36 Álgebra relacional Para se poder calcular as operações união, intersecção ou diferencia (except)) de dois interrogações, as duas operações devem ser compatíveis com a operação união. Isto é, devem devolver o mesmo número de colunas e as colunas (atributos) correspondentes devem ter tipos de dados compatíveis 36

37 Operações sobre conjuntos: JUNÇÃO Equivale a produto cartesiano + seleção: Em SQL corresponde a JOIN.. Vários tipos diferentes R Ex.: R (natural) JOIN S S, a junção natural das relações R e S: o conjunto de todas as combinações de tuplos em R e S que são iguais no seu atributos com nome igual Se as tabelas tem n e m tuplos, a tabela resultante terá n*m tuplos FROM T1 CROSS JOIN T2 é equivalente a FROM T1, T2.. também é equivalente a FROM T1 INNER JOIN T2 ON TRUE (+ na 2ª parte) 37

38 Operações sobre conjuntos: divisão A mais dificil das operações. Utiliza 3 operadores: x, π, (produto cruzado, projecção, e diferença de conjuntos) para alem de se efectuar 6 operações O número de atributos em R1 é maior que R2 (divisor) A divisão encontra os valores dos atributos numa relação que estão pareados com TODOS os valores da otra relação Tal como a multiplicação é a divisão em aritmética, A divisão é ao produto cartesiano na álgebra relacional: O seu inverso If X, Y and Z (como união dos anteriores) então: X DIVIDEDBY Y PER Z 38

39 Operações sobre conjuntos: divisão J K Produto Cartesiano C A 2 6 Ex. SELECT 5 / 275; SELECT 5 DIV 2; ~ floor(); B A B Imagine que temos C = J x K (o produto cartesiano) A divisão é o oposto: C / J = K, C/K = J 39

40 Operações sobre conjuntos: divisão x k1 k2 k3 k4 k1 k3 k2 k3 k4 k1 k2 k3 R(A) R(B) R(A/B) y luis luis luis luis sofia sofia pedro pedro pedro linda linda linda / = conta k1 k2 k3 pessoa luis linda Divisão: uma pesquisa do tipo: Que pessoas tem conta nos bancos k1,k2 e k3? 40

41 Operações sobre conjuntos: divisão x k1 k2 k3 k4 k1 k3 k2 k3 k4 k1 k2 k3 A y luis luis luis luis sofia sofia pedro pedro pedro linda linda linda B A/B / = y k1 k2 k3 y luis linda R(A) = {conta, pessoa}; R(B) = {conta} Formalmente a divisão: A/B = { x Ǝ x,y A y B} A/B contem todos os tuplos x tais que para cada tuplo y em B, existe um tuplo xy em A 41

42 Álgebra Relacional Fim primeira parte 42

Á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

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

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

Introdução às Bases de Dados

Introdução às Bases de Dados Introdução às Bases de Dados Chave primária Domínios Relação F# F Nome Estado Cidade F1 José 20 Braga F2 João 10 Faro F3 Luís 30 Lisboa F4 Rui 30 Setúbal Atributos Tuplas Introdução às Bases de Dados Modelo

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas.

Álgebra Relacional. OBS: as operações Seleção e Projeção são operações unárias porque atuam em relações únicas. Álgebra Relacional Álgebra Relacional é o conjunto básico de operações para o Modelo Relacional. Essas operações permitem a um usuário especificar as solicitações básicas de recuperação. O resultado de

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

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

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão SISTEMAS DE BANCO DE DADOS Prof. Adriano Pereira Maranhão 1 Coleção de operações usadas para manipular relações Grupos de operações Operações relacionais Seleção; projeção; junção Operações de conjunto

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

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

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

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

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

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

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

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

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

Modelo Relacional - Manipulação

Modelo Relacional - Manipulação Modelo Relacional - Manipulação Duas categorias de linguagens formais álgebra relacional e cálculo relacional comerciais (baseadas nas linguagens formais) SQL Linguagens formais - Características orientadas

Leia mais

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

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011 Ao nível das linguagens de manipulação de dados (Data Manipulation Language - DML) o SQL

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

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

Programação SQL. Introdução

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

Leia mais

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 I. Aula 9 - Prof. Bruno Moreno 20/09/2011

Banco de Dados I. Aula 9 - Prof. Bruno Moreno 20/09/2011 Banco de Dados I Aula 9 - Prof. Bruno Moreno 20/09/2011 Operações Binárias União (UNION) Interseção (INTERSECTION) Subtração (MINUS) Produto Cartesiano Junção (JOIN) Divisão (DIVISION) Aula passada! REVISÃO

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

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com

Curso PHP Aula 08. Bruno Falcão brunogfalcao@gmail.com + Curso PHP Aula 08 Bruno Falcão brunogfalcao@gmail.com + Roteiro Conectividade com BD SQL + SQL Structured Query Language. Padrão para interagir com banco de dados relacionais. + Banco de dados Um banco

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

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

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br

Fernando Albuquerque - fernando@cic.unb.br. Bancos de Dados. Fernando Albuquerque. 061-2733589 fernando@cic.unb.br Bancos de Dados Fernando Albuquerque 061-2733589 fernando@cic.unb.br Tópicos Introdução O modelo relacional A linguagem SQL Introdução O que é um banco de dados : Coleção de informações que existe por

Leia mais

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

Tarefa Orientada 12 Junção Externa, Auto-Junção e União Tarefa Orientada 12 Junção Externa, Auto-Junção e União Objectivos: Junção externa (Outer JOIN) Junção externa à esquerda (LEFT Outer JOIN) Junção externa à direita (RIGHT Outer JOIN) Junção externa completa

Leia mais

Álgebra relacional. Fernando Lobo. Conjunto de operadores que permitem manipular relações: produtos cartesianos e joins.

Álgebra relacional. Fernando Lobo. Conjunto de operadores que permitem manipular relações: produtos cartesianos e joins. Álgebra Relacional Fernando Lobo Base de Dados, Universidade do Algarve 1 / 50 Álgebra relacional Conjunto de operadores que permitem manipular relações: 1 operações sobre conjuntos:,, 2 remover linhas

Leia mais

Consistem num conjunto de apontadores para instâncias especificas de cada relação.

Consistem num conjunto de apontadores para instâncias especificas de cada relação. Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de

Leia mais

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio

Principais Conceitos. Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio MODELO RELACIONAL Principais Conceitos Modelo Relacional representa o banco de dados como uma coleção de relações Tupla Atributos Relação Domínio Conceitos Básicos - Relações A Álgebra Relacional fundamenta-se

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

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

Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim

Banco de Dados. Álgebra Relacional. Prof. Enzo Seraphim Banco de Dados Álgebra Relacional Prof. Enzo Seraphim Introdução A álgebra relacional é composta por um conjunto de operações utilizadas para manipular Relações como um todo Toda Operação Relacional é

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

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

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3

Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 ÍNDICE o -INTRODUÇÃO Sumário 1 0.1 Introdução 1 0.2 Breve História da Linguagem SQL l 0.3 Características da Linguagem SQL 3 0.4 A Composição deste Livro 3 0.5 Sistemas Utilizados 6 0.5.1 Access 2003 (Microsoft)

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar

Leia mais

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 )

select nome from Médicos where codm in (select codm from Consultas where data = 06/06/13 ) Subconsultas * subconsulta: forma alternativa de expressar consultas envolvendo relacionamentos entre tabelas * cláusulas para tratamento de subconsultas: IN, ANY, ALL, EXISTS 3.1) Cláusula [NOT] IN *

Leia mais

O que são Bancos de Dados?

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

Leia mais

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

Databases. Dependências Funcionais

Databases. Dependências Funcionais Databases Dependências Funcionais P. Serendero, 2011-13 Referências e exemplos tirados de diversas fontes, excetuando aqueles relacionados com embarcações Dependências Funcionais (DF) Uma Base de Dados,

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

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

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados.

COMPETÊNCIAS ESPECÍFICAS Compreender e utilizar a linguagem SQL, na construção e manutenção de uma base de dados. PLANIFICAÇÃO DA DISCIPLINA DE SISTEMAS DE INFORMAÇÃO 12.ºH CURSO PROFISSIONAL DE TÉCNICO MULTIMÉDIA ANO LECTIVO 2013/2014 6. LINGUAGENS DE PROGRAMAÇÃO IV Pré-requisitos: - Planificar e estruturar bases

Leia mais

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos

Esquema da Relação. Modelo Relacional. Instância da Relação. Exemplo. Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Modelo Relacional Uma base de dados é uma colecção de uma ou mais relações com nomes distintos Uma relação é uma tabela com linhas e colunas Esquema da Relação Descreve as colunas da tabela Especifica

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

PHP INTEGRAÇÃO COM MYSQL PARTE 1

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

Leia mais

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

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

Principais Comandos SQL Usados no MySql

Principais Comandos SQL Usados no MySql Principais Comandos SQL Usados no MySql O que é um SGBD? Um Sistema Gerenciador de Banco de Dados (como no Brasil) ou Sistema Gestor de Base de Dados (SGBD) é o conjunto de programas de computador (softwares)

Leia mais

Programação SQL. Manipulação de Dados. DML Data Manipulation Language

Programação SQL. Manipulação de Dados. DML Data Manipulation Language Programação SQL Manipulação de Dados DML Data Manipulation Language Manipulação de Dados (DML) Os comandos INSERT, UPDATE, DELETE, são normalmente classificados como pertencendo a uma sublinguagem da linguagem

Leia mais

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

SQL. Introdução. Por que SQL? Setenças Select-From-Where 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

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

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

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

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

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

Leia mais

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

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

Leia mais

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

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan Unidade 6.2 Álgebra Relacional - 1 PACIENTE cod-pac nome-pac

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

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

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

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

07/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

07/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan Faculdade IED Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional Prof.: Fernando Hadad Zaidan Unidade Álgebra Relacional 2 Leitura Obrigatória ELMASRI, R.;

Leia mais

Banco de Dados I 2007 Módulo III: Linguagens de Consulta. (Aula 9) Clodis Boscarioli

Banco de Dados I 2007 Módulo III: Linguagens de Consulta. (Aula 9) Clodis Boscarioli Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 9) Clodis Boscarioli Agenda: QBE (Query-by-Example) Histórico e Características; Notações; Exemplos da linguagem; Ferramentas que suportam

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