Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional - ppt carregar
Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional
Apresentação em tema: "Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional"— Transcrição da apresentação:
1 Prof. Tales Cabral talescabral@colegiodaimaculada.com.br
Colégio da Imaculada Curso Técnico em Informática Álgebra Relacional Prof. Tales Cabral 2º Módulo
2 Introdução A Álgebra Relacional é uma forma de cálculo sobre conjuntos ou relações. (Wikipedia) É uma linguagem de consulta em tabelas relacionais. (Database Management Systems/2003) A Álgebra Relacional é uma linguagem de consulta formal, porém procedimental, ou seja, o usuário fornece as instruções ao sistema para que o mesmo realize uma seqüência de operações na base de dados para calcular o resultado desejado. (Ricardo Rezende – SQL Magazine) A forma de trabalho na linguagem é pegar uma ou mais tabelas (conforme necessidade) como entrada de dados e produzir uma nova tabela como resultado das operações.
3 Álgebra Relacional União (): relação3 = (relação1  relação2)
Atua sobre conjuntos (tabelas) e devolve como resultado: conjuntos (tabelas). Teoria de conjuntos (união, intersecção, diferença, produto cartesiano). Outros operadores (seleção, projeção, junção e divisão). União (): relação3 = (relação1  relação2)
4 Intersecção (): relação3 = (relação1  relação2)
	= Diferença (): relação3 = (relação1  relação2) 	=
5 Produto Cartesiano (): relação3 = (relação1  relação2)
A relação final corresponde à "soma" dos esquemas das relações iniciais. Os registos resultantes correspondem à combinação dos registos da relação1 com os registos da relação2. A cardinalidade da relação resultante corresponde à multiplicação das cardinalidades das duas relações iniciais.  =
6 Seleção (): relação2 =  <condição> (relação1)
 A=A = Projeção (): relação2 =  <lista_atributos> (relação1)  A,C =
7 Junção (): relação3 = (relação1  relação2)
Também chamada de "Junção Natural" Junção (): relação3 = (relação1  relação2) Combina os registos provenientes das duas relações, com atributos comuns, numa só relação. O esquema da relação final corresponde consiste na soma dos esquemas das relações iniciais. A relação final contém um registo por cada combinação de registos das duas relações que possuam valores iguais nos atributos comuns.  =
8 Divisão (): relação3 = (relação1  relação2)
As relações iniciais devem ser compatíveis para a divisão (r1  r2). Os atributos da relação final são os atributos da relação1 que não existem na relação2. Os registos que existem na relação final são os registos que existem na relação1 combinados com os registos da relação2.  =
9 Exemplo pnome_p, pontuacao (P2) = ? pidade (P2) = ?
Estas instâncias serão utilizadas para consultas a seguir, representando: P1 – relação de pilotos 1 P2 – relação de pilotos 2 R1 – relação de reservas Descrever e dar a relação resultante: pnome_p, pontuacao (P2) = ? pidade (P2) = ? spontuacao>70 (P2) = ?
10 Conclusão Portanto, álgebra relacional é uma linguagem de consulta procedural e formal (não de programação) que consiste em um conjunto de operações que tem como entrada uma ou mais relações e retorna, como saída, uma nova relação. Contudo, para isso, a álgebra relacional dispõe dos operadores para produzir suas relações. Sendo assim, basta que as tabelas estejam criadas e organizadas para que se possa aplicar os operadores sobre as relações e obter os resultados esperados. Vale lembrar que a álgebra relacional serve como padrão para compreensão de um estudo posterior de SQL sobre bancos de dados.
11 Exercício Base de Dados: médicos(nEmpr,nomeM,especialidade)
pacientes(nBI,nomeP,telefone,morada,idade) fármacos(codF,nomeF) consultas(nConsulta,data,nBI,nEmpr) receitas(codF,nConsulta,quantidade) Fazer as questões do slide seguinte!
12 Questões sidade > 50 (pacientes)
1. Quais os pacientes com mais de 50 anos de idade? sidade > 50 (pacientes) 2. Quais os nomes dos pacientes com mais de 50 anos de idade? pnomeP (sidade > 50 (pacientes)) 3. Quais os fármacos que já foram receitados em consultas da clínica? pnomeF((sreceitas.codF = fármacos.codF(receitas x fármacos))) 4. Quais os fármacos que nunca foram receitados? pnomeF(fármacos) – pnomeF(sreceitas.codF = fármacos.codF(receitas x fármacos)))