MODELO RELACIONAL
Apresentação da próxima etapa do projeto de banco de dados: o modelo
lógico (relacional).
atributos opcionais, compostos e multivalorados.
Francisco Escobar
MODELO RELACIONAL
TABELAS
CHAVE PRIMÁRIA
CHAVE ÚNICA
CHAVE ESTRANGEIRA
RELACIONAMENTOS
NOTAÇÃO RESUMIDA PARA MODELOS LÓGICOS RELACIONAIS
INTEGRIDADE DE DADOS
CONSTRAINTS
NOMENCLATURA DE TABELAS E DE CAMPOS
TIPOS DE DADOS
tabelas
Estrutura bi-dimensional composta por linhas (tuplas) e campos (ou atributos).

chave primária
Atributo através do qual seja possível identificar determinado registro. Uma chave primária não pode ser repetida, ou seja, o conjunto de valores que constituem a
chave primária deve ser único dentro de uma tabela.
Chave primária simples: apenas um atributo (campo) compõe a chave primária.
Chave primária composta: mais de um atributo compõe a chave primária.
chave primária

chave única
Utilizada quando determinado campo não deve ser repetido e não é chave
primária. Aumenta a consistência do banco de dados.
Exemplo: Cadastro de funcionários. Cada funcionário recebe um código único,
que é a chave primária. Para maior segurança e consistência podemos optar que o
campo CPF também seja único, evitando que o mesmo funcionário seja
cadastrado duas vezes.
chave única

chave estrangeira
Utilizada quando queremos que o valor de um atributo seja validado a partir do
valor de atributo de outra tabela. Criamos assim uma relação de dependência (um
relacionamento) entre as tabelas.
Exemplo: Antes de efetuar a alocação de um funcionário em um departamento, é
necessário que o departamento em questão conste na tabela de departamentos.
chave estrangeira

relacionamentos
Associação estabelecida entre campos comuns de duas tabelas. Dessa forma
permitimos o estabelecimento de correspondência entre registros de diferentes
tabelas. Os relacionamentos apresentam a seguinte classificação quanto à sua
cardinalidade:
Relacionamento um-para-um (1:1)
Cada ocorrência de uma tabela relaciona-se com uma e somente uma ocorrência da outra tabela.
relacionamentos
Relacionamento um-para-um (1:N)
Uma ocorrência da tabela pai relaciona-se com muitas ocorrências da tabela filho, mas cada ocorrência da tabela filho somente pode estar relacionada com uma ocorrência da tabela pai.
relacionamentos
Relacionamento muitos-para-muitos (N:N)
Apresenta em ambos os sentidos um ou mais relacionamentos de um-para-muitos.
No modelo relacional não é possível efetuar este tipo de relacionamento de forma direta. Neste caso, deve-se construir uma terceira tabela (tabela de associação ou tabela de detalhes). Essa tabela deve possuir chave primária composta de dois campos e as chaves estrangeiras provenientes das duas tabelas originais. Concluindo, um relacionamento de muitos-para-muitos deve ser dividido em dois relacionamentos de um-para-muitos com uma terceira tabela.
No modelo relacional não é possível efetuar este tipo de relacionamento de forma direta. Neste caso, deve-se construir uma terceira tabela (tabela de associação ou tabela de detalhes). Essa tabela deve possuir chave primária composta de dois campos e as chaves estrangeiras provenientes das duas tabelas originais. Concluindo, um relacionamento de muitos-para-muitos deve ser dividido em dois relacionamentos de um-para-muitos com uma terceira tabela.
notação resumida para modelos lógicos relacionais
Notação compacta, útil para discussões sobre a estrutura geral do banco de dados,
utilizada quando não se deseja entrar no nível maior de detalhamento.
Exemplo:

notação resumida para modelos lógicos relacionais
A notação resumida acima representa o seguinte relacionamento entre as tabelas
Departamento e Funcionario:

Observe que através da notação resumida não é possível determinar se o
relacionamento é do tipo 1:1 ou 1:N (como no caso representado na figura acima).
integridade de dados
Impor a integridade de dados garante a qualidade dos dados em um banco de
dados. Os dados devem refletir corretamente a realidade representada pelo banco
e também devem ser consistentes entre si.
integridade de domínio
Zela pelos valores ideais e necessários para um atributo. Para isso definimos
algumas regras de validação por meio de expressões compostas de valores
constantes.
Exemplos:
- Não permitir um estoque negativo
- Impedir uma data de nascimento superior à data atual
- Não permitir que o valor de um produto seja negativo
integridade de entidade
Tem o objetivo de validar os valores permitidos a partir de valores já inseridos na
própria entidade. Após uma “auto-consulta” a entidade vai permitir ou não a
gravação do novo registro.
Exemplos:
- Não permitir duas pessoas com o mesmo CPF
- Impedir a locação uma fita que já está locada
integridade referencial
O registro vai “depender”
diretamente de um registro de outra tabela.
Exemplos:
- Um registro em uma tabela pai pode ter um ou mais registros em uma tabela filho.
- Um registro em uma tabela filho sempre tem um registro coincidente em uma tabela pai.
- Para a inclusão de um registro em uma determinada tabela filho, é necessário que exista um registro pai coincidente.
- Um registro pai só poderá ser excluído se não possuir nenhum registro filho.
constraints
Observe a seguir as principais constraints ou restrições utilizadas nos bancos de
dados relacionais, principalmente durante o processo de criação das tabelas, para
implementar os tipos de integridade anteriormente descritos:

nomenclatura de tabelas e campos
Os sistemas gerenciadores de bancos de dados geralmente impõem certas
restrições quanto aos caracteres válidos para denominar tabelas, campos (colunas),
bem como outros objetos do banco de dados. Observe a seguir o que deve ser
evitado:
- Não utilizar caracteres especiais (exceto o underscore “_”);
- Começar com uma letra e não com um número;
- Evitar acentuação e “ç”;
- Não utilizar espaços.
tipos de dados
Durante a criação das tabelas do banco de dados é necessário informar que tipo dedados cada coluna deverá armazenar. A tabela a seguir apresenta alguns tipos de dados compatíveis com o Oracle, um dos principais sistemas de gerenciamento de
banco de dados atualmente utilizado:

EXERCÍCIOS
- O que é um banco de dados relacional?
- O que é uma tabela no contexto dos bancos de dados relacionais?
- Explique o que você entende por cada um dos seguintes termos:
- Chave primária
- Chave única
- Chave estrangeira
- O que são relacionamentos? Como podemos classificá-los quanto à cardinalidade?
- Que solução deve ser adotada no modelo relacional para relacionamentos com cardinalidade N:N (muitos para muitos)?
EXERCÍCIOS
6. O que você entende por:
- Integridade de domínio
- Integridade de entidade
- Integridade referencial
7. Explique o que há de errado nos casos apresentados a seguir:

EXERCÍCIOS
8. Utilize a notação resumida para representar os casos a seguir conforme o modelo relacional:

Modelagem de Dados 07
By hermanochico
Modelagem de Dados 07
- 1,900