Você está na página 1de 67

MongoDB

Bancos de Dados/
Modelagem Relacional
e Linguagem SQL

1
Modelagem Relacional e
Linguagem SQL
• Professor: Henrique Batista da Silva

• Tópicos:
• Modelo Relacional

2
Introdução
• Banco de dados está presente no dia a dia:
• Saques e depósitos bancários.
• Reservas em hotel.
• Catálogo de uma biblioteca online.
• Compra de produtos em geral (livros, DVDs, etc.)

3
O que é um banco de dados
• Um banco de dados é uma coleção de dados relacionados e
acessíveis.
• Os dados são fatos que podem ser gravados e possuem um
significado implícito.
• Ex.: Um agenda telefônica com:
• Nome
• Telefone
• E-mail
• Diversos tipos de dados podem ser armazenados em um
banco de dados:
• Estruturados (Ex: Dados de uma Nota fiscal)
• Semiestruturados (Ex: Um dados no formato XML)
• Desestruturados (Ex: Um vídeo)
4
Sistema de Gerenciamento de
Banco de Dados (SGBD)
• Pacote de software que facilita a criação e
manutenção de um banco de dados.
• A manipulação dos dados é através da realização de
operações como consultas, alteração de dados,
emissão de relatórios, etc.
• Exemplos:
• Microsoft SQL Server
• Oracle
• MySQL

5
Sistema de Banco de Dados
• Sistemas de BD são sistemas desenvolvidos com
funções específicas, que usam Banco de dados,
desenvolvidos em SGBDs.

• Sozinho um SGBD não significa nada, com um BD e


um programa escrito para sua manipulação forma-
se um sistema de BD.

6
Sistema de Banco de Dados
Usuários/Programadores

Sistema de banco
Programas de Aplicações/Consultas (Queries)
de dados

Software SGBD

Programa p/ Processamento de Consultas/Prog.

Software para Acesso aos Dados Armazenados

Definição dos Dados Banco de Dados


Armazenados Armazenados

Copyright © 2011 Ramez Elmasri and Shamkant Navathe 7


Algumas Vantagens do SGBD
• Processamento eficientes de consultas
• O SGBD deve fornecer a execução de consultas e
atualizações de forma eficiente (devido ao banco ficar
armazenado em disco).
• Arquivos “indexes” são utilizados.
• Baseados em estruturas de dados (arvores - trees).
• Backup e restauração
• Redução com problemas de integridade
• Força cada tipo de dado para cada item de dado
• campo nome do aluno deve receber string de tamanho 100,
por exemplo.

8
Modelo de Dados
• Banco de dados permitem a abstração dos dados,
ocultando detalhes do armazenamento, que são
desnecessários para o usuário.

• Modelo de dados é um conjunto de conceitos que


se usa para descrever a estrutura do BD e certas
restrições que o banco deve garantir.

9
Modelo de Dados
• Contém recursos necessários para alcançar o grau
desejado de abstração.

• A estrutura de um banco de dados contém tipos de


dados, relacionamentos e restrições que permitem
um BD correto e íntegro.

10
Modelo de Dados
• Categorias de modelos de dados:
• Modelos de dados conceituais (alto nível)
• Possuem conceitos que descrevem os dados como os usuários
percebem.
• Baseado em entidades, atributos e relacionamentos (Independentes
de SGBD).

• Modelos de dados físicos (baixo nível)


• Possuem conceitos que descrevem como os dados estão armazenados
no computador (tipos e tamanho de registros).

• Modelos de dados lógicos (representativos ou de implementação)


• Intermediário entre físico e lógico.
• Exemplo: Modelo Relacional

11
Modelo de Dados
• Categorias de modelos de dados (níveis de
abstração):
Modelo Conceitual
Abstração

Modelo Lógico

Modelo Físico

12
Esquemas
• Descrição da estrutura de um Banco de Dados.
(pode ser textual ou gráfica).

• O diagrama esquemático apresenta a estrutura de


cada tipo de registro, mas não as instâncias reais
dos registros.

13
Esquemas
• Exemplo: diagrama esquemático:

Obs.: exibe apenas alguns aspectos, tipo de dado e relacionamento não são exibidos.

Copyright © 2011 Ramez Elmasri and Shamkant Navathe 14


Instâncias
• Os dados no banco de dados em um determinado
momento são chamados estado do banco de
dados (snapshot) ou instâncias.

