GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM

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

Download "GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional. Ilmério Reis da Silva UFU/FACOM"

Transcrição

1 GBC043 Sistemas de Banco de Dados Álgebra e Cálculo Relacional Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM

2 Álgebra e Cálculo Relacional e o Modelo R São as linguagens formais do Modelo R Álgebra Relacional (AR): conjunto básico de operações do Modelo R Expressão da Álgebra Relacional: uma sequência de operações da AR Usada na implementação de consultas por processadores de consultas dos SGBD Relacionais Cálculo Relacional (CR): uma linguagem declarativa formal FACOM/UFU Página:2

3 Álgebra e Cálculo Relacional - Notação R: uma relação F: uma fórmula do cálculo de predicados de primeira ordem, i.e.: Alfabeto de símbolos: variáveis, constantes, funções, símbolos de predicados, parêntesis, conectivos lógicos (,,,, ) e quantificadores (, ) Termo: é uma constante ou variável. Sendo f uma função n-ária e t 1, t 2,..., t n termos, então f(t 1, t 2,..., t n ) também é um termo Fórmula atômica: P(t 1, t 2,..., t n ) onde P é um símbolo de predicado n-ário Fórmula bem formada(fbf): se w i e w j são fbfs então também são fbfs: (w i ); (w i ); (w i ) (w j ); (w i ) (w j ); (w i ) (w j ); (w i ) (w j ); Obs: As variáveis em fbf podem ser livres ou vinculadas a um dos dois quantificadores, FACOM/UFU Página:3

4 Página:4 Álgebra Relacional (AR)

5 Página:5 Álgebra Relacional - Fundamentos Operações derivadas da teoria de conjuntos são definidas sobre relações Operadores fundamentais: UNÁRIOS: seleção, projeção BINÁRIOS: união, diferença, produto cartesiano Operadores adicionais: intersecção, junção θ, junção natural, semijunção, quociente Outros operadores: junção externa, união externa, fecho transitivo;

6 Página:6 Álgebra Relacional - Seleção Def. a Seleção σ F (R) retorna o subconjunto de tuplas de R que satisfazem a fórmula F. Pode ser vista como uma partição horizontal de R. F é chamado predicado da seleção F contêm termos do tipo (A θ c) ligados por conectores onde A é um atributo de R θ é um dos seguintes operadores: <, >, =,,, c uma constante conectores podem ser,,

7 AR Seleção - Exemplo 1 σ title= Mech.Eng. (emp) ENO ENAME TITLE E3 A. Lee Mech. Eng. FACOM/UFU E7 R. Davis Mech. Eng. Página:7

8 Página:8 AR Seleção - Exemplo 2 σ dno=4 sakart > (employee)

9 Página:9 Álgebra Relacional - Projeção Def. a Projeção π A,B (R) retorna o subconjunto de colunas, no caso {A, B} de R. Pode ser vista como uma partição vertical de R.. Exemplo Projeção: π pno, budget (proj)

10 AR Projeção - Considerações O resultado é um conjunto de tuplas distintas logo, π lname, pname, salary (employee) É diferente do resultado de SELECT lname, pname, salary FROM employee FACOM/UFU Página:10

11 Página:11 AR Sequência de operações Como recuperar o nome e salario dos funcionários do departamento 5? Alternativa 1: expressão da AR π lname, pname, salary (σ dno=5 (employee)) Alternativa 2: sequência explícita de operações EDEP5 σ dno=5 (employee) RESUL π lname, pname, salary (EDEP5)

12 Página:12 AR Renomeando atributos/relação R(unome,pnome,salario) π lname, pname, salary (EDEP5) Operação renomear, denotada por ρ: Renomeando a relação: ρ S (R) Renomeando os atributos: ρ unome,pnome, salario (R) Renomeando a relação e seus atributos: ρ S(unome,pnome, salario) (R)

13 Página:13 Álgebra Relacional - União Def. a União R S retorna o conjunto das tuplas que estão em R ou que estão em S, considerando os esquemas de R e S compatíveis

14 Álgebra Relacional União - Exemplo Recuperar o ssn dos empregados lotados no departamento 5 ou que supervisionam diretamente um empregado do departamento 5 EDEP5 σ dno=5 (employee) R1 π ssn (EDEP5) R2 π supersn (EDEP5) R R1 R2 FACOM/UFU Página:14

15 Página:15 AR Operações binárias com conjuntos Considerações sobre a União, Intersecção e Diferença ou subtração. Def. Compatibilidade de tipo: Duas relações R(A 1, A 2,... A n ) e S(B 1, B 2,... B m ) são compatíveis se tiverem o mesmo grau, i.e. m=n, e para todo 1 i n dom(a i )=dom(b i ).

16 Página:16 Álgebra Relacional - Diferença Def. a Diferença R - S retorna o conjunto das tuplas que estão em R mas não estão em S

17 Página:17 Álgebra Relacional - Intersecção Def. A Intersecção R S retorna o conjunto das tuplas que estão em R e em S

18 Página:18 Álgebra Relacional - Produto Cartesiano Def. o Produto Cartesiano R x S retorna o conjunto de tuplas formadas pela concatenação de cada tupla de R com todas as tuplas de S. Sendo (r, s) os graus das relações (R, S), respectivamente, (R x S) será uma relação de grau r+s

