Escolar Documentos
Profissional Documentos
Cultura Documentos
Modelo Relacional
Andr Restivo
Modelo Relacional
Operaes
Modelo Relacional
1 / 21
Modelo Relacional
2 / 21
Modelo Relacional
Modelo Relacional
Modelo Relacional
Tuplos
Linhas de cada relao Sequncia ordenada de valores (ordem da sequncia importante) Tuplos de uma relao (ou tabela) no tm ordem Os valores das componentes de um tuplo so atmicos
Conjunto de Relaes (Tabelas) Conjunto de Restries de Integridade Nome da Relao Nome e Tipo de cada Atributo (Colunas) Restries de Integridade Interna Os contedos das relaes (Linhas)
Nota
No modelo relacional no pode haver atributos compostos ou multivalor
Modelo Relacional
3 / 21
Modelo Relacional
4 / 21
Modelo Relacional
Modelo Relacional
Chave Externa
Identica de forma nica os tuplos da relao Conjunto mnimo de atributos da relao tal que no existam 2 tuplos distintos com valores iguais nesses atributos. Uma relao pode ter vrias chaves candidatas: 1 chave primria + chaves alternativas
Tambm pode ser chamada de Chave Estrangeira (Foreign Key). Atributo (ou conjunto de atributos) que referencia um atributo (ou conjunto de atributos) de uma outra relao. O conjunto de atributos referenciados tem de ser uma chave candidata da relao.
Modelo Relacional
5 / 21
Modelo Relacional
6 / 21
Modelo Relacional
Modelo Relacional
Notao
Integridade de entidade
Exemplo
Relao Chave Atributo 1 Atributo 2 #Chave Externa Tabela
os valores da chave primria no podem ser nulos os valores dos atributos tm de pertencer ao domnio no podem existir 2 tuplos diferentes com valores iguais na chave um tuplo de uma relao que se rera a uma outra relao, tem de se referir a um tuplo existente nessa relao
Unicidade da chave
Integridade referncial
Modelo Relacional
7 / 21
Modelo Relacional
8 / 21
Modelo Relacional
Operaes
Operao de Insero
Permite inserir um ou mais tuplos numa relao, pode violar qualquer dos 3 tipos de restries: Alguns atributos no podem conter valores nulos mesmo no sendo chaves candidatas. Estes atributos podem ser representados colocando um NN (Not Null) junto do atributo. Chaves candidatas que no sejam escolhidas como chave primria podem ser representadas por UK (unique key).
integridade da entidade: se um dos valores no pertencer ao domnio ou se o valor da chave do novo tuplo for null unicidade da chave: o valor da chave do novo tuplo j existe num outro tuplo da tabela integridade referncial: se o valor de uma chave externa referir um tuplo no existente. rejeitar a operao ou tentar corrigir a razo da rejeio
Modelo Relacional
9 / 21
Modelo Relacional
10 / 21
Operaes
Operao de Remoo
Remove tuplos de valores de uma tabela, pode violar apenas a integridade referncial no caso de o tuplo a remover ser referenciado por uma das chaves externas de outro tuplo na BD. Requer uma condio sobre os atributos de forma a selecionar o tuplo ou tuplos a serem removidos. Exemplo: remover todos os empregados do departamento 10. Caso ocorra violao, opta-se por:
Atributos simples da entidade atributos da relao Atributos compostos atributos individuais na relao Atributo chave da entidade chave da relao Atributos multivalor (ver passo 5)
Exemplo
Empregado (bi, nome (pNome, uNome)) empregado bi pNome uNome
rejeitar a operao ou procurar propagar a operao e remover todos os tuplos que referenciam o que est a ser removido ou alterar para null os valores dos atributos dos tuplos que referenciam o que est a ser removido
Modelo Relacional
11 / 21
Modelo Relacional
12 / 21
Exemplo
Empregado (bi, nome (pNome, uNome)) Departamento (num, nome) trabalhaPara (Empregado, Departamento, cargo) N:1 t/p empregado bi pNome uNome #num departamento NN cargo NN
14 / 21
Exemplo
Empregado (bi, nome (pNome, uNome)) Departamento (num, nome) dirige (Empregado, Departamento) 1:1 p/t departamento num
Andr Restivo (FEUP)
nome
Modelo Relacional
Para cada atributo A multivalor, cria-se uma nova relao S que: Inclui o atributo de A mais a chave principal, K, da relao que representa a entidade que tem A como atributo multivalor. A chave principal de S ser a combinao de A e K.
Exemplo
Empregado (bi, sexo, nome (pNome, uNome)) Projecto (num, nome) trabalhaEm (Empregado, Projecto, horas) N:N p/p trabalhaEm #bi empregado #num projecto horas
Exemplo
Departamento (num, nome, {telefone}) telefonedepartamento #num departamento telefone
Modelo Relacional
15 / 21
Modelo Relacional
16 / 21
Quadro Resumo
Cardinalidade 1:1
Participao t/p
Chave Externa Do lado da participao total. Chave nica. Em qualquer uma das relaces. Chave nica. Do lado do N. Do lado do N. Acrescentar tabela contendo as chaves externas para ambas as relaes. Chave primria contm as chaves externas.
1:1
p/p
Exemplo
Projecto (num, nome) Produto (id, nome, preo) Fornecedor (nif, nome) encomendou (Projecto, Produto, Fornecedor, quantidade) N:N:N p/p/p encomendou #num projecto
t/p p/p .
#id produto
#nif fornecedor
quantidade
Modelo Relacional
17 / 21
Modelo Relacional
18 / 21
Resumo : Atributos
Resumo : Associaes
Modelo Relacional
19 / 21
Modelo Relacional
20 / 21
Exemplo Completo
endereco
salario
#cod departamento NN
#bisup empregado
#cod departamento NN
#bidir empregado UK
#num projecto
horas
Modelo Relacional
21 / 21