• A cada novo registro inserido ou removido, o


estado (instância) do banco se altera.

15
Linguagens de SGBD
• A linguagem SQL se divide em três subgrupos:
• Linguagem de Definição de Dados (DDL - Data Denition
Language):
• Usada para definição dos esquemas
• Linguagem de Manipulação de Dados (DML - Data
Manipulation Language):
• Utilizada pelos usuários para manipulação dos dados
(recuperação, inclusão, alteração e exclusão).
• Linguagem de Controle de Dados (DCL - Data Control
Language):
• Utilizada para conceder e retirar privilégios de usuários de BD
em objetos de BD

16
Modelo Relacional

17
Modelo Relacional
• O modelo de dados relacional foi introduzido por
Edgar Codd em 1970.

• Sua simplicidade e eficiência garantiram a ele


amplo predomínio nos sistemas comerciais atuais.

• É um modelo formal, baseado na teoria


matemática das relações entre conjuntos.

18
Modelo Relacional
• A ideia de modelo relacional era representar
ambos, entidade e relacionamento, de maneira
uniforme.

• O modelo de dados relacional é uma linguagem


unificada para definição e manipulação de dados.

• Os SGBDs Relacionais mais conhecidos hoje são


Oracle (Oracle) e SQL Server (Microsoft).

19
Modelo Relacional
• Quando uma relação é pensada como uma tabela,
cada linha na tabela representa uma coleção de
valores de dados relacionados.

• No modelo relacional, cada linha na tabela


corresponde a uma entidade ou relacionamento do
mundo real.

20
Modelo Relacional
• As colunas no modelo relacional (atributos de uma
entidade), especificam como interpretar os valores
de dados em cada linha.

• Todos os valores de uma coluna são do mesmo tipo


de dados.

21
Modelo Relacional
• Terminologia:
• Uma linha é chamada Tupla.
• Um cabeçalho de coluno é chamado Atributo.
• A tabela é chamada Relação.
• O conjunto de valores que um atributo pode ter se
chama Domínio.

22
Modelo Relacional

Coluna/Campo (atributo)

No Matrícula Nome End. Residencial Cargo


01 João Av. 9 de julho,14 Diretor
05
02 José Rua das Flores,35 Gerente linha (tupla)
... ... ... ...
03 Maria Al. Casa Branca, 11 Escriturário

domínio da coluna/campo
(valor do atributo)

TABELA
(RELAÇÃO)
23
Modelo Relacional
• Um Domínio D, é um conjunto de valores
indivisíveis (atômicos) que um atributo pode ter.

• Exemplos:
• Nomes: o conjunto de nomes de pessoas. Cadeia de caracteres
contendo apenas letras.
• CPF: conjunto de 11 dígitos
• Idade_Empregado: valores de possíveis para idades de funcionários
da empresa. Número inteiro entre 16 e 70.

24
Modelo Relacional
• Um esquema de uma relação pode ser interpretado
como uma afirmação: cada aluno possui nome, CPF,
endereço, telefone e número de matrícula.
• Ex: Aluno (nome, CPF, endereço, telefone , número de
matrícula)

• Assim, cada tupla (linha) pode ser interpretada como


um fato, uma determinada instância da afirmação.

• Algumas relações(tabelas) podem representar fatos


sobre entidades, enquanto outras podem representar
fatos sobre relacionamentos.
25
Modelo Relacional
• Os atributos e as tuplas de uma relação ALUNO

Copyright © 2011 Ramez Elmasri and Shamkant Navathe 26


Características das Relações
• Cada relação (tabela) terá:
• um nome, que será único em um determinado banco de
dados.
• e um conjunto de colunas (atributos) com seus
respectivos nomes e valores (domínios).
• Todos os valores de uma mesma coluna são do
mesmo tipo de dados.
• Em uma mesma relação (tabela) as colunas terão
que possuir nomes distintos.

27
Características das Relações
• Uma relação é definida como um conjunto de
tuplas.

• Na matemática, a ordem dos elementos de um


conjunto é irrelevante.
• ordem das tuplas (linhas) não tem qualquer importância
em uma relação.

28
Características das Relações
• Cada valor em uma tupla é atômico.
• Não são permitidos atributos multivalorados ou
compostos, a não que estejam sendo tratados como
simples.

• Os atributos multivalorados devem ser


representados em relações separadas.

• Os atributos compostos são representados como