19 Página:19 Álgebra Relacional - Produto Cartesiano - Exemplo

20 Página:20 AR Conjunto completo de operações O conjunto de operações {σ, π,, ρ, -, x} é um conjunto completo, ou seja, qualquer operação da AR pode ser expresas como uma sequência dessas operações, por exemplo:

21 Página:21 Álgebra Relacional - Junção Def. a Junção θ é denotada por R F S e pode ser definida como σ F (R x S), onde F é do tipo (R.A θ S.B) sendo A e B atributos de R e S respectivamente. Também chamada junção interna (inner join) Se F é do tipo (R.A=S.B) a junção θ é chamada equijunção. Se F é do tipo (R.A=S.A) e dom(r.a)=dom(s.a), então a equijunção é chamada junção natural. Em junção natural haverá uma projeção no resultado final, aparecendo apenas uma das duas colunas de F. A junção natural pode ser denotada por R A S

22 Página:22 Álgebra Relacional - Junção - Exemplo

23 Página:23 Álgebra Relacional Junção Externa Def. a Junção Externa (outer join) entre R e S mantem na relação resultante tuplas que não têm correspondência na junção, sendo: - Junção externa à esquerda, R _ S, mantêm tuplas de R sem correspondência em S com NULLS nos atributos de S - Junção externa à direita, R _ S, mantêm tuplas de S sem correspondência em R com NULLS nos atributos de R - Junção externa completa, R _ _S, mantêm tuplas de R e S sem correspondência com S e R, respectivamente, com NULLS nos atributos de S e R, respectivamente.

24 Página:24 Álgebra Relacional Semi Junção Def. a Semi junção R F S é definida por π R (R F S) e retorna o subconjunto das tuplas de R que participam de R F S É utilizada para reduzir acesso a disco em BD centralizado e como estratégia para reduzir comunicação em BD Distribuídos

25 Página:25 Álgebra Relacional Divisão Def. a Divisão R S, sendo (r, s) os graus das relações (R, S), respectivamente, com r > s > 0, retorna o conjunto das (r-s)-tuplas t tais que para toda s-tupla u de S a r-tupla tu, formada pela concatenação de t e u, está em R. Sendo A o conjunto de atributos de R que não estão em S, então: R S = π A (R) - π A ((π A (R) x S) R)

26 Página:26 Álgebra Relacional Divisão - Exemplo Na Divisão (ASG PROJ ) o resultado é o conjunto detuplas <ENO> tais que para toda <PNO, PNAME, BUDGET> de PROJ existe a tupla <ENO,PNO,PNAME,BUDGET> em ASG. ASG PROJ ASG PROJ ENO OBS: A palavra-chave é toda. Somente E3 trabalha no dois projetos de PROJ, i.e. P3 e P4 E3

27 Álgebra Relacional Divisão passo a passo - 1 Divisão ASG PROJ = π ENO ASG - π ENO [[(π ENO ASG ) x PROJ ] ASG ] ENO E1 E2 E3 E4 FACOM/UFU E5 Página:27

28 Página:28 Álgebra Relacional Divisão passo a passo - 2 Divisão ASG PROJ = π ENO ASG - π ENO [[(π ENO ASG ) x PROJ ] ASG ]

29 Página:29 Álgebra Relacional Divisão passo a passo - 3 Divisão ASG PROJ = π ENO ASG - π ENO [[(π ENO ASG ) x PROJ ] ASG ]

30 Álgebra Relacional Divisão passo a passo - 4 Divisão ASG PROJ = π ENO ASG - π ENO [[(π ENO ASG ) x PROJ ] ASG ] ENO ENO E1 E2 E3 - E1 = E2 E4 ENO E3 E4 E5 E5 FACOM/UFU E6 Página:30

31 Página:31 Álgebra Relacional - Expressões Seja o BD

