Rodrygo Santos
rodrygo@dcc.ufmg.br
2
Modelo Relacional
1. Reviso
2. Instncia de um BD Relacional
3. Operaes sobre Relaes
4. Violaes de Restries
1. Reviso
Uma relao = uma tabela de valores
Tuplas, atributos, domnios
Esquema = relaes + restries integridade
Restries de domnio
Restries de chave (candidata, primria, alternativa)
Restries de valores null
Restrio de integridade de entidade (chave no nula)
Restries de integridade referencial (chave estrangeira)
NomeTabelaPrincipal
Chave Atributo1 Atributon
NomeTabelaReferenciada
Atributo1 Atributon Chave
4
2. Instncia de um BD Relacional
1
4
5
5
5
6
Instncia de um BD Relacional
Figura 7.6 Um
estado de um
banco de dados
possvel para o
esquema do
banco de dados
relacional
EMPRESA.
8
3. Operaes sobre Relaes
As operaes sobre um BD relacional podem ser
classificadas em:
Operaes de recuperao (consulta)
Operaes de atualizao
9
Operaes sobre Relaes
Insero (insert)
Adiciona uma nova tupla (ou vrias) em uma
relao
Remoo (delete)
Remove uma tupla da relao
Modificao (update)
Altera os dados de uma tupla
Em qualquer operao, a integridade da
base de dados relacional deve ser mantida
10
4. Violao de Restries
Restries de integridade no podem ser
violadas!!!
Insero
Restrio de Domnio: valor fora do domnio
Restrio de Chave: valor j existe
Restrio de integridade de entidade: se chave
for null
Restrio de integridade referencial: se chave
estrangeira referencia tupla inexistente
Ao default: rejeitar insero (com explicao)
11
Exemplos
Empregado
Nome IM Sobrenome CPF DataNasc Endereo Salrio Supervisor Depto
Departamento
NomeD CPFGer DataInicioGer NumeroDep
12
Violao de Restries
Remoo
Tupla excluda referenciada por chaves
estrangeiras
Ao default: bloqueia/rejeitar a remoo
(com explicao)
OUTRAS OPES????
Propagar remoo de tuplas que violem uma restrio
de integridade referencial Efeito cascata
Modificar o valor da chave estrangeira para nulo
13
Violao de Restries
Modificao
Modificar o valor de um atributo que no
chave primria ou estrangeira no causa
problemas (se o valor for do domnio, e, se for
null, que este valor seja permitido)
Modificar a chave primaria igual a excluir uma
tupla e inserir outra
Modificar chave estrangeira: SGBD deve verificar
se novo valor do atributo referencia tupla
existente
14
Opes de Remoo da RIR
A cada RIR R1[FK] R2[PK] possvel associar uma
opo de remoo que especifica como a remoo
de uma tupla de R2 executada em relao a R1
As opes de remoo possveis so:
bloqueio
propagao
substituio por nulos
Notao: op
R1[FK] R2[PK],
onde op {b, p, n}
15
bloqueio
propagao
substituio
por nulos
16
n
b b
p
b
b
p
bloqueio
b propagao
substituio
por nulos
19