Unidade C - Modelo Conceitual

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

 

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

 

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.

 

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.

 

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

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

 

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.

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

 

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

 

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

 

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

 

Modelo Conceitual - Notação