Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula Modelo Relacional
Aula Modelo Relacional
Modelo Relacional
(Material cedido pela Profa. Daniela Leal Musa)
Banco de Dados
Modelo Relacional
Introduzido por Codd em 1970 (IBM/ Califrnia)
Modelo com uma slida base formal
teoria dos conjuntos
Conceitos Simples
relaes, atributos, tuplas e domnios
Integridade
restries bsicas para dados e relacionamentos
Manipulao
linguagens formais (lgebra e clculo relacional)
SQL (comercial)
Banco de Dados
Exemplo de Domnio
NOME
Banco de Dados
Exemplo de Domnio
NOME
Varchar(20)
Nomes prprios de pessoas
DOMNIO
Banco de Dados
Exemplo de Domnio
Tipo
NOME
Varchar(20)
Nomes prprios de pessoas
DOMNIO
Semntica
Banco de Dados
Exemplo de Domnio
Tipo
Telefone
Formato
Varchar(10)
(99) 9999-9999
Telefones vlidos no Brasil
DOMNIO
Semntica
Banco de Dados
Banco de Dados
Banco de Dados
Exemplo: Tupla
Tupla 1
Nome
Matrcula
DataNasc
Renata
01035
12/11/1980
Vnia
Maria
02467
01427
03/07/1976
20/02/1985
Atributo: Nome
Valor: Renata
Banco de Dados
Exemplo: Tupla
Tuplas
Nome
CPF
DataNasc
Renata
01035
12/11/1980
Vnia
Maria
02467
01427
03/07/1976
20/02/1985
Banco de Dados
Corpo
nmero varivel de tuplas (cardinalidade da relao)
ordem no relevante
Banco de Dados
Exemplo Relao
Cabealho
Aluno
Nome
Renata
Vnia
Maria
CPF
01035
02467
01427
Endereo
Rua das Flores, 210
Capote Valente, 35
So Diego 310/34
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
Exemplo Relao
Aluno
Nome
Renata
Vnia
Maria
CPF
01035
02467
01427
Endereo
Rua das Flores, 210
Capote Valente, 35
So Diego 310/34
DataNasc
12/11/1980
03/07/1976
20/02/1985
Corpo
Banco de Dados
Revisando...
Banco de Dados
S2
S3
Nome
Endereo
DataNasc
Renata
Rua das
12/11/1980
Flores, 210
Capote
03/07/1976
Valente, 35
So Diego 20/02/1985
310/34
S1
Vnia
Maria
TUPLAS
Banco de Dados
S2
S3
Nome
Endereo
DataNasc
ATRIBUTOS
Renata
Rua das
Flores, 210
12/11/1980
Relao R
Vnia
Capote
Valente, 35
03/07/1976
Maria
So Diego
310/34
20/02/1985
S1
Banco de Dados
Relao R
Domnio
S2
S3
Nome
Endereo
DataNasc
Renata
Rua das
Flores, 210
12/11/1980
Vnia
Capote
Valente, 35
03/07/1976
Maria
So Diego
310/34
20/02/1985
S1
Banco de Dados
Relembrando...
Banco de Dados
Banco de Dados
Esquema e Instncia
Esquema
Aluno (nome,matrcula, endereo, DataNasc, Curso)
Curso (codigo, descrio)
Instncia
(Daniela, 12345, So Diego, 310, 28/06, 1)
Banco de Dados
Chave
Conjunto de um os mais atributos de uma relao
Chave Primria (primary key) PK
Chave Candidata
Chave Alternativa
Chave Estrangeira (foreign key) - FK
Banco de Dados
Chave Primria
Primary key (PK)
atributo(s) cujo (conjunto de) valor(es) identifica(m)
unicamente uma tupla em uma relao
Unicidade de valores na coluna que compe a chave
Banco de Dados
CPF
01035
02467
01427
Endereo
Rua das Flores, 210
Capote Valente, 35
So Diego 310/34
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
CPF
01035
02467
01427
Endereo
Rua das Flores, 210
Capote Valente, 35
So Diego 310/34
DataNasc
12/11/1980
03/07/1976
20/02/1985
CPF
Banco de Dados
CPF
701034263890
693529876987
347685784432
Endereo
Rua das Flores, 210
Capote Valente, 35
So Diego 310/34
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
Banco de Dados
Banco de Dados
Chave Candidata
Possui as mesmas propriedades que a chave
primria
Aluno
Nome
Renata
Vnia
Maria
Matrcula
CPF
01035
701034263890
02467
693529876987
01427
347685784432
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
Chave Candidata
Possui as mesmas propriedades que a chave
primria
Aluno
Nome
Renata
Vnia
Maria
Matrcula
CPF
01035
701034263890
02467
693529876987
01427
347685784432
DataNasc
12/11/1980
03/07/1976
20/02/1985
Chaves candidatas
Banco de Dados
Chave Candidata
Qual escolher para Chave Primria?
Escolhe-se para chave primria aquela com o
atributo nico ou menor nmero de caracteres
Nome
Renata
Vnia
Maria
Matrcula
CPF
01035
701034263890
02467
693529876987
01427
347685784432
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
Chave Candidata
Chave Primria
Nome
Renata
Vnia
Maria
Matrcula
CPF
01035
701034263890
02467
693529876987
01427
347685784432
DataNasc
12/11/1980
03/07/1976
20/02/1985
Banco de Dados
Chave Alternativa
Chave Primria
Nome
Renata
Vnia
Maria
Matrcula
CPF
01035
701034263890
02467
693529876987
01427
347685784432
DataNasc
12/11/1980
03/07/1976
20/02/1985
Chave alternativa
Chave Estrangeira
Foreign Key (FK)
Atributo(s) de uma relao, cujos valores devem
obrigatoriamente aparecer na chave primria de
uma relao (da mesma ou de outra)
Implementa o relacionamento em um BD relacional
Banco de Dados
Matrcula
CPF
Curso
Renata
01035
701034263890
Vnia
Maria
02467
01427
693529876987
347685784432
2
1
Banco de Dados
Matrcula
Renata
Vnia
Maria
01035
02467
01427
CPF
701034263890
693529876987
347685784432
Codigo
Descrio
Cincia da Computao
Administrao de Empresas
Curso
1
2
1
Banco de Dados
Banco de Dados
Cod_Chefe
4
Joo
Banco de Dados
Revisando...
Banco de Dados
Restries de Integridade
uma regra que deve ser obedecida em todos os estados
vlidos da base de dados.
Semntica
Banco de Dados
Restries de Integridade
Domnio: conjunto de valores que um atributo pode
assumir
Exemplo: Nome: varchar (20)- Alessandra Vogel Oliveira
viola a regra
Vazio: define se os atributos podem ou no ser vazios
Banco de Dados
Integridade de Entidade
Garantia de acesso a todos os dados sem
ambigidade
CodFun Nome
1
Maria
2
3
Joo
Pedro
Carla
na base de dados
Banco de Dados
Integridade Referencial
Chave estrangeira (FK)
Garantia de relacionamentos
vlidos
Os valores que aparecem na
Nome
Matrcula
Renata
Vnia
Maria
01035
02467
01427
CPF
Curso
701034263890
693529876987
347685784432
1
2
1
Curso
Descrio
FK devem aparecer na PK da
Cincia da Computao
relao referenciada
Administrao de Empresas
Banco de Dados
Integridade Semntica
Especificada atravs de regras sobre o esquema do banco
de dados
Exemplos:
O salrio de um empregado deve ser menor ou igual ao do seu
supervisor
O nmero de horas semanais de um empregado em um projeto
no pode ser maior do que 50
Banco de Dados
Restries de Atualizao
Insero: insere tuplas em uma relao
Pode violar 4 restries de integridade:
Banco de Dados
Restries de Atualizao
Insero: insere tuplas em uma relao
Pode violar 4 restries de integridade:
Integridade de Domnio: valor no do domnio
Banco de Dados
Restries de Atualizao
Insero: insere tuplas em uma relao
Pode violar 4 restries de integridade:
Integridade de Domnio
Integridade de Chave: valor j existe
Banco de Dados
Restries de Atualizao
Insero: insere tuplas em uma relao
Pode violar 4 restries de integridade:
Integridade de Domnio
Integridade de Chave
Integridade de Entidade: chave primria nula
Banco de Dados
Restries de Atualizao
Insero: insere tuplas em uma relao
Pode violar 4 restries de integridade:
Integridade de Domnio
Integridade de Chave (ex.: chave duplicada)
Integridade de Entidade
Integridade Referencial: valor da FK refere-se a uma
tupla que no existe na relao referenciada
Banco de Dados
Restries de Atualizao
Excluso: exclui tuplas de uma relao
Pode violar :
Banco de Dados
Restries de Atualizao
Excluso: exclui tuplas de uma relao
Pode violar :
Integridade referencial: se a tupla que est sendo
excluda est referenciada por uma FK de outra tupla
Banco de Dados
Restries de Atualizao
Excluso:
Nome
Matrcula
CPF
Curso
Renata 01035
701034263890
Vnia
02467
693529876987
Maria
01427
347685784432
Curso
Descrio
Cincia da Computao
Administrao de Empresas
Banco de Dados
Restries de Atualizao
Procedimento a ser adotado:
Rejeitar a operao
Excluir em cascata
Mudar os valores dos atributos referenciados
Banco de Dados
Restries de Atualizao
Atualizao : altera os valores de atributos nas
tuplas existentes
Pode violar:
Banco de Dados
Restries de Atualizao
Atualizao : altera os valores de atributos nas
tuplas existentes
Pode violar:
Restrio de Domnio para atributos que no so chave
Banco de Dados
Restries de Atualizao
Atualizao : altera os valores de atributos nas
tuplas existentes
Pode violar:
Restrio de Domnio para atributos que no so chave
Chave primria e entidade
Banco de Dados
Restries de Atualizao
Atualizao : altera os valores de atributos nas
tuplas existentes
Pode violar:
Restrio de Domnio para atributos que no so chave
Chave primria e entidade
Referencial
Banco de Dados
Exerccio:
Considere o seguinte esquema relacional:
Categoria(CodCategoria, Descrio)
Cliente (CodCli, Nome, Endereco, CPF, CodCategoria)
Funcionrio (CodFunc, Nome, CT, CPF, End, Fone)
Fornecedor (CodFornec, Nome, Cidade)
Produto (CodProd, CodFornec, Nome, Peso, Valor)
Banco de Dados
Exerccio:
1) Identificar as chaves primrias e chaves
estrangeiras
2) Explique o que deve ser feito pelo SGBD para
garantir a integridade referencial nas seguintes
situaes:
a) Uma tupla excluda na tabela Categoria
b) Uma tupla alterada na tabela Fornecedor
Banco de Dados
Leitura Complementar
Banco de Dados