Unidade C - Modelo Conceitual

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), deve ser modelado como entidade.

Quando existem transações no sistema que alterem o conjunto de valores do objeto

*O atributo Cor se tranforma em uma entidade relacionada a entidade Automóvel.

- 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.

*O atributo Categoria Funcional se tranforma em uma especialização da entidade Empregado.

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

Entidade relacionada versus especialização

Atributos opcionais e multivalorados

Atributo opcional

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.

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 multivalorado

Não existe, em um SGBD relacional, 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.

Verificação do Modelo Entidade Relacionamento

Uma vez construído o modelo ER deve ser validado e verificado. A verificação é o controle de qualidade que procura garantir que o modelo usado para a construção do banco de dados gerará um bom produto.

Requisitos

- 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

1. 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:

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

Obs.: Regras de normalização de base verificam a correção de modelos ER.

2. Modelo deve ser completo

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

3. Modelo deve ser livre de redundância

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

Obs.: Em alguns casos redundância controlada pode servir para aumentar a performance de operações de busca, mas não devem aparecer no modelo conceitual do BD.

4. Modelo deve repetir aspecto temporal

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.

Obs.: Não existem regras gerais de como proceder neste caso.

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.

EX.: Endereço de Cliente, Salário de um empregado.

Obs.: O relacionamento transforma-se em entidade e deve ter um atributo identificador, normalmente “data”.

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.

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.

Obs.: É necessário observar que informações em um BD estão normalmente relacionadas a outras.

Em alguns casos informações antigas são necessárias apenas para tomada de decisões. Nesse caso, muitas vezes desejam-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 essas informações compiladas e eliminar as informações usadas na compilação.

5. Entidade isolada e Entidade sem atributos

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.

Obs.: Não existem regras gerais de como proceder neste caso.

Modelo Conceitual - Notação