quinta-feira, 15 de maio de 2008

Modelo de Entidades e Relacionamentos

O Modelo de Entidades Relacionamentos, segundo Paulo Cougo, descreve o mundo como: “...cheio de coisas que possuem características próprias e que se relacionam entre si”.

Essas coisas podem ser pessoas, objetos, conceitos, eventos, etc. Elas são as entidades. A priori, só exigimos de uma entidade que ela possa ser identificada distintamente, isso é, tenha identidade própria. Cada coisa distintamente identificada é uma instância. Por exemplo, o funcionário José é uma instância da entidade funcionário, a aluna Maria é uma instância da entidade aluna.

As entidades, ou melhor, suas instâncias, são classificadas em tipos (ou classes). No nosso caso, funcionário e aluno são os tipos de entidade. Estamos usando nesse momento a abstração de classificação: resumir uma quantidade de características comuns por meio da criação de uma classe. Assim sabemos que o funcionário José e o funcionário Joaquim, por serem instâncias de um mesmo tipo, possuem características comuns (como trabalhar na empresa, ter um salário, etc.).

No diagrama de entidade e relacionamentos cada tipo de entidade é representado por um retângulo identificado pelo nome do tipo. Normalmente confundimos o termo entidade com o tipo da entidade, deixando o termo instância (e algumas vezes registro) para falar de uma entidade identificada.

Apenas algumas entidades do mundo real (ou imaginário) são de interesse para o sistema. Durante a modelagem conceitual nos preocupamos com as “coisas” que o sistema deve lembrar e colocamos essas “coisas” no modelo de entidade e relacionamentos. Uma entidade deve ser relevante para o objetivo do negócio e necessária para a sua operação.

Cada entidade tem dois tipos de características importantes: seus atributos e seus relacionamentos. Os atributos são características que toda a instância de um tipo possui, mas que podem variar entre as instâncias. Uma instância do tipo “aluno” tem os atributos “nome” e “ano de matrícula”, por exemplo. Atributos caracterizam a informação que deve ser guardada sobre uma entidade. Só devemos colocar como atributos aquelas informações que o sistema precisa lembrar em algum momento. Assim, uma instância de “aluno” não precisa ter o atributo “nome do animal de estimação” em um sistema acadêmico, pois apesar de ser algo importante para o “aluno” propriamente dito, não tem importância alguma para o sistema.

Cada característica deve possuir um domínio. O domínio indica o conjunto de valores válidos para a característica. No caso de “nome”, geralmente aceitamos qualquer seqüência de caracteres, enquanto no caso de “altura” podemos aceitar apenas valores reais positivos menores que 2,5.

Atributos eram originalmente descritos por círculos no modelo E-R. As notações mais modernas anotam os atributos dentro dos retângulos da entidade a que pertencem.

Finalmente, como indica o nome do modelo, entidades podem se relacionar entre si. Essa característica é a principal força do modelo de entidades e relacionamentos, pois permite que, de certa forma, “naveguemos” no modelo.

Podemos indicar relacionamentos apenas pelas entidades envolvidas, como “cliente-pedido”, ou usar um termo que descreva o relacionamento “cliente solicita pedido”.

Modelos de Entidades e Relacionamentos para serem completos exigem também um conjunto de restrições. Algumas dessas restrições, como a cardinalidade dos relacionamentos que veremos a seguir, podem ser descritas em algumas (ou todas) notações. Porém, a maioria das descrições é muito complexa para ser descrita em um diagrama. Nesse caso são necessárias anotações ao diagrama descrevendo as descrições. Isso pode ser feito em linguagem natural ou em alguma notação formal específica, dependendo de escolhas da equipe de projeto ou do método utilizado.

Arquivo em PDF contendo informações, dicas e exemplos de projetos de modelos conceituais:
Heuser - Projeto de Banco de Dados (PDF)

Nenhum comentário: