Síntese II
Modelo Lógico
O modelo conceitual difere do modelo lógico por descrever um nível de abstração dependente do sistema responsável pelo gerenciamento de banco de dados (SGBD). O modelo lógico no nosso caso será desenvolvido sob a ótica de um sistema gerenciador de banco de dados relacional (SGBDr), de maneira que os dados envolvidos no negócio serão interpretados como entidades.
No modelo lógico as entidades possivelmente apresentem classes de dados que precisam agora ser desdobradas em seus atributos primitivos. Além das classes de dados, que devem ser representadas de forma atômica, é necessário identificar atributos que ainda não foram descritos nas entidades.
Não basta apenas efetuar a expansão da classe de dados, as entidades, de acordo com o negócio, é importante nessa etapa envolver pessoas que conheçam o negócio da empresa. Com essas informações será possível refinar as entidades com relação ao tipo que representam, por exemplo, se as informações irão referir-se a pessoas físicas ou jurídicas. O atributo tipo não foi identificado no modelo conceitual, de maneira que a descrição daquelas entidades precisa ser reformulada para que possam ser contempladas suas novas características.
Quando as entidades são descritas, podem surgir grupos repetidos de atributos que, na verdade, constituem entidades autônomas que devem ser convenientemente descobertas e descritas para compor o modelo lógico.
Na sequência será necessário definir os relacionamentos muitos-para-muitos, que costumam esconder dados importantes para o negócio, razão pela qual esses dados devem ser descritos por meio de um elemento de interseção como uma entidade associativa. Um relacionamento muitos-para-muitos pode ser transformado em entidade associativa, neste caso o modelo lógico deve ser manipulado para que todos os relacionamentos muitos-para-muitos sejam convertidos em relacionamentos um-para-muitos.
| ||||
| ||||
|
Quando no modelo lógico, as entidades apresentem associações consigo mesmas devemos identificar os autorrelacionamentos, também conhecidos como relacionamentos involutos, reflexivos ou recursivos.
Após o ajuste das entidades e relacionamentos devemos voltar a atenção para os atributos que são, em última análise, os elementos de maior importância na construção do modelo lógico. Quando esquecemos ou definimos erroneamente um atributo é possível que informações relevantes para o negócio não fiquem disponíveis no modelo. O descuido na definição dos atributos pode trazer muitos transtornos ou prejuízos ao projeto do banco de dados que se pretende construir a partir do modelo lógico.
Devemos ter bastante cuidado no momento da modelagem de uma entidade, em um primeiro momento devemos supor que os seus atributos sejam obrigatórios, ou seja, devem estar presentes em toda a ocorrência da entidade. Como isso nem sempre acontece, é preciso identificar os atributos considerados opcionais. Um atributo pode ser opcional apenas por decisão do negócio, neste caso devemos investigar se o atributo é um dado relevante ou não para o negócio, o tributo pode ser considerado opcional se não for imprescindível. Devemos analisar a opcionalidade dos atributos, este critério pode indicar a existência de entidades especializadas, principalmente nos casos em que o valor de um atributo depende do valor contido em outro.
Quanto aos atributos multivalorados devemos observar a necessidade de mantermos esses dados em uma entidade específica para garantirmos a integridade referencial do Projeto de Banco de Dados.