32 Página:32 Álgebra Relacional Expressões Exemplo 1 Qual o nome dos funcionários que trabalham no projeto CAD/CAM? π ENAME (((σ PNAME= CAD/CAM PROJ) PNO ASG) ENO EMP) Uma solução com relações intermediários menores é: π ENAME (EMP ENO (π ENO (ASG PNO (σ PNAME= CAD /CAM PROJ)))

33 Página:33 Álgebra Relacional Expressões Exemplo 2 Atualizar o salário dos programadores (TITLE= Programmer ) para (PAY (σ TITLE= Programmer PAY)) (<Programmer, 25000>)

34 Página:34 Álgebra Relacional Árvore de Consulta Def. uma árvore de consulta é uma estrutura de dados em árvore que representa uma expressão da álgebra relacional. Seja a expressão:

35 Página:35 AR Árvore de Consulta- Exemplo

36 Página:36 AR Outras operações Projeção Generalizada Projeção generalizada: uso de expressões aritméticas

37 Página:37 AR Outras op. Agregação e Agrupamento Funções de agregação e agrupamento

38 Página:38 AR Outras op. Fecho transitivo Como recuperar o ssn dos empregados da hierarquia de um supervisor Necessita um mecanismo de Loop ou Recursão que não está especificado na AR Veremos...

39 Página:39 Álgebra Relacional Exercícios Ver [EN] capítulo 6

40 Página:40 Cálculo Relacional - CR

41 Página:41 Fundamentos do Cálculo Relacional Linguagem declarativa Cálculo Relacional de Tupla é semelhante ao SQL Cálculo Relacional de Domínio semelhante ao QBE (Query By Example)

42 Cálculo Relacional de Tupla - CRT Def. no Cálculo Relacional de Tupla uma variável t é interpretada como uma tupla qualquer e a consulta é: {t F(t)} ou {t.a 1, t.a 2,..., t A n F(t 1, t 2,, t n,, t n+1, t n+2,..., t n+m )} onde: F é uma fórmula com átomos do tipo: R(t) ou R.t (t i.a θ t j.b) : A e B atributos das relações onde t i e t j variam respectivamente eθ Є {<, >, =,,, } (c θ t j.b) ou (t i.a θ c) Cada átomo é avaliado como true ou false, R.t é true se t é tupla de R e false cc A fórmula F é composta por átomos conectados pelos operadores booleanos AND, OR e NOT seguindo as seguintes regras: FACOM/UFU Página:42

43 Cálculo Relacional de Tupla - CRT Regra 1) todo átomo é uma fórmula Regra 2) se F 1 e F 2 são fórmulas então também são: ( F 1 AND F 2 ), (F 1 OR F 2 ), NOT(F 1 ) e NOT(F 2 ) Além disso as variáveis podem ser livres ou ligadas por meio dos quantificadores,. Regra 3) se F é uma fórmula então tambem é ( t) (F), que é verdadeira se para alguma tupla atribuida a t F for verdadeira cc é falsa Regra 4) se F é uma fórmula então tambem é ( t) (F) que é verdadeira se para toda tupla atribuída a t F for verdadeira cc é falsa FACOM/UFU Página:43

44 Página:44 CRT e SQL Exemplo 1 {t emp(t) AND t.title= Mech.Eng. } O SQL é uma linguagem declarativa baseada no cálculo relacional de tupla. Veja a semelhança SELECT * FROM emp t WHERE t.title = Mech.Eng.

45 Página:45 CRT e SQL Exemplo 2 Q0: Recuperar (data de nascimento, endereço) do funcionário cujo nome é João Batista {t.birthdate, t.address emp(t) AND t.name = 'João Batista'} SELECT t.birthdate, t.address FROM emp t WHERE t.name = 'João Batista'

46 Página:46 CRT Exemplo 3 Q1: Listar o nome e o endereço dos funcionários que trabalham para o departamento 'Pesquisa' {t.pname, t.lname, t.address employee(t) AND ( d)(department(d)) AND d.dname = 'Pesquisa' AND d.dnumber=t.dno} Obs.: as variáveis livres na consulta devem aparecer antes da barra vertical

47 CRT e SQL Exemplo 3 Q1: Listar o nome e o endereço dos funcionários que trabalham parao departamento 'Pesquisa' {t.pname, t.lname, t.address employee(t) AND ( d)(department(d)) AND d.dname = 'Pesquisa' AND d.dnumber=t.dno} SELECT t.pname, t.lname, t.address FROM employee t, department d WHERE d.dname = 'Pesquisa' AND d.dnumber=t.dno FACOM/UFU Página:47

48 Página:48 CRT Outros exemplos - Q2 Q2: Listar o número do projeto, o número do departamento que o controla, o sobrenome, data de nascimento e o endereço do funcionário que controla o departamento para projetos localizados em Mauá

49 Página:49 CRT Outros exemplos Q0' Q0': Listar os nomes dos funcionários que trabalham em algum projeto controlado pelo departamento 5

50 Página:50 CRT Outros exemplos Q4 Q4: Listar o número dos projetos que envolvem um funcionário cujo nome é 'Silva', seja como trabalhador ou como gerente de um departamento que controla o projeto.

51 Página:51 CRT Transfomação de quantificadores

52 Página:52 CRT Implicação

53 CRT Usando o quantificador universal Q3: Listar os nomes dos funcionários que trabalham em todos os projetos controlados pelo departamento 5 {f.lname, f.fname employee(f) AND (( p)(not (project(p)) OR NOT (p.dnum=5) OR (( t)(works_on(t) AND t.essn=f.ssn Ou (vide [RG, pg 102] AND p.pnumber=t.pno))))} {f.lname, f.fname employee(f) AND (( p)((project(p)) AND (p.dnum=5) AND (( t)(works_on(t) AND t.essn=f.ssn AND p.pnumber=t.pno))))} FACOM/UFU Página:53

54 CRT Substituindo pelo quantificador existencial Q3: Listar os nomes dos funcionários que trabalham em todos os projetos controlados pelo departamento 5 {f.lname, f.fname employee(f) AND (NOT ( p) (project(p) AND (p.dnum=5) AND (NOT ( t)(works_on(t) AND t.essn=f.ssn AND p.pnumber=t.pno))))} FACOM/UFU Página:54

55 CRT Expressões segura e insegura Def. Uma expressão segura no cálculo relacional é aquela que gera como resultado um número finito de tuplas, caso contrário é chamada expressão insegura Exemplo de expressão insegura: {t NOT (employee(t))} Obs.: Definimos domínio da expressão como o conjunto de constantes ou tuplas de relações mencionadas na expressão. Logo, o resultado da expressão acima inclui tuplas que não estão no domínio da expressão, tornando-a insegura. FACOM/UFU Página:55

56 Página:56 Cálculo Relacional de Domínio Cálculo Relacional de Domínio: uma variável x é interpretada como um valor em um domínio Consulta:{x 1, x 2,..., x n F(x 1, x 2,..., x n+1, x n+2,..., x n+m )} F é uma fbf, análoga ao CRT, onde x 1, x 2,..., x n são variáveis livres Exemplo: {ENO, ENAME EMP(ENO,ENAME, Mech.Eng. )} O QBE(query by example) é uma linguagem declarativa baseado no Cálculo Relacional de Domínio. Semelhantemente as interfaces gráficas do MS Access e do Borland Paradox

57 CRD Exemplo Q0 Q0: Listar a data de nascimento e o endereço do funcionario cujo nome é 'João B Silva' {u, v ( q)( r)( s)( t)( w)( x)( y)( z) ( employee(q,r,s,t,u,v,w,x,y,z) AND q='joão' AND AND r='b' AND s='silva')} Obs.: cada variável percorre o domínio de um atributo FACOM/UFU Página:57

58 CRD Exemplo Q0A Notação QBE Q0: Listar a data de nascimento e o endereço do funcionario cujo nome é 'João B Silva' No QBE as condições são inseridas diretamente no esquema da relação. Além disso, considere nos exemplos subsequentes que as variáveis que não aparecem antes da e que não são usadas em condições estão automaticamente quantifiadas com {u, v employee('joão', 'B', 'Silva', t,u,v,w,x,y,z)} FACOM/UFU Página:58

59 CRD Exemplo Q1 Q1: Listar o nome e o endereço de todos os funcionários que trabalham para o departamento 'Pesquisa' {q, s, v ( z)( l)( m) ( employee(q,r,s,t,u,v,w,x,y,z) AND deparment(l,m,n,o) AND l='pesquisa' AND m=z)} FACOM/UFU Página:59

60 CRD Exemplo Q2 Q1: Listar o número do projeto, o número do departamento que o controla, o último nome, data de nascimento e endereço do gerente do departamento que controla projetos localizados em 'Mauá' {i, k, s, u, v ( j)( l)( m)( n)( t) (project(h,i,j,k) AND employee(q,r,s,t,u,v,w,x,y,z) AND deparment(l,m,n,o) AND k=l AND j='mauá' AND n=t)} FACOM/UFU Página:60

61 CRD Exemplo Q7 Q1: Listar o nome dos gerentes que têm pelo menos um dependente {s, q ( t)( n)( h) employee(q,r,s,t,u,v,w,x,y,z) AND deparment(l,m,n,o) AND dependent(h,i,j,k) AND t=n AND t=h)} FACOM/UFU Página:61

62 Página:62 Cálculo Relacional Exercícios Ver [EN] capítulo 6

63 Página:63 FIM Álgebra e Cálculo Relacional FIM

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação

ALGEBRA RELACIONAL. Álgebra Relacional Conjunto básico de operações para o Modelo Relacional O resultado é uma relação 1/5 Universidade Federal da Bahia Disciplina: Banco de Dados Prof a. Daniela Barreiro Claro ALGEBRA RELACIONAL Duas linguagens formais do Modelo Relacional o Álgebra Relacional e Cálculo Relacional Álgebra

Leia mais

IEC Banco de Dados I Aula 06 Álgebra Relacional

IEC Banco de Dados I Aula 06 Álgebra Relacional IEC Banco de Dados I Aula 06 Álgebra Relacional Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Ambiente virtual: hlp://bdufam.wordpress.com Sumário

Leia mais

ÁLGEBRA E CÁLCULO RELACIONAL

ÁLGEBRA E CÁLCULO RELACIONAL UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO ERINALDO SANCHES NASCIMENTO ÁLGEBRA E CÁLCULO RELACIONAL MARINGÁ 2014 SUMÁRIO SUMÁRIO...1 1 INTRODUÇÃO...2 1.1

Leia mais

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional Bases de Dados MI / LCC / LEG / LERSI / LMAT Parte IV Álgebra e Cálculo Relacional Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações

Leia mais

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011

Banco de Dados. Aula 8 - Prof. Bruno Moreno 16/09/2011 Banco de Dados Aula 8 - Prof. Bruno Moreno 16/09/2011 Plano de Aula Operações Unárias Seleção Projeção Operações de seleção e projeção seqüenciadas Operação Rebatizar Operações Binárias União Interseção

Leia mais

Uma consulta em CRT é especificada da seguinte forma:

Uma consulta em CRT é especificada da seguinte forma: Capítulo 7-? Cálculo Relacional O Cálculo Relacional (CR) é uma linguagem de consulta formal. Utilizando-se de uma expressão declarativa pode-se especificar uma consulta. Uma expressão de cálculo permite

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 1 Introdução e Consultas Basicas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM Página

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 3 Tabelas de Junção e Funções de Agregação Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC UFU/FACOM

Leia mais

