O documento descreve os principais conceitos de modelagem de dados, incluindo: 1) Modelo conceitual representado por Diagrama de Entidade-Relacionamento (DER); 2) Modelo lógico que depende do SGBD utilizado; 3) Entidades, relacionamentos, atributos e suas cardinalidades na abordagem entidade-relacionamento.
1. Modelos de dados
Modelo Conceitual – É a descrição do banco de
dados independente da implementação do
SGBD. Mostra como os dados devem aparecer
no banco de dados, mas não mostra como
estes dados estão armazenados a nível de
SGBD. A técnica de modelagem usada neste
caso é a abordagem entidaderelacionamento.
Nesta técnica o modelo conceitual é
representado pelo DER (Diagrama de
EntidadeRelacionamento).
2. Modelo de dados
Diagrama EntidadeRelacionamento
Descrição Descrição
Preço Produto Tipo Produto
Código Código
3. Modelo de dados
Módelo Lógico – É a representação de um
banco de dados no nível de abstração visto
pelo usuário do SGBD. Por isso depende do
tipo de SGBD que está sendo utilizado naquele
momento.
4. Modelo de dados
Módelo Lógico – É a representação de um
banco de dados no nível de abstração visto
pelo usuário do SGBD. Por isso depende do
tipo de SGBD que está sendo utilizado naquele
momento. O modelo lógico de um banco de
dados relacional deve definir quais as tabelas o
banco contém e quais os nomes das colunas.
5. Modelo de dados
Exemplo:
TipoDeProd(CodTipoProd. DescrTipoProd)
Produto(CodProd, DescrProd, PrecoProd,
CodTipoProd, CodTipoProd referência
TipoDeProduto)
6. Abordagem EntidadeRelaciomento
Entidade – Elementos relevantes, abstratos ou
concretos, sobre os quais é necessário guardar
alguma informação. Exemplo: Pessoas,
Organizações e Objetos.
No DER a entidade é representada por um
retângulo que contém o nome da entidade.
Pessoa Departamento
7. Abordagem EntidadeRelaciomento
Entidade Forte – Não depende de nenhuma
outra entidade.
Entidade Fraca – Só existe quando relacionada
com outra entidade.
Estes termos não são propriedades de uma
entidade e sim uma ocorrência de entidade em
um relacionamento.
8. Abordagem EntidadeRelaciomento
Relacionamento – É a associação ou conjunto
de associações entre as entidades e suas
ocorrências e sobre as quais pode ser
desejável manter informações.
No DER o relacionamento é representado por
um lozango, ligado por linhas aos retângulos.
Pessoa Departamento
Lotação
9. Abordagem EntidadeRelaciomento
AutoRelacionamento – Quando um
relacionamento não referencia entidades
diferentes.
Pessoa
Marido Esposa
Casamento
10. Abordagem EntidadeRelaciomento
Relacionamento Binário – Este é o tipo mais
comum. Como pode ser visto no exemplo
abaixo:
Pessoa Departamento
Lotação
11. Abordagem EntidadeRelaciomento
Relacionamento Ternário – É quando um
relacionamento ocorre com mais de duas
entidades em um mesmo relacionamento.
Produto
Cidade Distribuidor
Distribuição
12. Abordagem EntidadeRelaciomento
Cardinalidade de relacionamentos – É o
número (mínimo, máximo) de ocorrências de
entidade associadas a uma ocorrência da
entidade em questão através do
relacionamento .
13. Abordagem EntidadeRelaciomento
Cardinalidade Máxima – No exemplo abaixo a
entidade EMPREGADO tem cardinalidade
máxima de 1 no relacionamento LOTAÇÃO.
Isto significa que uma ocorrência de
EMPREGADO pode estar associada a no
máximo uma ocorrência de DEPARTAMENTO.
Pessoa Departamento
Lotação
14. Abordagem EntidadeRelaciomento
Em BD relacionais não é necessário distinguir
entre diferentes cardinalidades máximas
maiores que um. Por este motivo, apenas duas
cardinalidades máximas são usualmente
considerdas:
A cardinalidade máxima um (1);
A cardinalidade máxima ilimitada (n).
15. Abordagem EntidadeRelaciomento
A cardinalidade é anotada sempre do outro
lado do relacionamento a qual se refere.
1
Pessoa Departamento
Lotação
N
16. Abordagem EntidadeRelaciomento
Cardinalidade mínima – É o número de mínimo
de ocorrências de entidade que são associados
a uma ocorrência de uma entidade através de
um relacionamento.
(1,1)
Mesa Empregado
Alocação
(0,1)
17. Abordagem EntidadeRelaciomento
Atributos – É uma característica especifica de
um determinada Entidade. É usado para
associar informações a ocorrências de
entidades ou de relacionamentos.
Cargo EMPREGADO EMPREGADO
Cargo
Nome
Nome
18. Abordagem EntidadeRelaciomento
Exemplo de relacionamento com atributo:
Código Código
(0,n) (0,n)
ENGENHEIRO ATUAÇÃO PROJETO
Título
Nome
Função
19. Abordagem EntidadeRelaciomento
Atributo Indentificador – É usado para
identificar uma entidade, é um valor que nunca
se repetirá.
Código
Nome PESSOA
Endereço
20. Abordagem EntidadeRelaciomento
Cardinalidade de atributos – Da mesma forma
que a entidade os atributos também podem
possuir cardinalidade.
Código
Telefone (0,n)
EMPREGADO
Nome (1,1)
Sexo (1,n)
21. Abordagem EntidadeRelaciomento
Generalização/Especialização – Está
associada a idéia de HERANÇA de
propriedades. Isto significa que cada ocorrência
da entidade especializada possui, além de suas
próprias propriedades, também as
propriedades da entidade genérica
correspondente.
23. Abordagem EntidadeRelaciomento
Generalização/Especialização Total:
CLIENTE Indica que todo CLIENTE
é ou PESSOA JURÍRICA
ou PESSOA FÍSICA
t
PESSOA JURÍDICA PESSOA FÍSICA
24. Abordagem EntidadeRelaciomento
Generalização/Especialização Parcial:
Indica que nem todo
FUNCIONÁRIO
FUNCIONÁRIO é
Tipo de funcionário
MOTORISTA ou
SECRETÁRIA
p
MOTORISTA SECRETÁRIA
25. Abordagem EntidadeRelaciomento
Generalização/Especialização Exclusiva:
FUNCIONÁRIO
Tipo de funcionário
MOTORISTA SECRETÁRIA
28. Exercícios
Dê pelo menos 5 exemplos de cada um dos conceitos básicos de
abordagem ER apresentados nesta aula: entidade, atributo,
generalização/especialização.
Explique a diferença entre uma entidade e uma ocorrência de entidade.
Considere o relacionamento CASAMENTO da página 26 da apostila.
Segundo este DER o banco de dados poderia conter um casamento em que
uma pessoa está casada consigo mesma? O DER permite que a mesma
pessoa apareça em dois casamentos diferentes, uma vez como marido e
outra vez como esposa? Caso uma destas possa ocorrer, como o DER
deveria ser modificado para impedilas?
Dê um exemplo de relacionamento ternário. Mostre como a mesma realidade pode
ser modelada somente usando relacionamentos binários.