Prévia do material em texto
Álgebra Relacional O Docente: Jordão Uache Agenda 1. Conceito de Álgebra Relacional 2. Operações da Álgebra Relacional 1. Conceito Álgebra Relacional É uma linguagem formal que consiste de uma série de operações que: Actuam sobre relações, Produzem novas relações com resultado, sem alterar as relações originais, Podem ser combinadas para produzir expressões mais complexas. Álgebra Relacional Maneira teórica de se manipular a base de dados relacional. Constitui o conjunto básico de operações do modelo relacional. 2. Operações Álgebra Relacional As operações possibilitam especificar inquirições básicas de consulta, sendo que o resultado de uma consulta é uma nova relação, formada a partir de uma ou mais relações. Os operadores da álgebra relacional podem ser divididos em dois grupos distintos: 2. Operações 2.1. Operações específicas de Bases de Dados Relacionais São operadores especiais definidos especialmente para a manipulação de tuplas, tais como: Selecção, Projecção e Junção. 2. Operações 2.2. Operações da Teoria de Conjuntos São operadores típicos definidos pela álgebra para conjunto, tais como: União, Intersecção, Diferença e Produto Cartesiano. Recapitulação Propriedades: Não existem tuplas/linhas duplicadas, Não existem nomes de colunas duplicados, A ordem das colunas e tuplas é irrelevante, As entradas nas colunas são do mesmo domínio. Tabelas de consulta 2.1.1. Selecção 2.1. Operações específicas de Bases de Dados Relacionais É utilizada para selecionar um conjunto de tuplas de uma relação que satisfaçam a condição de selecção. 2.1.1 Selecção - Exemplo Imprima os atletas que sejam da modalidade 1. Resultado ϬAtletaModalidade=1 (ATLETA) 2.1.2. Projecção 2.1. Operações específicas de Bases de Dados Relacionais É utilizada para selecionar um conjunto de atributos/colunas de uma relação. 2.1.2 Projecção - Exemplo Imprima o número e nome dos atletas. Resultado πAtletaNum, AtletaNome (ATLETA) Liste, para cada atleta da modalidade 2, o seu número e o número da modalidade. Resultado πAtletaNum, AtletaModalidade (ATL) 2.1 Projecção vs Selecção - Exemplo ATL ϬAtletaModalidade=𝟐 (ATLETA) ou Resultado πAtletaNum, AtletaModalidade (ϬAtletaModalidade=𝟐 (ATLETA)) ou Resultado ϬAtletaModalidade=𝟐 (πAtletaNum, AtletaModalidade (ATLETA)) 2.1.3. Junção 2.1. Operações específicas de Bases de Dados Relacionais É utilizada para combinar tuplas relacionadas de duas relações em uma única tupla. Onde onde R e S são relações e <cond> é uma condição de junção entre as relações. 2.1.3 Junção - Exemplo Liste, para cada atleta, o seu número, nome e o nome da modalidade a que pertence. ATL_Mod ATLETA (AtletaModalidade=ModalidadeNum) MODALIDADE Resultado πAtletaNum, AtletaNome, ModalidadeNome (ATL_Mod) 2.1.4. EquiJunção 2.1. Operações específicas de Bases de Dados Relacionais A operação de Junção mais comum, denominada Equijunção, envolve apenas condições de junção com comparações de igualdade. Resultado R * S , onde R e S são relações. Uma Equijunção onde dois atributos da comparação têm o mesmo nome é chamada Junção Natural, sendo denotado por “*”, neste caso um dos atributos da comparação aparece na relação resultante e a condição de junção não é especificada. 2.2.1. Produto Cartesiano 2.2. Operações da Teoria de Conjuntos Representado por “x”, é utilizado para combinar tuplas de duas relações. Relações não precisam ter atributos comuns. As tuplas da relação resultante são todas combinações de tuplas possíveis entre as relações participantes. 2.2.1 Produto Cartesiano - Exemplo Liste, para cada atleta, o seu número, nome e o nome da modalidade a que pertence. PROD_ATL_Mod ATLETA x MODALIDADE 2.2.1 Produto Cartesiano - Exemplo Continuação… ATL_MOD ϬAtletaModalidade= ModalidadeNum (PROD_ATL_MOD) Resultado πAtletaNum, AtletaNome, ModalidadeNome (ATL_MOD) 2.2.2 União UNIÃO: Simbolicamente usa-se “U” R U S : lê-se R união com S A união de duas relações R e S, resulta numa terceira relação contendo todas que pertençam à R e a S, ou a ambas, eliminado as tuplas duplicadas 2.2.2 Diferença Diferença: Simbolicamente usa-se “−” R − S : lê-se R menos S A diferença das relações R e S, é o conjunto de todas as tuplas que estão em R mas não estão em S. R e S devem ser compatíveis para união. 2.2.2 Intersecção Intersecção: Simbolicamente usa-se “∩” R ∩ S : lê-se R intersecção S Define uma relação que contêm todo o conjunto de tuplas que pertencem simultaneamente à relação R e S e ambos conjuntos devem ser “compatíveis para a união”. FIM