Modelo Relacional
Marcelo Mendes
Manaus – 2015
O Modelo Relacional




Foi proposto em 1970 por Ted Codd da IBM
Atraiu atenção imediata devido à simplicidade
e fundamentos matemáticos
Foi implementado em grande número de
sistemas comerciais nos últimos 20 anos
A linguagem de consulta SQL é padrão para
SGBDs relacionais comerciais
Modelo Relacional

Conceitos do Modelo Relacional

Características de Relações

Restrições Relacionais

Bancos de Dados Relacionais e Esquemas

Operação de Atualização e Violação de
Restrições
Conceitos


O modelo relacional representa o banco de
dados como uma coleção de relações.
Na terminologia formal do modelo relacional,
uma linha é chamada de tupla, o título da
coluna é denomidado atributo e a tabela é
chamada de relação. O tipo de dado que
descreve os tipos de valores que podem
aparecer em cada coluna é denominado
domínio.
Conceitos

Um domínio é um conjunto de valores
atômicos (indivisíveis)


Ex: Números de telefone, Salários, Nomes de
empregados, Idades de empregados.
Para cada domínio é especificado um tipo ou
formato de dado

Ex: telefone char(10), salário decimal(15,2),
nome_emp varchar(40), idade smallint.
Conceitos

Um esquema de relação é feito de um
nome de relação (R) e uma lista de atributos
(A1, A2, .., An). Cada atributo Ai é o nome
desempenhado por algum domínio D no
esquema R.


Cliente(nome, rua, cidade, cpf)
O grau de uma relação é o número de
atributos (n) de seu esquema de relação.

Grau(Cliente) = 5
Conceitos
Nome da relação
CLIENTE
Tuplas
Atributos
Nome
Rua
Cidade
Monier
Silves
Manaus
Fábio
Natal
Boa Vista 413658929 806503
Paulo
Pará
Rio Branco 230561947 432024
CPF
RG
413697262 101744
Atributos e tuplas da relação CLIENTE
Características

Ordem de tuplas em uma relação


Ordem de valores dentro de uma tupla


uma tupla é uma lista ordenada de valores
Valores nas tuplas.



Matematicamente falando, elementos de um conjunto não têm
ordem, logo tuplas não possuem ordem específica
Cada valor em uma tupla terá um valor atômico
Um domínio é atômico se seus elementos forem indivisíveis
Interpretação de uma relação.



Um esquema de relação pode ser interpretado como um fato;
Pode representar entidades ou relacionamentos; ou
como valores de tuplas que satisfazem a predicados
Restrições

Restrições de Domínio



Especifica que o valor de cada atributo A deve ser um valor
atômico do domínio dom(A).
Restrições de Chave

Todas as tuplas de uma relação devem ser distintas

Super-Chave, Chave Candidata e Chave Primária
Restrição em Nulo

Pode-se especificar se o valor nulo pode ou não ser permitido.
Restrições

Restrição de integridade de entidade


nenhum valor de chave primária pode ser nulo.
Restrição de integridade referencial

Informalmente, a restrição de integridade referencial diz que
uma tupla da relação (R1), que refere-se a outra relação (R2),
deve referir-se a uma tupla existente em R2.
Restrições

Chave estrangeira: Em duas relações R1 e R2, um
conjunto de atributos FK na relação R1 é uma chave
estrangeira de R1 que referencia R2, se satisfaz as duas
regras a seguir:


(i) Os atributos de FK tem o mesmo domínio que os atributos
da chave primária PK de R2, onde os atributos FK são ditos que
se referem a relação R2;
(ii) Um valor de FK em uma tupla t1 de R1, ou ocorre em uma
tupla t2 de R2 ou tem valor nulo.
R1 ALUNO
MAT
NOME
DTNASC ENDERECO SALARIO NSSSUPER NUMD
R2 TURMA
COD
NOME MATALUNO QTDEALUNOS
Restrições


As restrições de integridade referencial tipicamente vem dos
relacionamentos entre entidades
Uma chave estrangeira pode referir-se a sua própria relação



O relacionamento de supervisão na entidade empregado
É possível mostrar diagramaticamente as restrições de
integridade através de uma seta que liga cada chave estrangeira a
respectiva chave primária da relação referenciada
As restrições de integridade referencial não incluem uma grande
classe de restrições mais gerais conhecidas como restrições de
integridade semântica.


Salário de um empregado não pode exceder o salário de seu
supervisor;
Número máximo de horas que um empregado pode trabalhar em todos
os projetos por semana não pode ultrapassar 40 horas
Restrições
Numero
DtIni
Supervisiona
Salário
NSS
1
1
N
Empregado
1
Gerencia
1
N
Nome
Localização
Departamento
1
Trabalha
Controla
Nome
Endereço
Parentesco
DtNasc
Nome
1
Possui
N
Dependente
N
N
Participa
Horas
N
Projeto
Numero
Nome
Restrições
EMPREGADO
NSS
NOME
DTNASC ENDERECO SALARIO NSSSUPER NUMD
DEPARTAMENTO
NOMED NUMDEP NSSGER DATINIGER
LOCALIZACOES_DEP
TRABALHA_EM
NSSE
NUMP
NUMD
LOCALPROJ
HORAS
NUMDEP LOCALDEP
PROJETO
NOMEP NUMPROJ
DEPENDENTE
NSSE NOMDEP DTNASC PARENTESCO
Violação de Restrições
Operação de Inserção





Restrição de domínio (valor não correspondente ao
domínio especificado)
Restrição de chave (se um valor de chave já existe)
Integridade de entidade (se a chave primária é nula)
Integridade referencial (se o valor da chave estrangeira
refere-se a uma tupla que não existe na relação
referenciada)
A opção default (padrão) é rejeitar a inserção
Violação de Restrições
Operação de Exclusão



Pode violar somente integridade referencial
Ocorre quando a tupla sendo excluída é referenciada
como chave estrangeira de outras tuplas no banco de
dados
Três opções estão disponíveis:



Rejeitar a exclusão
Propagar a exclusão
Modificar o valor do atributo sendo referenciado, seja colocando
o valor null ou colocar um outro valor válido. Se o atributo
referenciado fizer parte da chave primária o atributo não poderá
assumir valor nulo, senão será violada a restrição de integridade
de entidade
Violação de Restrições
Operação de Atualização




Usada para alterar os valores de um ou mais atributos
em uma tupla
Atributos que não são chaves primárias ou estrangeiras,
não tem problemas, exceto a checagem de tipos e
domínios
Modificar uma chave primária é a mesma coisa que
apagar uma tupla e inserir outra em seu lugar. As
mesmas regras de inserção e exclusão se aplicam aqui
Se uma chave estrangeira é modificada, o SGBD tem
que garantir que o novo valor refere-se a uma tupla
existente na relação referenciada
Download

AULAS - C1 - Modelo Relacional