Buscar

03 O modelo de dados relacional e as restrições em banco de dados relacionais

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 53 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

O modelo de dados relacional e as 
restrições em banco de dados 
relacionais
Disciplina: Banco de Dados
Professor: Wandré Nunes de 
Pinho Veloso
2
Modelo ER
• Introduzido inicialmente por Ted Cood da 
IBM Research em 1970 (Codd, 1970)
• O modelo ER contém descrições e 
notações para
– Entidades
– Relacionamentos
– Atributos
• Cada um desses elementos pode assumir, 
conforme o caso, um tipo especial, com 
características específicas
3
Entidades
• Primeiro passo: entender o problema e 
determinar que entidades estão envolvidas nele
• Entidade: algo que existe no mundo real e é 
discernível de outras entidades
• A entidade pode ou não ter existência física
• Cada entidade possui atributos, que são 
propriedades específicas que a descrevem.
• Cada atributo terá um valor, que se tornará 
parte do banco de dados
4
Domínio de Atributos
• Cada atributo simples de uma entidade está 
associado a um conjunto de valores que formam 
o domínio dos possíveis valores do atributo
• O domínio é, portanto, o conjunto de valores que 
podem ser designados para o atributo em cada 
entidade individual
• É feita uma analogia com o conceito matemático 
de função
A: E → P(V)
A: atributo; E: entidade; V: conjunto de valores (domínio); P(V): conjunto domínio de V
• Para atributos compostos, tem-se
V = P(V1)xP(V2)x...P(Vn)
5
Domínio de Atributos
• Exemplos:
– Numeros_telefone_nacional: O conjunto de números 
de telefone com 11 dígitos válidos no Brasil
– Numeros_telefone_local: O conjunto de números de 
telefone de 9 dígitos válidos dentro de um código de área 
particular no Brasil
– Cadastro_pessoa_fisica: O conjunto de números de 
CPF com 11 dígitos
– Idades_funcionario: Idades possíveis dos 
funcionários em uma empresa; cada um deve ter um valor 
inteiro entre 13 e 90
– Nomes_departamento_academico: O conjunto de 
nomes de departamentos acadêmicos em uma 
universidade
6
Conceitos do Modelo Relacional
• Esquema de uma relação
– R(A1, A2, ..., An), onde R é a relação e Ai são atributos
– Cada atributo Ai corresponde ao nome do papel 
desempenhado por algum domínio D no esquema da 
relação R
– D é denominado o domínio de Ai e é indicado por dom(Ai)
– O esquema de uma relação é usado para descrever essa 
relação, e por isso é chamado de nome da relação
– O grau de uma relação (n) é o número de atributos desse 
esquema de relação
– Exemplo:
• ALUNO(Nome, CPF, Telefone_residencial, Endereco, 
Telefone_comercial, Idade, Media)
7
Atributos e tuplas de uma relação (tabela) Aluno
8
Atributos
• A cada atributo corresponde um domínio
• A especificação dos domínios é feita da seguinte forma:
– Aluno: dom(CPF) = CPF_Valido,
dom(Nome) = Nomes,
dom(Telefone) = Telefones_Nacionais,
dom(Endereço) = Endereços,
dom(numMatrícula) = NúmerosDeMatrícula
– Domínio Nomes: conjunto de até 50 caracteres
– Domínio Endereços: conjunto de até 150 caracteres
– Domínio NúmerosDeMatrícula: sequência de 7 dígitos 
numéricos no padrão dddddd-d
– Domínio CPF_Valido: 11 dígitos numéricos, sendo que os 
últimos 2 obedecem à regra de dígito verificador
– Domínio Telefones_Nacionais: até 11 dígitos numéricos; 
tem que ser um telefone válido
9
Atributos
• Tipos
– Simples (atômicos) ou compostos
– De valor único ou multivalorados
– Armazenados ou derivados
– Complexos
– Valor nulo
10
Atributos
• Compostos: podem ser divididos em 
subpartes que representam outros 
atributos básicos com significados 
diferentes. Exemplos: endereço, data
– Podem formar hierarquias
– Úteis em situações em que os atributos são 
referenciados ora completos, ora por partes
• Simples: não são divisíveis
11
Hierarquia de atributos compostos
12
Atributos
• Multivalorados
– Vários valores simultâneos para a mesma 
entidade
– Exemplos: telefone para uma empresa; 
formação superior para uma pessoa
– Podem existir limites inferior e superior quanto 
ao número de valores permitidos
• Valor único
– Caso mais comum
13
Atributos
• Derivados
– O valor é determinado a partir de outro(s) atributo(s) usando 
determinada função
– Ex.: Idade e Data_de_Nascimento
• A idade é calculável a partir da data de nascimento e de um 
parâmetro variável, que é a data de hoje
• Diz-se então que a Idade é um atributo derivável da data de 
nascimento
– Alguns valores podem ser derivados de entidades relacionadas
• Exemplo: número de empregados de um departamento, calculado 
contando os empregados que estão alocados ao departamento
• Armazenados
– A data de nascimento é um atributo armazenado, ou seja, 
existe fisicamente no BD
14
Atributos
• Valor nulo
– Em alguns casos, o preenchimento de um atributo 
pode não ser aplicável ou mesmo ser opcional
• Ex.: “complemento” em Endereço
– Pode ser permitido o uso de valor nulo se o valor real 
de um atributo é desconhecido
• Atributos complexos
– É possível agrupar arbitrariamente atributos 
compostos e multivalorados
– Isso permite criar combinações que podem ser úteis 
e complexas
15
Entidades
• Tipo de entidade: um conjunto de entidades com 
os mesmos atributos
– = classe de objetos
• Conjunto de entidades: coleção de todas as 
entidades de determinado tipo de entidade 
existentes no BD
– Geralmente usamos o mesmo nome do tipo de 
entidade para nos referirmos ao conjunto de 
entidades
• Um tipo de entidade descreve o esquema para 
um conjunto de entidades que compartilham a 
mesma estrutura
16
Dois tipos de entidade, FUNCIONARIO e EMPRESA, e algumas entidades 
membro (instâncias) de cada uma
17
Entidades
• Atributo chave
– Consiste no estabelecimento de uma restrição de unicidade 
para um atributo
– Assim, um atributo cujo valor tem que ser distinto para cada 
entidade individual na coleção pode ser usado para identificar a 
entidade de forma única
– Exemplo: na entidade EMPRESA, o nome constitui um atributo 
chave, pois não é permitido que existam duas empresas com o 
mesmo nome
– Às vezes vários atributos juntos formam uma chave, ou seja, é a 
combinação dos atributos que tem que ser distinta para cada 
entidade
– Pode haver mais de um atributo chave
– Se a entidade não possuir nenhum atributo chave ela é 
chamada de entidade fraca
Tipos de atributos chave
• Chave primária
– Atributo ou combinação de atributos que possuem a propriedade 
de identificar de forma única uma linha da tabela. Corresponde a 
um atributo determinante
– Não pode ser NULL
– Simples
• 1 único atributo é selecionado como chave primária, e não se repetirá 
no Banco de Dados
– Composta
• 2 ou mais atributos são selecionados como chave primária e este grupo 
não se repetirá no Banco de Dados
• Chave estrangeira
– Ocorre quando um atributo de uma relação for chave primária 
em outra relação. Em outras palavras sempre que houver o 
relacionamento 1:N entre duas tabelas, a tabela 1 receberá a 
chave primária e a tabela N receberá a chave estrangeira
18
Tipos de atributos chave
• Chave candidata ou chave única
– Ocorrem quando em uma relação existe mais de uma 
combinação de atributos possuindo a propriedade de 
identificação única. A chave candidata é apenas 
conceitual, ou seja, ela não é implementada
– Exemplos: Matrícula, CPF, RG, Título de Eleitor, etc.
• Superchave
– Conjunto de um ou mais atributos que, tomando 
coletivamente, permite-nos identificar unicamente uma 
entidade no conjunto de entidades
– Superchaves mínimas são chamadas de chaves 
candidatas, chaves únicas ou, simplesmente, chaves
• Chave parcial
– Permite a distinção entre atributos em uma entidade fraca
19
20
Chave primária, estrangeira, candidata ou única?
21
Conceitos do Modelo Relacional
• Relações e tuplas
– Uma relação (ouestado da relação) r do esquema de 
relação R(A1, A2, ..., An), também indicada por r(R) é 
um conjunto de n tuplas r = {t1, t2, ..., tn}.
– Cada n tuplas t é uma lista ordenada de n valores t = 
<v1, v2, ..., vn>, em que cada valor vi, 1 ≤ i ≤ n, é um 
elemento pertencente a dom(Ai) ou é um valor 
especial nulo (NULL)
• Valores NULL representam atributos cujos valores são 
desconhecidos ou não existem para alguma tupla individual
– O i-ésimo valor na tupla t, que corresponde ao 
atributo Ai, é representado como t[Ai] ou t.Ai 
22
Conceitos do Modelo Relacional
• Outra definição para relação:
– r(R) é uma relação matemática de grau n sobre os 
domínios dom(A1), dom(A2), ..., dom(An), que é um 
subconjunto do produto cartesiano dos domínios que 
definem R
r(R) (dom(A1) x dom(A2) x ... x dom (An))
– O produto cartesiano especifica todas as 
combinações possíveis de valores dos domínios 
existentes
23
Conceitos do Modelo Relacional
• De todas essas possíveis combinações, o estado atual 
da relação reflete apenas as tuplas válidas, que 
representam um determinado estado do mundo real em 
um determinado momento
• Como o estado do mundo real se altera, então a relação 
também é alterada, se transformando em outro estado
• É possível que diversos atributos compartilhem o 
mesmo domínio, porém estarão desempenhando papeis 
diferentes
– Exemplo: atributos diferentes para telefone residencial e telefone 
comercial
24
Conceitos do Modelo Relacional
• Características das relações
– Ordenamento das tuplas: matematicamente, não existe 
ordenamento, porém na implementação (fisicamente) alguma 
ordem terá que ser estabelecida
• É possível definir a relação estabelecendo pares (atributo, valor)
– Valores nas tuplas: cada valor em uma tupla é atômico; não 
são permitidos atributos multivalorados ou compostos
• Este é o pressuposto da primeira forma normal
• Atributos multivalorados podem ser codificados em relações 
separadas
• Mais recentemente vem sendo implementado o conceito de 
relações aninhadas
– Valor nulo: podem existir diversos tipos (exemplo: valor 
desconhecido, não disponível, não se aplica, etc.), porém isso 
dificulta a implementação
25
26
Duas tuplas idênticas quando a ordenação dos atributos e dos valores não faz 
parte da definição de relação
27
Conceitos do Modelo Relacional
• Interpretação de uma relação
– O esquema de uma relação pode ser interpretado como 
uma declaração ou um tipo de afirmação (asserção)
• Exemplo: o esquema da relação Aluno afirma que, em geral, 
uma entidade aluno tem um Nome, Cpf, Telefone_residencial, 
Endereco, Telefone_comercial, Idade e Media
– Assim, cada tupla pode ser interpretada como um fato, 
uma determinada instância da afirmação
• Exemplo: a primeira tupla afirma que existe um Aluno cujo 
Nome é Bruno Braga, o Cpf é 305.610.243-51, a Idade é 19, e 
assim por diante
– Algumas relações podem representar fatos sobre 
entidades, enquanto outras podem representar fatos sobre 
relacionamentos
28
Restrições Relacionais
• Um banco de dados típico contém 
diversas relações, cujas tuplas estão 
relacionadas de diversas maneiras
• O estado do banco de dados corresponde 
ao conjunto dos estados das relações em 
um determinado instante
• Restrições são regras derivadas do 
minimundo que o banco de dados 
representa
29
Restrições Relacionais
• Categorias de restrições:
– Inerentes ao modelo de dados, implícitas ou baseadas no 
modelo
– Baseadas no esquema do banco de dados ou explícitas
• Podem ser expressas usando o modelo
• Especificadas usando a DDL no nível físico
– Baseadas na aplicação, semânticas ou regras de negócio
• Não podem ser expressas diretamente nos esquemas
• Devem ser expressas e impostas pelos programas de aplicação
• Existem ainda dependências de dados (funcionais e 
multivaloradas), que são a base dos testes de 
normalização
30
Restrições Relacionais
• Vários tipos de restrições baseadas no 
esquema podem ser especificadas em um 
esquema de banco de dados relacional
– Restrições de domínio
– Restrições de chave
– Restrições de integridade das entidades
– Restrições de integridade referencial
31
Restrições Relacionais
• Restrições de domínio
– Em cada tupla, o valor de cada atributo deve ser um 
valor atômico pertencente ao domínio correspondente 
ao atributo
– Tipos de dados associados a atributos: short int, 
int, long int, float, double, char, 
string, varchar, date, time, timestamp, 
money
• Outros: extensões de tipos de dados e tipos enumerados
– Mais informações vide Elmasri e Navathe 6ª ed. 
Capítulo 4 (SQL)
32
Restrições Relacionais
• Restrições de chave
– Por definição, todos os elementos de um conjunto 
são distintos
– Portanto, todas as tuplas precisam ser distintas, ou 
seja, duas tuplas não podem ter a mesma 
combinação de valores para todos os seus atributos
– É necessário que existam subconjuntos de atributos 
(SK) de modo que, para duas tuplas distintas 
quaisquer t1 e t2, se tenha a restrição t1[SK] != t2[SK]
– SK é chamado de superchave do esquema da 
relação R, e a superchave especifica uma restrição 
de unicidade
33
Restrições Relacionais
• Restrições de chave
– Cada relação possui pelo menos uma superchave: o 
conjunto de todos os atributos
– Uma superchave pode possuir atributos redundantes
– Uma chave K de um esquema de relação R é uma 
superchave de R, porém a remoção de um atributo 
de K faz com que deixe de ser uma superchave
• Portanto, uma chave, ou chave candidata é uma 
superchave mínima
– Uma chave é determinada a partir do significado dos 
atributos, e sua propriedade deve ser invariável no 
tempo
• Se há o risco de, em algum ponto no futuro, alguma tupla vir 
a repetir o valor da chave, então a chave é inválida
34
Esquemas de BD Relacionais
• As restrições vistas até agora aplicam-se a relações 
simples e a esquemas de relações simples
• No Banco de Dados como um todo, deve existir a 
garantia de que seu conteúdo esteja sempre íntegro e 
coerente
• Definições importantes no contexto de BD relacionais
– Um esquema de um BD relacional S é um conjunto de 
esquemas de relações S = {R1, R2, ..., Rm} e um conjunto de restrições de integridade RI
– Um estado do banco de dados relacional BD de S é um 
conjunto de estados de relação BD = {r1, r2, ..., rm} tal que cada ri é um estado de Ri, e tal que os estados da relação ri satisfazem as restrições de integridade especificadas em RI
35
Esquemas de BD Relacionais
• Traduzindo:
– As restrições de integridade fazem parte do esquema do BD
– Assume-se que as restrições de integridade são mantidas em 
todos os estados do banco de dados
– O modelo relacional inclui as restrições de domínio, de chave (já 
vistas), de integridade das entidades e de integridade referencial 
(a seguir)
– Restrições definidas pelo usuário são tratadas separadamente, 
e o SGBD não as garante sozinho; é necessário desenvolver 
código para cuidar delas
• Exemplo: Esquema empregado/departamento/projeto e 
o estado do Banco de Dados relacional correspondente 
a esse esquema
36
Esquema empregado/departamento/projeto
37
Um estado do BD possível para o esquema anterior
38
Integridade, Integridade 
Referencial e chaves estrangeiras
• Restrição de integridade da entidade
– Nenhuma chave primária pode ter valor nulo 
(NULL)
– Se isso fosse permitido, então estaríamos 
admitindo que existem tuplas que não 
conseguimos identificar
– Se duas ou mais tuplas estiverem nesse 
estado, não conseguiremos distingui-las, 
violando a regra básica da chave primária
39
• Restrição de integridade referencial
– Especificada entre duas relações
– Utilizada para manter a consistência entretuplas 
nas duas relações
– A regra informal é que uma tupla em uma relação 
que referencia outra relação precisa se referir a 
uma tupla existente naquela relação
• Exemplo: O atributo Dnr de FUNCIONARIO fornece o 
número de departamento para o qual cada funcionário 
trabalha
– Seu valor em cada tupla FUNCIONARIO precisa combinar 
com o valor Dnumero de alguma tupla na relação 
DEPARTAMENTO
Integridade, Integridade 
Referencial e chaves estrangeiras
40
• Para formalizar a definição da restrição de integridade 
referencial, é necessário primeiro definir chave 
estrangeira (foreign key, FK ou ChE)
• Um conjunto de atributos FK no esquema da relação R1 é uma chave estrangeira de R1 que referencia uma relação R2 se ele satisfizer às seguintes regras:
1. Os atributos em FK possuem o(s) mesmo(s) domínio(s) que os 
atributos da chave primária PK
• Os atributos FK referenciam ou se referem à relação R2
2. Um valor de FK em uma tupla t1 do estado atual r1(R1) ocorre como um valor de PK para alguma tupla t2 no estado corrente r2(R2), ou é nulo
• Se FK não for nulo, então temos t1[FK] = t2[PK], e diz-se que a tupla t1 referencia ou se refere à tupla t2.
• R1 é chamada de relação referenciadora e R2 de relação referenciada
Integridade, Integridade 
Referencial e chaves estrangeiras
41
• Em um BD com muitas relações, é provável que existam 
diversas restrições de integridade referencial
• As restrições de integridade referencial geralmente são 
definidas a partir dos relacionamentos entre as 
entidades no esquema conceitual
• Observe que uma chave estrangeira pode se referir à 
sua própria relação
– Ex.: Cpf_supervisor em FUNCIONARIO se refere a um 
supervisor de um empregado, portanto ao atributo Cpf da 
própria relação FUNCIONARIO
• O diagrama do esquema relacional pode indicar as 
restrições de integridade referencial
Integridade, Integridade 
Referencial e chaves estrangeiras
42
Restrições de integridade referencial exibidas no esquema de 
um Banco de Dados relacional EMPRESA
43
• Todas as restrições de integridade devem ser 
especificadas no esquema do banco de dados 
relacional se quisermos que o SGBD as 
implemente
• As restrições são especificadas usando a DDL
• A maioria dos SGBDs relacionais admite 
restrições de integridade de entidades e 
restrições de chave, e possui recursos para 
suportar a integridade referencial
Integridade, Integridade 
Referencial e chaves estrangeiras
44
• Restrições de integridade semântica
– São definidas de acordo com o problema, e 
portanto não correspondem a uma situação 
genérica, como nas restrições vistas até agora
• Exemplos:
– “O número máximo de horas mensais por projeto para cada 
empregado é de 100 horas”
– “O salário de um funcionário não deve ser superior ao 
salário de seu supervisor”
– São definidas usando uma linguagem de 
especificação de restrições, ou mecanismos 
como gatilhos (triggers) e afirmações (assertivas 
ou assertions)
• Em SQL, os comandos CREATE ASSERTION e 
CREATE TRIGGER são usados para esse fim
Outros tipos de restrições
45
Outros tipos de restrições
• Dependência funcional
– Especifica que o valor de X determina um valor exclusivo 
de Y em todos os estados de uma relação (vide Elmasri e 
Navathe, 6ª edição, Capítulos 15 e 16)
• Restrições de estado
– Definem as restrições às quais um estado válido do BD 
precisa satisfazer
– São as restrições discutidas até aqui
• Restrições de transição
– Definem regras para a alteração do estado do banco de 
dados
– São especificadas usando regras ativas e triggers (vide 
Elmasri e Navathe, 6ª edição, Seção 26.1)
• Exemplo: “o salário de um empregado só pode aumentar”
46
Operações de Atualização
• Existem duas classes de operações no modelo 
relacional: operações de recuperação e 
operações de atualização
• As operações de atualização precisam ser aplicadas 
sem violar a integridade do banco de dados
– Inserir (INSERT)
– Excluir (DELETE)
– Alterar ou Modificar (UPDATE)
• Existem políticas que devem ser adotadas para 
definir o comportamento do SGBD para garantir a 
integridade do banco em operações de atualização
47
Operações de Atualização
• É necessário garantir, em cada operação, 
que o estado do banco de dados continue 
válido
• Alternativas para ação em caso de tentativa 
de violação de alguma restrição:
– Rejeitar a operação
– Tentar corrigir o motivo da violação
• Neste caso, a correção pode também esbarrar em 
alguma outra restrição
• Pode ser necessário definir uma política geral para 
essas tentativas de correção, dependendo da situação
48
Operação INSERT
• INSERT fornece uma lista de atributos para uma 
nova tupla t que está sendo inserida em uma 
relação R
• Inserir pode violar qualquer um dos tipos de 
restrição
– Domínio: violada se algum atributo não estiver 
contido no domínio definido
– Chave: violada se o valor já existir em outra tupla
– Entidade: violada se o valor da chave primária for 
nulo
– Integridade referencial: violada se o valor de alguma 
chave estrangeira em t se referir a uma tupla não 
existente na outra relação
49
Operação INSERT
• Em caso de violação de restrições, a ação 
default é rejeitar a inserção
• Existe a possibilidade de tentar corrigir o motivo 
da rejeição da inserção, porém isso não é usual
– Exemplo de violação da integridade referencial: pode 
ser disparada uma inserção na tabela referenciada de 
modo a eliminar a causa do problema; essa inserção 
pode violar a integridade referencial com outras 
tabelas, em cascata
– Exemplo: ao constatar uma violação, o SGBD poderia 
solicitar ao usuário que preenchesse algum campo 
onde nulo não fosse permitido
50
Operação DELETE
• A operação DELETE é (obviamente) 
usada para excluir tuplas
• A única restrição de integridade que a 
operação DELETE pode violar é a 
integridade referencial
– Isso ocorre quando a tupla que está sendo 
excluída é referenciada por chaves 
estrangeiras em outras tuplas no BD
• Para determinar qual(is) a(s) tupla(s) a 
excluir, é usada uma condição
51
Operação DELETE
• Existem três comportamentos possíveis quando uma 
operação de exclusão causa uma violação da integridade:
– Restrict: Rejeitar a exclusão
– Cascade: Propagar a exclusão (provocar um efeito cascata), 
excluindo todas as tuplas que referenciam a tupla escolhida
– Set NULL ou Set default: Modificar os valores dos atributos 
referenciados que causam a violação, por exemplo substituindo-os 
por nulo ou fazendo com que referenciem uma tupla válida
• Naturalmente, se o atributo referenciado for parte da chave primária ele 
não poderá ser alterado para nulo
• Conforme o caso, pode-se combinar esses comportamentos
• O SGBD deve permitir a especificação do comportamento 
desejado em caso de violação de integridade
52
Operação UPDATE
• A operação de atualização ou modificação (UPDATE) 
serve para alterar os valores de um ou mais atributos em 
uma ou mais tuplas de alguma relação R
• É necessário especificar uma condição para indicar que 
tuplas devem ser alteradas
• As seguintes violações podem ser causadas:
– Domínio: idem a INSERT
– Chave e Entidade: modificar o valor de uma chave primária é 
equivalente a excluir uma tupla e incluir outra; nisso, as 
restrições e problemas de INSERT e DELETE têm que ser 
observadas
– Integridade referencial: possivelmente violada se algum atributo 
de chave estrangeira for alterado; o SGBD deve garantir que o 
novo valor se refira a algum valor existente na relação 
referenciada
53
Bibliografia
• Capítulo 3: Elsmari Ramez; Navathe 
Shamkant B. Sistemas de Banco de 
Dados – Fundamentos e Aplicações. 6 ed. 
Pearson, São Paulo, 2011.
• Date, C.J. Introdução a Sistema de Bancode Dados. 7 ed. Campus, Rio de Janeiro, 
2000.

Outros materiais