Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouZilda Schmidt Caminha Alterado mais de 8 anos atrás
1
Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN
2
Modelo Relacional – Álgebra Relacional
SELEÇÃO () Descrição: seleciona tuplas que satisfazem a um predicado Entrada: uma relação R Saída: uma relação R’, tal queR’R Formato: (R) Ex: (ALUNO) <predicado de seleção> AND , OR , NOT , , , , , , Nome‘João Azevedo’ AND N_matricula> Bancos de Dados I –
3
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Seleção– Exemplo Tabela r A B C D 1 5 12 23 7 3 10 A=B ^ D > 5 (r) A B C D Em SQL Select * from R where a=b and d>5 1 23 7 10 Bancos de Dados I –
4
Modelo Relacional – Álgebra Relacional
PROJEÇÃO () Descrição: seleciona atributos de uma relação Entrada: uma relação R Formato: (R) Ex: (ALUNO) ( (ALUNO)) <lista de atributos> Nome, N_matricula Nome, Data_nasc N_matricula> Bancos de Dados I –
5
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Project– Exemplo Tabela r: A B C 10 20 30 40 1 2 A C 1 2 Em SQL Select a, c from R Bancos de Dados I –
6
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Esquema das operações Bancos de Dados I –
7
Modelo Relacional – Álgebra Relacional
UNIÃO () Descrição: reúne em uma única relação as tuplas das relações de entrada Entrada: duas relações R1 e R2, compatíveis. Sejam duas relações de grau n, R1(A1, ..., An) e R2(B1, ..., Bn), se dom(A1)=dom(B1), ..., dom(An)=dom(Bn), então R1 e R2 são compatíveis. Saída: uma relação R’, tal que grau(R’) = grau(R1) = grau(R2) e R’R1 e/ou R’R2 Formato: R1 R2 Bancos de Dados I –
8
Bancos de Dados I – jose.Cunha@ifrn.edu.br
União– Exemplo Tabelas r, s: A B A B 1 2 2 3 s r r s: A B Em SQL Select a, b from R Union all Select a,b from S 1 2 3 Bancos de Dados I –
9
Modelo Relacional – Álgebra Relacional
DIFFERENÇA DE CONJUNTOS () Descrição: seleciona as tuplas presentes na primeira relação e não presentes na segunda Entrada: duas relações R1 e R2, compatíveis. Saída: uma relação R’, tal que grau(R’) = grau(R1) = grau(R2) e R’R1 Formato: R1 R2 Ex: (ALUNO) (PROFESSOR) Nome Nome Bancos de Dados I –
10
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Diferença – Exemplo Tabelas r, s: A B A B 1 2 2 3 s r Em SQL Select a, b from R minus Select a, b from S A B r – s: 1 Bancos de Dados I –
11
Modelo Relacional – Álgebra Relacional
PRODUTO CARTESIANO () Descrição: concatena as tuplas das relações de entrada de forma combinatorial Entrada: duas relações R1(A1, ..., An) e R2(B1, ..., Bn), não necessariamente compatíveis. Saída: uma relação R’(A1, ..., An, B1, ..., Bn), tal que grau(R’) = grau(R1) + grau(R2) e R’=R1*R2 Formato: R1 R2 Obs: sem significado se aplicada isoladamente Ex: ALUNO PROFESSOR Bancos de Dados I –
12
Produto Cartesiano – Exemplo
B C D E Tabelas r, s: 1 2 10 20 + – r s r x s: A B C D E 1 2 10 19 20 + – Em SQL Select * from R,S Bancos de Dados I –
13
Operador relacional de DIVISÃO
COL1 COL2 A 1 B C 2 3 4 5 COL2 2 3 COL1 C A ÷ B Tabela_B As linhas da Tabela A que não possuem correspondência com todas as linhas da Tabela B serão excluídas. Em SQL Select distinct col1 from Tabela_A a where not exists (select null from Tabela_B b where not exists (select null from Tabela_A where col2=b.col2 and a.col1=col1)); Tabela_A Bancos de Dados I –
14
Operador relacional de RENOMEAR
Sintaxe ρ<novo nome (R) Exemplo TB_ESTADO_CIVIL (estado_civil, descrição) ρEA(cod,desc) (TB_ESTADO_CIVIL) Em SQL Select estdo_civil as cod, descrição as desc from TB_ESTADO_CIVIL EA Bancos de Dados I –
15
Representação Gráfica
Operadores Tradicionais União Intersecção Diferença Bancos de Dados I –
16
Representação Gráfica
Operadores Tradicionais Produto Cartesiano Bancos de Dados I –
17
Representação Gráfica
Operadores Relacionais Seleção Projeção Bancos de Dados I –
18
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Simbologia União R S Diferença R – S Prod. Cartesiano R S Seleção F (R) Projeção i1, i2, ..., im(R) Junção R ⋈ S Bancos de Dados I –
19
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Modelo Relacional – Álgebra Relacional FUNÇÕES DE AGREGAÇÃO () Uma função de agregação tome uma coleção de valores e retorna um único valor como resultado avg: média min: mínimo max: máximo sum: soma count: número de valores Formato: G1, G2, …, Gn F1( A1), …, Fn( An) (R) R é uma relação G1, G2 …, Gn é a lista de atributos de agrupamento (pode ser vazia) Cada Fi é uma função de agregação Cada Ai é um atributo Bancos de Dados I –
20
Funções agregadas – Exemplo
Tabela r: A B C 7 3 10 sum-C Sum c(r) 27 Bancos de Dados I –
21
Funções agregadas – Exemplo
Tabela contas agrupada por branch-name (filial): branch-name account-number balance Perryridge Brighton Redwood A-102 A-201 A-217 A-215 A-222 400 900 750 700 branch-name sum balance (account) branch-name balance Perryridge Brighton Redwood 1300 750 700 Bancos de Dados I –
22
Bancos de Dados I – jose.Cunha@ifrn.edu.br
Exemplos sum salario (trabalhador) count nome_agencia(trabalhador) Count-distinct nome_agencia(trabalhador) Nome_agência G sum salario (trabalhador) Dividirá as tuplas de trabalhador em grupos, conforme os nomes das agências Somará os valores dos salários de cada grupo Apresentará o resultado Bancos de Dados I –
23
Exercícios 13. Retorne o nome do empregado e o nome de cada projeto em que ele trabalha 14. Retorne o nome dos empregados que trabalham em algum projeto controlado pelo departamento 5 15. Retorne o número de empregados da empresa 16. Retorne o número do departamento e o número de empregados de CADA departamento da empresa 17. Retorne o número do departamento e a média do salário dos empregados de CADA departamento da empresa 18. Retorne o nome e o endereço de todos os empregados que trabalham no departamento ‘Pesquisa’ 19. Para cada projeto localizado em ‘Londrina’, retorne o número do projeto, o número do departamento que o controla, o nome e sexo do gerente do departamento empregado(RG, sexo, dt_nasc,pnome,unome,rua,cida de,estado,salario,dnum,supRG ) supRG references empregado(RG) dnum references departamento(dnum) departamento(dnum,dnome, gerRG,dt_inicio) gerRG references empregado(rg) projeto (pnum, pnome,localização,dnum) dependente(dep_nome,dep_sexo, dep_dt_nasc,empRG) empRG references empregado(RG) trabalha_em(RG,pnum,horas) RG references empregado(RG) pnum references projeto(pnum) localizacao(localizacao,dnum)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.