Banco de Dados. Cálculo Relacional de Tuplas. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Cálculo Relacional de Tuplas. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados Cálculo Relacional de Tuplas João Eduardo Ferreira Osvaldo Kotaro Takai Introdução O Cálculo Relacional de Tuplas (CRT) é uma alternativa à Álgebra Relacional (AR). A AR é procedimental,

Leia mais

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional

Banco de Dados Prof. Célio R. Castelano Página 1 de 9. Álgebra Relacional Banco de Dados Prof. Célio R. Castelano Página 1 de 9 Álgebra Relacional A álgebra relacional é uma linguagem procedural, que possui uma coleção de operações que são utilizadas para manipular relações

Leia mais

Álgebra e cálculo relacional. Andre Noel

Álgebra e cálculo relacional. Andre Noel Álgebra e cálculo relacional Andre Noel Introdução Introdução A SQL é baseada na álgebra e no cálculo relacional Introdução A SQL é baseada na álgebra e no cálculo relacional O modelo de dados precisa

Leia mais

Faculdade Pitágoras Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

Faculdade Pitágoras 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 Unidade 6.2 Álgebra Relacional - Junção PACIENTE cod-pac

Leia mais

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi Banco de Dados II Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Álgebra Relacional Linguagem de consulta procedural; Consiste em um conjunto básico de operações,

Leia mais

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional

Bases de Dados. Parte IV: Álgebra e Cálculo Relacional Bases de Dados Parte IV Álgebra e Cálculo Relacional 1 Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações da álgebra relacional produzem

Leia mais

Bases de Dados. Parte IV

Bases de Dados. Parte IV Bases de Dados Parte IV Álgebra e Cálculo Relacional (Estes slides são a continuidade evolutiva dos slides de Ricardo Rocha (2005-2014) e de Fernando Silva (1995-2000), e são baseados no livro de Elmasri

Leia mais

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional Processamento de Consultas em BD Distribuídos Decomposição de consultas e Localização de dados IN1128/IF694 Bancos de Dados Distribuídos e Móveis Ana Carolina Salgado acs@cin.ufpe.br Bernadette Farias

Leia mais

Bases de Dados. Parte IV. Álgebra e Cálculo Relacional

Bases de Dados. Parte IV. Álgebra e Cálculo Relacional Bases de Dados Parte IV Álgebra e Cálculo Relacional Ricardo Rocha DCC-FCUP 1 Álgebra Relacional Conjunto básico de operações que nos permitem manipular relações no modelo relacional. As operações da álgebra

Leia mais

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Sumário Conceitos Básicos Domínios, atributos, tuplas e relações Características das relações Notação Restrições de Integridade Domínio, chave, integridade entidade e integridade

Leia mais

Processamento e Otimização de Consultas

Processamento e Otimização de Consultas Processamento e Otimização de Consultas Processo de Execução de uma Consulta 1 Otimização de Consultas SQL Em algumas linguagens de consulta, a estratégia de execução é definida pela maneira como o usuário

Leia mais

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Operações

Leia mais

Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução

Roteiro. Álgebra Relacional e Cálculo Relacional. BCC321 - Banco de Dados I. Introdução. Ementa. Posicionamento. Introdução Roteiro Álgebra Relacional e Cálculo Relacional Posicionamento Luiz Henrique de Campos Merschmann Departamento de Computação Universidade Federal de Ouro Preto luizhenrique@iceb.ufop.br www.decom.ufop.br/luiz

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

ANÁLISE E PROJETO DE BANCO DE DADOS ANÁLISE E PROJETO DE BANCO DE DADOS ÁLGEBRA E CÁLCULO RELACIONAL FELIPE G. TORRES APRESENTAÇÃO Avaliações AV1 AV2 TRAB1 TRAB2 REFERÊNCIAS GRAVES, M. Projeto de Banco de Dados com XML. São Paulo: Makron

Leia mais

Álgebra Relacional e SQL operações de interesse

Álgebra Relacional e SQL operações de interesse Álgebra Relacional e SQL operações de interesse Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta

Leia mais

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas UTFPR - Universidade Tecnológica Federal do Paraná Processamento e otimização de consultas Leyza Baldo Dorini 04/Nov/2009 Programação da aula Introdução: processamento e otimização de consultas Etapas:

Leia mais

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas

GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas GES013 - Sistema de Banco de Dados SQL/DML no PostgreSQL Parte 2 Consultas Aninhaas Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC SQL/DML Parte 2 Consultas Aninhadas

Leia mais

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

Banco de Dados I Módulo III: Linguagens de Consulta. (Aula 1) Clodis Boscarioli Banco de Dados I 2007 Módulo III: Linguagens de Consulta (Aula 1) Clodis Boscarioli Conteúdo do Módulo: Linguagens de Consulta Formais Álgebra Relacional; Cálculo Relacional de Tupla; Cálculo Relacional

Leia mais

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br ROTEIRO Introdução

Leia mais

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU Aula 8 BD1 Álgebra Relacional Profa. Elaine Faria UFU - 2018 Introdução Linguagens de consulta formais associadas ao modelo relacional Álgebra Usa uma coleção de operadores e cada consulta descreve um

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

Modelo de Dados Relacional

Modelo de Dados Relacional Modelo de Dados Relacional Introdução O modelo relacional representa um banco de dados como um conjunto de relações Informalmente, uma relação é uma tabela de valores, onde cada linha representa uma coleção

Leia mais

Álgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída

Álgebra Relacional. Linguagem de consultas procedural Conjunto de operações que usam uma ou duas relações como entrada e geram uma relação de saída Algebra Relacional Adaptado de Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Álgebra Relacional Linguagem de consultas procedural

Leia mais

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão

Curso EFA Tecnológico Técnico de Informática e Sistemas. - Álgebra Relacional - João Leitão Curso EFA Tecnológico Técnico de Informática e Sistemas - Álgebra Relacional - João Leitão Linguagens relacionais Notações para expressar perguntas: algébrica aplicação de operadores a relações lógica

Leia mais

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC) GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página:2 Projeto de BD Relacionais

