Você está na página 1de 6

Sumrio

Modelo Relacional
Andr Restivo

Modelo Relacional

2 Faculdade de Engenharia da Universidade do Porto

Operaes

February 28, 2011

Converso para o Modelo Relacional

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

1 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

2 / 21

Modelo Relacional

Modelo Relacional

Modelo Relacional

Tuplos

Introduzido por Codd (1970) Base de Dados Relacional:


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)

Esquema de uma Relao:


Nota
No modelo relacional no pode haver atributos compostos ou multivalor

Tuplos ou Instncias de uma Relao:

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

3 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

4 / 21

Modelo Relacional

Modelo Relacional

Chave de uma Relao

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.

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

5 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

6 / 21

Modelo Relacional

Modelo Relacional

Notao

Restries Intrnsecas do Modelo Relacional

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

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

7 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

8 / 21

Modelo Relacional

Operaes

Outras Restries e Notao

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

Se uma das restries for violada, opta-se por:


Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

9 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

10 / 21

Operaes

Converso para o Modelo Relacional

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:

Passo 1 : Entidade-Tipo Relao

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

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

11 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

12 / 21

Converso para o Modelo Relacional

Converso para o Modelo Relacional

Passo 2 : Associaes de 1 para 1 R(E1, E2)


Sejam S1 e S2 as relaes correspondentes s entidade E1 e E2, respectivamente.
Escolher uma das relaes. Normalmente a que tem participao total em R. Por exemplo S1. Incluir como chave externa em S1 a chave principal de S2. A chave externa passa a ser uma chave candidata de S1 pois no pode ter repetidos. Se a participao de E1 em R for total, ento a chave externa no pode ter valores nulos. Incluir todos atributos simples da associao R na relao S1.

Passo 3 : Associaes de 1 para N R(E1, E2)


Sejam S1 e S2 as relaes correspondentes s entidade E1 e E2, respectivamente.
Escolhe-se a relao correspondente entidade participante do lado N em R. Neste caso a relao S2. Incluir como chave externa em S2 a chave principal de S1. Incluir os atributos simples da associao na relao S2. Se a participao de E2 em R for total, ento a chave externa no pode ter valores nulos.

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

#bidir empregado UK, NN


Modelo Relacional February 28, 2011 13 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

Converso para o Modelo Relacional

Converso para o Modelo Relacional

Passo 4: Associao N:N R(E1,E2)


Criar uma nova relao S para representar a associao R:
Incluir como chave externa em S as chaves principais das relaes que representam as entidades E1 e E2 participantes em R. O conjunto das chaves externas formar a chave principal de S. Incluir todos atributos simples da Associao R na relao S.

Passo 5: Atributos Multi-Valor

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

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

15 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

16 / 21

Converso para o Modelo Relacional

Converso para o Modelo Relacional

Passo 6: Associao Ternria R(E1,E2,E3)


Criar uma nova relao S para representar a associao R:
Incluir como chave externa em S as chaves principais das relaes que representam as entidades E1, E2 e E3 participantes em R. O conjunto das chaves externas formar a chave principal de S. Incluir todos atributos simples da Associao R na relao S.

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.

Valores No Nulos. Sem permitir valores nulos.

1:1

p/p

Permitindo valores nulos.

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

N:1 N:1 N:N

t/p p/p .

Sem permitir valores nulos. Permitindo valores nulos. -

#id produto

#nif fornecedor

quantidade

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

17 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

18 / 21

Converso para o Modelo Relacional

Converso para o Modelo Relacional

Resumo : Atributos

Resumo : Associaes

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

19 / 21

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

20 / 21

Converso para o Modelo Relacional

Exemplo Completo

empregado bi nome projecto num nome

endereco

salario

#cod departamento NN

#bisup empregado

#cod departamento NN

departamento cod nome UK trabalha #bi empregado

#bidir empregado UK

#num projecto

horas

Andr Restivo (FEUP)

Modelo Relacional

February 28, 2011

21 / 21

Você também pode gostar