Escolar Documentos
Profissional Documentos
Cultura Documentos
Capitulo 22
Capitulo 22
2.2 Conceitos do Modelo Relacional O modelo relacional representa os dados num BD como uma coleo de tabelas (relaes). Cada tabela ter um nome, que ser nico, e um conjunto de atributos com seus respectivos nomes e domnios. Todos os valores de uma coluna so do mesmo tipo de dados.
Depart D1 D1 D2 D2 D1
Definies:
Domnio: Um domnio D um conjunto de valores atmicos.
Ex.: Fone: conjunto de 10, dgitos CPF: conjunto de 7 dgitos Idade_Empregado: 16 idade 70 Departamentos: conjunto departamentos de uma empresa.
de
Um esquema de relao R, denotado por R(A1,A2,...,An), um conjunto de atributos R = {A1,A2,...,An}. Cada atributo Ai o nome de um papel realizado por algum domnio D na relao R. O grau de uma relao o nmero de atributos que seu esquema contm.
Ex.: Seja o esquema Estudante (matrcula, nome, fone, idade, curso) => grau = 5
Endereo Funo Salrio Dep R. Pedro I, 12, Alto Secretria 500,00 D1 R. J. Silva, 24,Calhau Engenheiro 1500,00 D1 R. Itlia, 33, Naes Tcnico 950,00 D2 R. Par, 98, Estados Engenheiro 1810,00 D2 R. Olivas, 76, Alto Engenheiro 2500,00 D1
2.2 Conceitos do Modelo Relacional Um conjunto de atributos de uma relao R1 uma chave estrangeira se satisfaz s seguintes regras:
Os atributos da chave estrangeira tm o mesmo domnio dos atributos da chave primria de outra relao R2. Um valor da chave estrangeira numa tupla t1 de R1 possui o mesmo valor da chave primria para alguma tupla t2 em R2 ou NULO.
A integridade referencial estabelece que todo valor de chave estrangeira numa relao deve corresponder a um valor de chave primria de uma segunda relao ou deve ser nulo.
em relaes
Insero:
1. Inserir <'102','Andr',null, 'Engenheiro', '1.980','D2'> => aceito sem problemas 2. Inserir <'100', 'Maria', null, 'Tcnica', '950','D1'> => viola a restrio de chave. 3.Inserir <null, 'Ceclia', null, 'Engenheiro , '1.950','D1'> => viola restrio de integridade de entidade. 4. Inserir <'108', 'Mauro', 'Rua 4', 'Tcnico', '980','B6'> => viola a restrio de integridade referencial.
em relaes
Insero:
O que fazer quando se detectar uma violao de integridade?
Rejeitar a insero (podendo explicar o porqu) Tentar corrigir a anomalia para depois inserir.
em relaes
Remoo:
1. Remover da tabela empregado a tupla com matrcula = '100'. => remoo aceita sem problemas. 2. Remover da tabela departamento a tupla com CodDep = 'D1'. =>viola a regra de integridade referencial. Pois existem empregados que esto alocados neste departamento.
em relaes
Remoo:
O que fazer quando uma violao ocorrer numa remoo?
Rejeitar a remoo Dar o efeito cascata na remoo, removendo todas as tuplas referenciadas por aquela tupla que est sendo removida. Modificar os atributos referenciados para novos valores ou nulos (caso no faam parte da chave primria).
Dos trs tipos de restries de integridade discutidas, uma operao de remoo poder violar apenas a integridade referencial.
em relaes
Modificao:
1. Modificar o salrio do empregado com matrcula='250 => operao aceita sem problemas. 2. Modificar o nmero do departamento da tupla de empregado com matrcula '210' para 'D1 => operao aceita sem problemas. 3. Modificar o nmero do departamento de empregado '108' para 'D9 => viola a integridade referencial 4. Modificar a matrcula do empregado '100' para '250 => viola regra de integridade de chave.
(R))
<COND2>
S D b d
E g a
F a f
RUS a b d a c b b g
c f d a
S D b d
E g a
F a f
RS
d a f
S D b d
E g a
F a f
R-S a c b b c d
Quando a condio de juno uma igualdade a juno chamada de equijoin. Juno Natural uma equijoin onde um dos atributos com valores repetidos (condio de juno) eliminado.