Leia mais

Álgebra Relacional e SQL

Álgebra Relacional e SQL Álgebra Relacional e SQL Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri Álgebra Relacional Maneira teórica de se manipular o banco de dados relacional Linguagem de consulta procedural usuários

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

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

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

Leia mais

- SQL Linguagem de Manipulação de Dados

- SQL Linguagem de Manipulação de Dados - SQL Linguagem de Manipulação de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri SELECT SELECT FROM [ WHERE predicado

Leia mais

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução

Álgebra Relacional. Programa. Modelos de Dados. LCs relacionais formais. Introdução Programa DCC011 Introdução a Banco de Dados Álgebra Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,

Leia mais

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Tópicos Apresentação Seleção Projeção Renomeio de Atributos União, Subtração e operações de conjuntos Junção:

Leia mais

Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados.

Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados. Álgebra Relacional Um modelo de dados, além de definir estruturas e restrições, deve definir um conjunto de operações para manipular os dados. A álgebra relacional constitui o conjunto básico de operações

Leia mais

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado

Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado Bancos de Dados Notas de Aula Álgebra Relacional Introdução Prof. Dr. Daniel A. Furtado 1 SELEÇÃO (SELECT): Seleciona todas as tuplas de uma relação R que satisfazem uma condição. Notação: Operadores de

Leia mais

Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.

Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade. 2. Modelo Relacional... 2.1. Estrutura de Dados Relacional... 2.2. Álgebra Relacional Um modelo por si próprio não pode realizar qualquer unidade de trabalho útil. É apenas uma representação da realidade.

Leia mais

Álgebra Relacional e Cálculo Relacional

Álgebra Relacional e Cálculo Relacional SISTEMAS DE INFORMAÇÃO Álgebra Relacional e Cálculo Relacional Prof. Edson Thizon Linguagens de consultas formais (1) Uma linguagem de consulta (Query Language) é uma linguagem com a qual o usuário pode

Leia mais

António Rocha Nuno Melo e Castro

António Rocha Nuno Melo e Castro António Rocha Nuno Melo e Castro Definição: colecção de operadores que tomam relações como seus operandos e retornam relações como resultados Cada operador da álgebra aceita como argumentos instâncias

Leia mais

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora... Ciência da Computação GBC043 Sistemas de Banco de Dados Linguagens formais de Consulta Modelo Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufu.br Bloco B - sala 1B137 1 semestre de 2019

Leia mais

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional

Álgebra Relacional. Introdução. Introdução. Álgebra Relacional Pós-graduação em Ciência da Computação CCM-205 Sistema de Bancos de Dados O que foi visto até agora... Álgebra Relacional Profa. Maria Camila Nardini Barioni camila.barioni@ufabc.edu.br Bloco B - sala

Leia mais

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas Principais Desafios dos SGBDDs Processamento Distribuído de Consultas Fernanda Baião baiao@cos.ufrj.br Processamento Distribuído de Consultas conversão de transações do usuário em instruções de manipulação

Leia mais

Bancos (Bases) de Dados Aula #7 Álgebra Relacional

Bancos (Bases) de Dados Aula #7 Álgebra Relacional Bancos (Bases) de Dados Aula #7 Álgebra Relacional Cálculo Relacional Prof. Eduardo R. Hruschka * Slides baseados no material elaborado pelas professoras: Cristina D. A. Ciferri Elaine P. M. de Souza Álgebra

Leia mais

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE))

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE)) Introdução Como o SGBD INTERNAMENTO processa, otimiza e executa consultas de alto nível Introdução a Processamento de Consultas MIRELLA M. MORO mirella@dcc.ufmg.br http://www.dcc.ufmg.br/ br/~mirella 2

Leia mais

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único.

Modelo Relacional: Banco de Dados: coleção de relações cada relação tem um nome único. Banco de Dados / 1 Bacharelado em Sistemas de Informação BANCOS DE DADOS Aula 13 Álgebra Relacional Introdução Banco de Dados / 2 Recordando... Modelo Relacional: Banco de Dados: coleção de relações cada

Leia mais

GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD

GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Projeto de BD Relacionais Método 1: mapeamento

Leia mais

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

Álgebra Relacional operações adicionais. Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li? Bases de Dados Álgebra Relacional operações adicionais Divisão ( ) Encontrar tuplos que obedecem a uma dada relação questões do tipo: quem já leu todos os livros que eu já li? exemplo: nomes dos clientes