atributos simples.
29
Restrições do Modelo Relacional
• Restrições de domínio:
• O valor de uma coluna deve obedecer a definição dos
tipos de dados admitidos para esta coluna.

• Os tipos de dados podem ser: int, double, char, string,


date, time, etc..

• Através deste tipo de restrição é também especificado


se a coluna pode ou não ter valores nulos.

30
Restrições do Modelo Relacional
• Restrições de chave:
• Relação é um conjunto de tuplas. Por definição, todos os
elementos de um conjunto são distintos.

• Desta forma, todas as tuplas (linhas) precisam ser


distintas em uma relação (tabela), ou seja, duas tuplas
(linhas) não podem ter a mesma combinação de valores
para todos os seus atributos.

31
Restrições do Modelo Relacional
• Uma chave é um conjunto mínimo de valores dos
atributos que identifica unicamente uma tupla
(linha).
• Garante a restrição de unicidade entre as tuplas
de uma relação
• Exemplo:
• Matrícula é uma chave de ALUNO pois dois ou mais
alunos não podem ter a mesma matrícula.
• Não podemos indicar o “nome do aluno” como chave pois é
possível existirem dois alunos com o mesmo nome.

32
Restrições do Modelo Relacional
Empregado
CodEmp Nome DataNasc Cidade Estado CodDepto
1 José 21/04/1980 BH MG 1
2 Alberto 22/04/1980 BH MG 1
3 Maria 05/08/1970 BH MG 3
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 João 28/04/1980 BH MG NULL
9 Carlos 29/04/1980 BH MG NULL

33
Restrições do Modelo Relacional
Empregado
CodEmp Nome DataNasc Cidade Estado CodDepto
1 José 21/04/1980 BH MG 1
2 Alberto 22/04/1980 BH MG 1 Existem dois empregados
3 Maria 05/08/1970 BH MG 3 com o mesmo nome,
4 Ana 24/04/1980 BH MG 2 porém não há
5 Pedro 05/08/1970 BH MG 1 problemas, desde que o
6 Antônio 06/08/1970 BH MG 2 atributo Nome não seja
7 Maria 07/08/1970 BH MG 3 o Atributo Chave da
8 João 28/04/1980 BH MG NULL relação (e nem contenha
9 Carlos 29/04/1980 BH MG NULL a restrição Unique).

34
Restrições do Modelo Relacional
Empregado
CodEmp Nome DataNasc Cidade Estado CodDepto
1 José 21/04/1980 BH MG 1
2 Alberto 22/04/1980 BH MG 1 Existem dois empregados
3 Maria 05/08/1970 BH MG 3 com o mesmo nome,
4 Ana 24/04/1980 BH MG 2 porém não há
5 Pedro 05/08/1970 BH MG 1 problemas, desde que o
6 Antônio 06/08/1970 BH MG 2 atributo Nome não seja
7 Maria 07/08/1970 BH MG 3 o Atributo Chave da
8 João 28/04/1980 BH MG NULL relação (e nem contenha
9 Carlos 29/04/1980 BH MG NULL a restrição Unique).

CodEmp é o Atributo Chave da relação. Note que seus


valores não se repetem. O atributo CodEmp garante a
unicidade entre as tuplas da relação Empregado. 35
Restrições do Modelo Relacional
• Restrições de chave (Chave Primária):
• É uma coluna ou uma combinação de colunas cujos
valores distinguem uma linha das demais dentro de uma
tabela.

• Podem ser Chaves únicas ou Chaves compostas.

36
Restrições do Modelo Relacional

C ó di goEm p N o me C ó di go Dept o
Chave Única
E3 Pa ulo D1
E1 Lu c ia na D2
E2 An t o nio D1
E4 Lu c ia D3

CódigoEmp NumDepend Nome Tipo


Chave
E1 01 Lui s Fi l h o
Composta E1 02 Marta Esposa
E2 01 Ana Esposa
E2 02 Carlos Fi l h o
37
Restrições do Modelo Relacional
• Diagrama para o esquema do banco de dados
relacional EMPRESA

Copyright © 2011 Ramez Elmasri and Shamkant Navathe 38


Restrições do Modelo Relacional
• Restrições de Integridade Entidade:
• A chave primária de uma relação NÃO pode ter valor
NULO.

• Se isso fosse permitido, então estaríamos admitindo que


existam tuplas que não se diferenciam, violando a regra
básica da chave primária.

