Modelo Conceitual
Generalização/Especialização
Herança de Propriedades
Cada ocorrência da entidade especializada possui, também, além de suas próprias propriedades (atributos, relacionamentos e generalizações/especializações), as propriedades da ocorrência da entidade genérica correspondente.
Classificação
Representação Gráfica
Propriedades
- Se apenas os motoristas possuíssem propriedades particulares, haveria apenas uma entidade especializada (motoristas).
- Uma entidade especializada em uma generalização/especialização pode ser entidade genérica em uma outra generalização/especialização.
Generalização/Especialização
Generalização/Especialização - Tipos
- Significa que uma ocorrência de entidade genérica aparece, para cada hierarquia generalização/especialização no máximo uma vez.
- Cada veículo pode ser um automóvel ou veículo anfíbio ou barco e somente um destes.
- Significa que uma ocorrência de entidade genérica aparece, para cada hierarquia generalização/especialização várias vezes.
- Não podem herdar o identificador da entidade genérica.
Exemplo:
Entidade Associativa
Exemplo:
Atributo x generalização / especialização
Abordagem Entidade / Relacionamento
- Poder de expressão limitada.
- Em um modelo ER são mostradas apenas algumas propriedades de um banco de dados, podendo ser necessário utilizar outras linguagens para anotar propriedades importantes.
Exemplo: Linguagem natural.
* Restrição de Integridade: Regra estabelecida pela realidade e que deve ser obedecida pelo BD.
Equivalentes:
- Quando expressam a mesma realidade;
- Quando geram o mesmo modelo de BD relacional.
* BD que abstraindo as diferenças de nomes de construções (tabelas, atributos, ...) tenham a mesma estrutura .
- O objeto a ser modelado não pode ser analisado isoladamente.
- É necessário conhecer o contexto, o modelo dentro do qual o objeto esta inserido.
Critérios que podem ser usados na escolha da construção de modelos
Atributo versus entidade relacionada
- Caso o objeto cuja modelagem está em discussão esteja vinculado a outros objetos, caso o objeto tenha propriedades (atributos, relacionamentos, entidades genéricas ou especializadas), o objeto deve ser modelado como entidade.
- Quando existem transações no sistema que alterem o conjunto de valores do objeto.
Atributo versus especialização
Uma especialização deve ser usada quando se sabe que as classes especializadas de entidades possuem propriedades (atributos, relacionamentos,generalizações, especializações) particulares.
Entidade relacionada versus especialização
Para que uma entidade possa ser considerada especialização de outra é necessário que ela herde o identificador (chave primária) da entidade genérica.
Para cada ocorrência do objeto genérico pode existir no máximo 1 ocorrência na especialização.
Atributos opcionais e multivalorados
- Indicam subconjuntos de entidades que são modelados mais corretamente através de especializações;
- Toda vez que aparecer um atributo opcional, é recomendável verificar se a modelagem através de entidades especializadas não é mais conveniente.
* No processo de modelagem é aconselhável tentar restringir-se ao uso de atributos obrigatórios e monovalorados.
Atributo opcional
No exemplo, o uso de atributos opcionais esconde as diferentes categorias de empregados e suas entidades.
Neste modelo, fica mais claro quais são os atributos de cada um dos subconjuntos particulares de empregado.
Atributo multivalorados
- Não existe, em um SGBD relacional não existe contrução de arrays;
- Atributos multivalorados podem induzir a um erro de modelagem, que é o de ocultar entidades e relacionamentos em atributos multivalorados;
* No processo de modelagem é aconselhável tentar restringir-se ao uso de atributos obrigatórios e monovalorados.
Usando atributos multivalorados
Substituindo atributos multivalorados por entidades relacionadas
Abordagem Entidade Relacionamento
- Modelo deve ser correto.
- Modelo deve ser completo.
- Modelo deve ser livre de redundância.
- Modelo deve refletir o aspecto temporal.
- Entidade isolada e entidade sem atributos.
Abordagem Entidade Relacionamento
Modelo deve ser correto
O modelo está correto quando não contém erros de modelagem, quando os conceitos de modelagem são corretamente empregados.
Tipos de erros:
- sintáticos;
- semânticos.
Ocorrem quando o modelo não respeita as regras de construção de um modelo ER.
Exemplos:
- Associar atributos a atributos;
- Associar relacionamentos a atributos;
- Associar relacionamentos a outros relacionamentos;
- Especializar relacionamentos ou atributos.
Ocorrem quando o modelo, apesar de obedecer às regras de construção de modelo ER (correto sintaticamente), reflete a realidade de forma inconsistente
| ||||
| ||||
|
Exemplos:
- Estabelecer associações incorretas
- Usar uma entidade do modelo como atributo de outra entidade
- Usar número incorreto de entidades em um relacionamento
O modelo deve fixar todas as propriedades desejáveis do BD. Isso somente pode ser verificado por alguém que conhece profundamente o sistema a ser implementado.
Exemplos:
- Verificar se todos os dados que devem ser obtidos do BD estão presentes
- Verificar se todas as transações de modificação do BD podem ser executadas sobre o modelo
O modelo deve ser mínimo, não deve conter conceitos redundantes.
Exemplos:
- Relacionamentos redundantes - relacionamentos que são resultados da combinação de outros relacionamentos entre as mesmas entidades.
- Atributos redundantes - são atributos deriváveis a partir da execução de procedimentos de busca de dados e/ou cálculos sobre o BD.
Construções redundantes devem ser omitidas do modelo ER;
- Redundância não controlada - é indesejável;
- Redundância controlada - deve ser necessariamente evitada.
| ||||
| ||||
|
- Certas aplicações exigem que o BD guarde o histórico de alterações de informação.
- O modelo de BD que armazena somente valores atuais de uma informação é diferente do modelo do BD que armazena o histórico da informação.
- Portanto é necessário considerar o aspecto temporal na modelagem de dados.
| ||||
| ||||
|
- Relacionamentos que se modificam ao longo do tempo.
- Assim como atributos podem ser modificados, relacionamentos também podem ser modificados ao longo do tempo.
- Quando é considerada a história de suas alterações, relacionamentos 1:1 ou 1:n são transformados em n:n.
Eemplo: Endereço de Cliente, Salário de um empregado
| ||||
| ||||
|
- Consultas a dados referentes ao passado.
- Muitas vezes para evitar o crescimento do BD, informações referentes ao passado são eliminadas.
- Mas tais informações podem se fazer necessárias no futuro, por motivos legais, auditorias ou tomada de decisão.
- Caso informações antigas fiquem no BD, podem ser necessários atributos para indicar o status da informação, se atual ou antiga.
- Consultas a dados referentes ao passado.
- Planejar o arquivamento de informações antigas
- Para as informações que serão retiradas do BD e armazenadas em arquivos convencionais, é necessário fazer um planejamento de como essas informações serão acessadas no futuro.
- Uma solução é reincluir as informações no BD, quando elas forem necessárias. Isso permite que informações passadas sejam acessadas da mesma forma que as atuais.
| ||||
| ||||
|
- Consultas a dados referentes ao passado;
- Planejar informações estatísticas.
Em alguns casos informações antigas são necessárias apenas para tomada de decisões. Neste caso, muitas vezes deseja-se apenas dados resultantes de cálculos ou estatísticas sobre as informações, como totais, contagens, médias.
Assim pode ser conveniente manter no banco de dados estas informações compiladas e eliminar as informações usadas na compilação.
Entidades isoladas e entidades sem atributo
Uma entidade isolada não apresenta nenhuma ligação com outra entidade. Em princípio entidades isoladas não estão incorretas. Uma entidade que modela a organização na qual o sistema implementado no BD está embutido.
Outra situação que não está incorreta, mas que deve ser investigada, é a de uma entidade sem atributos.
| ||||
| ||||
|
Modelo Conceitual - Notação