Leia mais

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados. Álgebra Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai Banco de Dados Álgebra Relacional João Eduardo Ferreira Osvaldo Kotaro Takai Introdução A Álgebra Relacional contempla um conjunto de operações que permitem especificar consultas sob relações. As operações

Leia mais

Bases de Dados Uma Recordação da Algebra Relacional

Bases de Dados Uma Recordação da Algebra Relacional Bases de Dados Uma Recordação da Algebra Relacional Caetano Traina Jr. 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.usp.br

Leia mais

Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap.

Bases de Dados 2013/2014 Álgebra Relacional. Helena Galhardas 2013 IST. Bibliografia. Raghu Ramakrishnan, Database Management Systems, Cap. Bases de Dados 2013/2014 Álgebra Relacional Helena Galhardas Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 4 1 1 Álgebra Relacional Sumário 2 Linguagens Formais de Interrogação Relacionais

Leia mais

Introdução a Bancos de Dados

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

Leia mais

4. Projecto de Bases de Dados

4. Projecto de Bases de Dados SI MIEIG 7-8 1 4. Projecto de Bases de Dados 4.1 Introdução aos SGBD - Sistemas de Gestão de Bases de Dados 4.2 Sistemas Relacionais e Linguagem SQL 4.3 Normalização Funcional de Dados para Concepção de

Leia mais

Universidade Veiga de Almeida

Universidade Veiga de Almeida Banco de Dados II Universidade Veiga de Almeida Banco de Dados II Prof. Luiz Antônio Vivacqua C. Meyer (luiz.vcm@gmail.com) Linguagens de Consulta Linguagens nas quais os usuários fazem requisições de

Leia mais

O Modelo e a Álgebra Relacional

O Modelo e a Álgebra Relacional O Modelo e a Álgebra Relacional O Modelo Relacional Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas Baseado em lógica de predicados e na teoria de conjuntos.

Leia mais

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

Bases de Dados. Álgebra Relacional. Selecção (σ) Seleccionar os tuplos que satisfazem uma condição. exemplo: empréstimos da agência de Perryridge Bases de Dados Álgebra Relacional Selecção (σ) Seleccionar os tuplos que satisfazem uma condição exemplo: empréstimos da agência de Perryridge σ branch_name = Perryridge (loan) 2 1 Outros exemplos de selecção

Leia mais

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE CARACTERISTICA DE UMA TABELA: NÃO EXISTEM DUAS LINHAS IGUAIS A ORDEM DAS LINHAS É INSIGNIFICANTE A ORDEM DAS COLUNAS É INSIGNIFICANTE

Leia mais

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas) Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas) Este exame consiste em 16 perguntas de escolha múltipla. Para todas as questões existe apenas 1 resposta correcta.

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

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

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

Leia mais

DCC011 Introdução a Banco de Dados

DCC011 Introdução a Banco de Dados DCC011 Introdução a Banco de Dados SQL select avançado Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Revisão: consultas básicas Formato

Leia mais

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5

TECNOLOGIA EM SISTEMAS PARA INTERNET. Banco de dados em aplicativos WEB. Aula 5 TECNOLOGIA EM SISTEMAS PARA INTERNET Banco de dados em aplicativos WEB Aula 5 1 Álgebra Relacional Agenda Operação Rename / Renomear Teoria de conjuntos Intersecção de conjuntos Operação de produto cartesiano

Leia mais

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo.

Banco de Dados I. Prof. Diego Buchinger. Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo. Banco de Dados I Prof. Diego Buchinger diego.buchinger@outlook.com diego.buchinger@udesc.br Profa. Rebeca Schroeder Freitas Prof. Fabiano Baldo Álgebra Relacional Modelo Relacional - Manipulação Categorias

Leia mais

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. Histórico Foi introduzido por Codd (1970) Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. É um modelo formal, baseado na teoria matemática das relações

Leia mais

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula: Otimização Prof. Daniela Barreiro Claro Introdução a Otimização SQL, SQL3 e OQL são linguagens declarativas O SGBD deve processar e otimizar estas consultas antes delas serem

Leia mais

Banco de Dados I Álgebra Relacional

Banco de Dados I Álgebra Relacional Banco de Dados I Álgebra Relacional Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Álgebra Relacional Álgebra Relacional: conjunto de operações que podem

Leia mais

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

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

Leia mais

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br UFU/FACOM

GES013 Sistema de Banco de Dados. Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br  UFU/FACOM GES013 Sistema de Banco de Dados Modelo Relacional (R) Ilmério Reis da Silva ilmerio arroba ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM UFU/FACOM Página 2 Modelo Relacional R : Definição Def. O MODELO

Leia mais

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC

GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC GBC043 - Sistemas de Banco de Dados SQL/DML no PostgreSQL Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM/BCC Página 2 Prgrama Teórico/Prático - SQL Linguagem SQL Comandos

Leia mais

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Processamento e Otimização de Consultas Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Conteúdo Processamento de consultas; Introdução Etapas no Processamento de Consultas

Leia mais

Banco de Dados. Cálculo Relacional de Domínio. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

Banco de Dados. Cálculo Relacional de Domínio. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Banco de Dados Cálculo Relacional de Domínio João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger Introdução É uma linguagem de consulta nãoprocedimental equivalente em capacidade expressiva ao CRT