39
Restrições do Modelo Relacional
• Restrições de Integridade Referencial:
• É classificada entre duas relações e usada para manter
consistência entre as tuplas das duas relações.

• Informalmente:
• Uma tupla em uma relação, que faz referência a outra relação,
deve-se referir a uma tupla existe nesta relação.

40
Restrições do Modelo Relacional
• Exemplo (Restrição Integridade Referencial):
• O valor do atributo DNO (faz referencia ao departamento em que o
empregado trabalha) de EMPREGADO deve sempre corresponder
ao valor de DNUMERO em alguma tupla de Departamento

Copyright © 2011 Ramez Elmasri and Shamkant Navathe 41


Restrições do Modelo Relacional
• Formalmente (Restrição Integridade Referencial):
• Usa-se o conceito de chave estrangeira (foreign key)
para definir as restrições de integridade referencial.

• A chave estrangeria (FK) faz referência a uma relação se


satisfazer as duas regras:
• Os atributos de FK de R1 têm o mesmo domínio da PK de R2.
• Um valor de FK de uma tupla t1 deve ser igual a um valor de PK
para uma tupla t2, ou ser null.

A integridade referencial estabelece que todo valor de chave estrangeira


numa relação deve corresponder a um valor de chave primária de uma
segunda relação ou deve ser nulo.

42
Restrições do Modelo Relacional
• Restrição Integridade Referencial
Chave Primária (PK)

CodigoDepto Nome
D1 Compras
R2 - DEPARTAMENTO
D2 V e n d as
D3 E n g e n h a ri a

Chave Estrangeira (FK)

CódigoEmp Nome CódigoDepto


E3 Paulo D1
E1 Luciana D2 R1 - EMPREGADO
E2 Antonio D1
E4 Lucia NULL 43
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 José 28/04/1980 BH MG NULL
9 Carlos 29/04/1980 BH MG 4

44
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 José 28/04/1980 BH MG NULL
9 Carlos 29/04/1980 BH MG 4

45
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 José 28/04/1980 BH MG NULL
9 Carlos 29/04/1980 BH MG 4

46
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 José 28/04/1980 BH MG NULL
9 Carlos 29/04/1980 BH MG 4

47
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
Empregado 8, não faz
referência a nenhum
8 José 28/04/1980 BH MG NULL
departamento. Portanto
9 Carlos 29/04/1980 BH MG 4
seu valor é NULL.
48
Restrições do Modelo Relacional
• Restrição Integridade Referencial (Exemplo)
N 1
Empregado Trabalha Departamento

Empregado Departamento
CodEmp Nome DataNasc Cidade Estado CodDepto CodDepto Nome
1 José 21/04/1980 BH MG 1 1 Matemática
2 Alberto 22/04/1980 BH MG 1 2 Física
3 Maria 05/08/1970 BH MG 3 3 Computação
4 Ana 24/04/1980 BH MG 2
5 Pedro 05/08/1970 BH MG 1
6 Antônio 06/08/1970 BH MG 2
7 Maria 07/08/1970 BH MG 3
8 José 28/04/1980 BH MG NULL
Não existe o
departamento de código
9 Carlos 29/04/1980 BH MG 4
igual a 4. Portanto, valor
não Permitido. 49
Restrições do Modelo Relacional
• Considerações:
• 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.
• As restrições de integridade referencial geralmente são
definidas a partir dos relacionamentos entre as entidades
(esquema conceitual).
• 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 (Linguagem de
Definição de Dados).

50
Restrições do Modelo Relacional
• Restrições de integridade referencial exibidas no
esquema de um banco de dados relacional EMPRESA

51
Copyright © 2011 Ramez Elmasri and Shamkant Navathe
Operações de Atualização sobre
Relações
• As operações de atualização precisam ser aplicadas
sem violar a integridade do banco de dados.

• Há três operações básicas.


• Inserir (INSERT) – Usada para inserir uma nova tupla.
• Alterar (UPDATE) – usada para modificar os valores dos atributos
em tuplas existentes.
• Excluir (DELETE) – usada para remover uma tupla.

52
Operações de Atualização sobre
Relações
• INSERT fornece uma lista de atributos para uma
nova tupla 𝑡 que está sendo inserida em uma
relação 𝑅.

• Inserir pode violar qualquer um dos tipos de


restrição:
• Domínio
• Chave
• Entidade
• Integridade referencial

53
Operações de Atualização sobre
Relações
• Violação de Domínio (insert): violada se algum atributo não
estiver contido no domínio definido:

