Baixe o app para aproveitar ainda mais
Prévia do material em texto
Álgebra Relacional Álgebra Relacional � Coleção de operações usadas para manipular relações inteiras, resultando em uma nova relação. � Alguns conceitos envolvidos: � Relação; 2 � Relação; � Grau da Relação; � Tupla; � Atributo; � Chave primária; � Chave estrangeira. Álgebra Relacional Chave Estrangeira 3 Operadores • Podemos ter duas categorias: – Operadores de Conjuntos Tradicionais: • União • Interseção • Diferença 4 • Diferença • Produto Cartesiano – Operadores Relacionais Especiais: • Seleção • Projeção • Junção • Divisão Operadores Tradicionais � UNIÃO: � Constitui uma tabela formada por todas as linhas das outras 2 tabelas envolvidas. � As duas tabelas devem possuir o mesmo número de colunas e cada par de colunas correspondentes possui ocolunas e cada par de colunas correspondentes possui o mesmo domínio. Código Nome 333 José 444 Maria 555 João 5 Empregado Matricula Nome 333 José 999 Gal 121 Gil Aluno U Operadores Tradicionais � UNIÃO: Empregado AlunoU Matricula NomeMatricula Nome 333 José 444 Maria 555 João 6 Matricula Nome 333 José 999 Gal 121 Gil Matricula Nome 333 José 444 Maria 555 João 999 Gal 121 Gil = Operadores Tradicionais � INTERSEÇÃO: � Constitui uma tabela formada por todas as linhas comuns às outras 2 tabelas envolvidas na operação. Matricula Nome 333 José 444 Maria 555 João 7 Empregado Matricula Nome 333 José 999 Gal 121 Gil Aluno U Operadores Tradicionais � INTERSEÇÃO: Empregado Aluno U Matricula Nome 333 José 444 Maria 555 João 8 Matricula Nome 333 José 999 Gal 121 Gil = Matricula Nome 333 José Operadores Tradicionais � DIFERENÇA: � Constitui uma tabela formada por todas as linhas que estejam na primeira, mas não na segunda tabela envolvida na operação. 9 Mat Nome 111 João 222 Gil 333 Gal Mat Nome 111 João 888 Ana 999 Pedro Empregado Aluno - = Mat Nome 222 Gil 333 Gal Mat Nome 111 João 888 Ana 999 Pedro Aluno Mat Nome 111 João 222 Gil 333 Gal Empregado - = Mat Nome 888 Ana 999 Pedro Operadores Tradicionais • PRODUTO CARTESIANO: – Constitui uma tabela a partir de duas tabelas envolvidas na operação, concatenando todas as linhas de cada uma destas tabelas. 10 Cod_Emp Nome E1 José E2 Maria E3 João Empregado Cod_Dept Nome D1 Produção D2 Projetos Departamento Cod_Emp Nome_Emp Cod_Dept Nome_Dept E1 José D1 Produção E2 Maria D1 Produção E3 João D1 Produção E1 José D2 Projetos E2 Maria D2 Projetos E3 João D2 Projetos Empregado X Departamento Exercícios 1-Crie duas tabelas e aplique o operador de união nestas tabelas. 2-Crie duas tabelas e aplique o operador de interseção nestas tabelas. 11 interseção nestas tabelas. 3-Crie duas tabelas e aplique o operador de produto nestas tabelas. Operadores Relacionais � SELECT(σ): � Destaca apenas as linhas solicitadas de uma determinada tabela. 12 Matricula Nome Turma M1 Caio BD M2 Bia BD M3 Lara Lógica Alunos σ (Alunos)Turma=‘BD’ Operadores Relacionais � SELECT: Mat Nome 111 Sara Aluno 13 σ (Aluno)Nome =‘José’ 222 Lara 333 José 444 Bia 555 Bel = Mat Nome 333 José Operadores Relacionais • PROJECT (pipipipi): – Recupera determinadas colunas de uma tabela e desconsidera outras. – Elimina linhas duplicatas.– Elimina linhas duplicatas. 14 pi (PRODUTO) nome, fabricante Operadores Relacionais � Project: Aluno Mat Nome 111 Gil M Sexo Nome Sexo 15 pi (Aluno)Nome, Sexo = 111 Gil M 222 Sara F 333 José M 444 Gil F 555 José M Gil M Sara F José M Gil F Nome Sexo Operadores Relacionais � JOIN (INNER JOIN): � Símbolo |X| � EQUIJOIN 16 � NATURAL JOIN: � Símbolo * Operadores Relacionais � JOIN (INNER JOIN) |x| EMPREGADO|X| CONSULTA.EMPREGADO.MAT_EMP=ALOCAÇÃO.MAT_EMP MAT_EMP NOME_EMP COD_PRJ MAT_EMP FUNÇÃO M1 MARIA P1 M1 DBA 17 MAT_EMP NOME_EMP M1 MARIA M2 JOSÉ M3 BIA COD_PRJ MAT_EMP FUNÇÃO P1 M1 DBA P2 M2 ANALISTA M1 MARIA P1 M1 DBA M2 JOSÉ P2 M2 ANALISTA EMPREGADO ALOCAÇÃO Operadores Relacionais � EQUIJOIN MAT_EMP NOME_EMP COD_PRJ MAT_EMP FUNÇÃO M1 MARIA P1 M1 DBA M2 JOSÉ P1 M1 DBA M3 BIA P1 M1 DBA EMPREGADO_ALOCAÇÃO 18 MAT_EMP NOME_EMP M1 MARIA M2 JOSÉ M3 BIA COD_PRJ MAT_EMP FUNÇÃO P1 M1 DBA P2 M2 ANALISTA M3 BIA P1 M1 DBA M1 MARIA P2 M2 ANALISTA M2 JOSÉ P2 M2 ANALISTA M3 BIA P2 M2 ANALISTA EMPREGADO ALOCAÇÃO Operadores Relacionais � NATURAL JOIN * MAT_EMP NOME_EMP COD_PRJ MAT_EMP FUNÇÃO M1 MARIA P1 M1 DBA 19 MAT_EMP NOME_EMP M1 MARIA M2 JOSÉ M3 BIA COD_PRJ MAT_EMP FUNÇÃO P1 M1 DBA P2 M2 ANALISTA M1 MARIA P1 M1 DBA M2 JOSÉ P2 M2 ANALISTA ALOCAÇÃOEMPREGADO Operadores Relacionais � OUTER JOIN: � Pode ser de 3 tipos: �LEFT OUTER JOIN�LEFT OUTER JOIN �RIGHT OUTER JOIN � FULL OUTER JOIN 20 LEFT OUTER JOIN A B Cod_Filme Titulo_Filme Cod_Gênero F1 The Free Surf G1 F2 The Sun G2 F3 Altas Ondas F4 O Mar Cod_Gênero Descrição_Gênero G1 Ação G2 Drama G3 Aventura G4 Romance C 21 F4 O Mar G4 Romance Cod_Filme Titulo_Filme Cod_Gênero Descrição_Gênero F1 The Free Surf G1 Ação F2 The Sun G2 Drama F3 Altas Ondas F4 O Mar RIGHT OUTER JOIN A B Cod_Filme Titulo_Filme Cod_Gênero F1 The Free Surf G1 F2 The Sun G2 F3 Altas Ondas F4 O Mar Cod_Gênero Descrição_Gênero G1 Ação G2 Drama G3 Aventura G4 Romance 22 A B Cod_Filme Titulo_Filme Cod_Gênero Descrição_Gênero F1 The Free Surf G1 Ação F2 The Sun G2 Drama G3 Aventura G4 Romance FULL OUTER JOIN A B Cod_Filme Titulo_Filme Cod_Gênero F1 The Free Surf G1 F2 The Sun G2 F3 Altas Ondas F4 O Mar Cod_Gênero Descrição_Gênero G1 Ação G2 Drama G3 Aventura G4 Romance 23 A B Cod_Filme Titulo_Filme Cod_Gênero Descrição_Gênero F1 The Free Surf G1 Ação F2 The Sun G2 Drama F3 Altas Ondas F4 O Mar G3 Aventura G4 Romance G4 Romance Operadores Relacionais � DIVISÃO: - Envolve duas tabelas: uma binária e outra unária; - Resulta em outra tabela consistindo em todos os valores de um atributo da relação binária com 24 valores de um atributo da relação binária com equivalência (no outro atributo) a todos os valores da relação unária.ACod_Emp Cod_Dept E1 D1 E2 D3 E3 D2 E1 D2 E2 D1 E3 D1 Cod_Dept D2 Cod_Emp E1 E3 B A ÷÷÷÷ B Exercícios 1-Crie a tabela Empregado(cod,nome,função) e selecione apenas os empregados cuja função seja igual a Analista de Sistemas. 2-Considere as tabelas abaixo e resolva: 25 2-Considere as tabelas abaixo e resolva: a) b) A B A B c)A B Referências Bibliográficas EMASRI, Ramez; NAVATHE, Shamkant B. Sistema de Banco de Dados. Pearson Education do Brasil. São Paulo. 2005. SILBERSCHARTZ, Abraham; KORTH, Henry; SUDARSHAN, S. Sistemas de Banco de Dados. 3º edição, São Paulo: Makron Books 1. 26 3º edição, São Paulo: Makron Books 1.
Compartilhar