Leia mais

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina Banco de Dados Definido por E F Codd em 1970, teve sua grande aceitação comercial a partir de meados da década de 1980 Razões da grande aceitação Simplicidade dos conceitos básicos Poder dos operadores

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

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

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

Leia mais

Sumário SELECT + FROM

Sumário SELECT + FROM Sumário 1 Introdução SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 2 3 Operadores de Conjuntos 4 5 Agregações 6 Ordenações e Limites 7 Sub-perguntas 8

Leia mais

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento

Modelo Relacional. Relacionamento. Processo de Projeto de. Programa. Modelo Entidade Relacionamento Programa DCC011 Introdução a Banco de Dados Modelo Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,

Leia mais

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9 BDDAD Bases de Dados Linguagem SQL Comando SELECT Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9 Operador Sumário Introdução Expressão Equivalente em SQL Soluções Tradução Directa de Expressão Algébrica Quantificação

Leia mais

Laboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes

Laboratóriode Bases de Dados Aula12. ÁlgebraRelacional-Revisão. Professora: Fátima L. S. Nunes ACH2025 Laboratóriode Bases de Dados Aula12 ÁlgebraRelacional-Revisão Professora: Fátima L. S. Nunes Álgebra Relacional operações fundamentais: selecionar projetar renomear unárias produto cartesiano união

Leia mais

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

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

Leia mais

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

SQL - Perguntas. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012 SQL - Perguntas André Restivo Faculdade de Engenharia da Universidade do Porto February 24, 2012 André Restivo (FEUP) SQL - Perguntas February 24, 2012 1 / 46 Sumário 1 Introdução 2 Seleccionar e Filtrar

Leia mais

Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado

Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Banco de Dados Notas de Aula Consultas em SQL Prof. Dr. Daniel A. Furtado Forma geral: SELECT FROM [WHERE ] [GROUP BY ]

Leia mais

Álgebra Relacional: Prod. Cartesiano. Álgebra Relacional: Projeção. Álgebra Relacional: Junção Natural. Álgebra Relacional: Junção. 1.

Álgebra Relacional: Prod. Cartesiano. Álgebra Relacional: Projeção. Álgebra Relacional: Junção Natural. Álgebra Relacional: Junção. 1. Programa DCC011 Introdução a Banco de Dados Álgebra Relacional Mirella M. Moro Departamento de Ciência da Computação Universidade Federal de Minas Gerais mirella@dcc.ufmg.br Introdução Conceitos básicos,

Leia mais

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU

Aula 11 SBD SQL Parte 3. Profa. Elaine Faria UFU Aula 11 SBD SQL Parte 3 Profa. Elaine Faria UFU - 2018 Group by e Having Às vezes deseja-se aplicar operações agregadas a cada um dos vários grupos de linhas em um relação Group by e Having C31: Encontre

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

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

Leia mais

!" # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional

! # Modelos de dados. 1ª geração. 2ª geração. 3ª geração. Modelo Hierárquico Modelo Rede. Modelo Relacional Nuno Melo e Castro !" # Modelos de dados 1ª geração Modelo Hierárquico Modelo Rede 2ª geração Modelo Relacional 3ª geração Extensões ao modelo relacional Modelo lógico-dedutivo Modelo orientado a objectos

Leia mais

Abordagem relacional. Capítulo 4

Abordagem relacional. Capítulo 4 Abordagem relacional Capítulo 4 Abordagem Relacional Abordagem de modelagem de dados usada nos sistemas de gerência de banco de dados do tipo relacional. Modelagem em nível lógico (SGBD) e não conceitual.

Leia mais

Linguagem de Consulta/Interrogação

Linguagem de Consulta/Interrogação Linguagem de Consulta/Interrogação Álgebra Relacional Linguagem a que o utilizador recorre para obter informação a partir da base de dados. Categorias de linguagens Linguagens Teóricas Procedimentais Declarativas

Leia mais

Projeto de Bancos de Dados Distribuídos (Parte 01)

Projeto de Bancos de Dados Distribuídos (Parte 01) Projeto de Bancos de Dados Distribuídos (Parte 01) IF694 BD Distribuídos e Móveis Bernadette Farias Lóscio bfl@cin.ufpe.br Tipos de fragmentação n n Fragmentação vertical 1 Grau de fragmentação n É preciso

Leia mais

Lógica para computação - Linguagem da Lógica de Predicados

Lógica para computação - Linguagem da Lógica de Predicados DAINF - Departamento de Informática Lógica para computação - Linguagem da Lógica de Predicados Prof. Alex Kutzke ( http://alex.kutzke.com.br/courses ) 13 de Outubro de 2015 Razões para uma nova linguagem

Leia mais

BCD29008 Banco de dados

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

Leia mais

Otimização e Execução de Consultas Caso Centralizado Parse Query

Otimização e Execução de Consultas Caso Centralizado Parse Query Bancos de Dados III Processamento de Consultas em Bancos de Dados Distribuídos Rogério Costa rogcosta@inf.puc-rio.br 1 Otimização e Execução de Consultas Caso Centralizado Parse Query Check de Semântica

Leia mais

Modelo Entidade-Relacionamento (E-R)

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

Leia mais