CodEmp Nome Sexo Cidade Estado CodDepto


1 José M BH MG 1
2 Alberto M BH MG 2
INSERT
3 Maria 2 BH MG 3

O valor a ser inserido deve ser apenas


M ou F, não pode ser valor numérico.

54
Operações de Atualização sobre
Relações
• Violação de Chave (insert): violada se o valor já existir em
outra tupla:

CodEmp Nome Sexo Cidade Estado CodDepto


1 José M BH MG 1
2 Alberto M BH MG 2
INSERT
2 Maria F BH MG 3

O valor a ser inserido no atributo chave


deve ser único, não podendo haver
valores repetidos para tuplas
diferentes.
55
Operações de Atualização sobre
Relações
• Violação de Entidade (insert): violada se o valor da chave
primária for nulo:

CodEmp Nome Sexo Cidade Estado CodDepto


1 José M BH MG 1
2 Alberto M BH MG 2
INSERT
NULL Maria F BH MG 3

O valor a ser inserido no atributo chave


não pode ser um valor nulo.

56
Operações de Atualização sobre
Relações
• Violação de Integridade referencial (insert): violada se o
valor de alguma chave estrangeira em t se referir a uma
tupla não existente na outra relação:
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
INSERT
3 Maria F BH MG 4

Departamento
CodDepto Nome O valor a ser inserido deve ser um valor
1 Matematica válido (existente) na relação que está
2 Física sendo referenciada.
3 Computação

57
Operações de Atualização sobre
Relações
• A operação DELETE é 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.

58
Operações de Atualização sobre
Relações
• Violação de Integridade referencial (delete):

Empregado
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
3 Maria F BH MG 3

Departamento
CodDepto Nome
1 Matematica A tupla a ser apagada está sendo
2 Física referenciada por outra tupla em uma
DELETE 3 Computação outra relação.

59
Operações de Atualização sobre
Relações
• Existem três comportamentos possíveis quando uma
operação de exclusão causa uma violação da integridade:
• Bloqueio (restrict): quando a tupla a ser excluída é referenciada em
outras relações (pela FK).

• Propagação (cascade): todas as tuplas que referenciam a tupla a


ser excluída (pela FK) são excluídas também automaticamente.

• Substituição por nulo (set null): todas as tuplas que referenciam a


tupla a ser excluída (pela FK) têm os valores dos atributos da chave
estrangeira modificados para nulo (se for permitido nulo) e a
exclusão é efetuada.

60
Operações de Atualização sobre
Relações
• Propagação (cascade):

Empregado
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
3 Maria F BH MG 3

Departamento
CodDepto Nome
1 Matematica
2 Física
DELETE 3 Computação

61
Operações de Atualização sobre
Relações
• Propagação (cascade):

Empregado
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
3 Maria F BH MG 3

Departamento
CodDepto Nome
1 Matematica
2 Física
DELETE

62
Operações de Atualização sobre
Relações
• Propagação (cascade):

Empregado
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
CASCADE

Departamento
CodDepto Nome
1 Matematica
2 Física
DELETE

63
Operações de Atualização sobre
Relações
• Propagação (SET NULL):

Empregado
CodEmp Nome Sexo Cidade Estado CodDepto
1 José M BH MG 1
2 Alberto M BH MG 2
SET NULL
3 Maria F BH MG NULL

Departamento
CodDepto Nome
1 Matematica
2 Física
DELETE

64
Operações de Atualização sobre
Relações
• A operação de atualização (UPDATE) muda os
valores de alguns atributos em tuplas existentes.

• É necessário especificar uma condição para indicar


que tuplas devem ser alteradas.
• Exemplo: altere o endereço do empregado, cujo o valor
de sua matrícula = 10.

65
Operações de Atualização sobre
Relações
• As seguintes violações podem ser causadas
(update):
• Domínio: violada se algum atributo não estiver contido
no domínio definido.
• Chave e Entidade: modificar o valor de uma chave
primária é equivalente a excluir uma tupla e incluir
outra;
• 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.
66
Referências Bibliográficas
• ELMASRI, Ramez. Sistemas de banco de dados:
fundamentos e aplicações. 3. ed. Rio de Janeiro:
LTC, 2002. 837 p. ISBN 852161313X.

• ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de


Dados. 6a. Edicão. Addison-Wesley, 2011.

67

Você também pode gostar