A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN

Apresentações semelhantes


Apresentação em tema: "Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN"— Transcrição da apresentação:

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 queR’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)


Carregar ppt "Álgebra Relacional Prof.: José Antônio da Cunha CEFET-RN"

Apresentações semelhantes


Anúncios Google