sábado, 2 de abril de 2011

Tecnologias de Banco de Dados e Modelagem de Dados Parte 2




Neste artigo aprenderemos os conceitos principais da abordagem entidade-relacionamento (ER).

Compartilhar     

Tecnologias de Banco de Dados e Modelagem de Dados
Parte 2
A partir deste artigo, aprenderemos os conceitos principais da abordagem entidade-relacionamento (ER): entidade, relacionamento, cardinalidade, atributo, generalização/especialização e entidade associativa.
Entidade pode ser entendida como uma “coisa” ou algo da realidade modelada onde deseja-se manter informações no banco de dados (BD). Por exemplo, em um sistema escolar, algumas entidades podem ser os alunos, professores, horário, disciplinas e avaliações. Note que uma entidade pode representar tanto objetos concretos (alunos), quanto objetos abstratos (horário). A entidade é representada por um retângulo, que contém o nome da entidade. Observe o exemplo abaixo.

18-05pic01.JPG
A entidade ALUNO representa todos os estudantes sobre as quais se deseja manter informações no BD. Quando é necessário especificar um objeto particular (para o exemplo, determinado estudante) usa-se o termo ocorrência de entidade.
Relacionamento é um conjunto de associações entre entidades. O relacionamento é representado por um losango. Esse losango é ligado por linhas aos retângulos que representam as entidades participantes do relacionamento. O exemplo abaixo possui duas entidades, MÉDICO e PACIENTE, e um relacionamento chamado CONSULTA.

18-05pic02.JPG
O modelo acima informa que o BD mantém informações sobre médicos, pacientes, além de um conjunto de associações (consulta), cada uma ligando um médico a um paciente. Quando é necessário especificar um relacionamento particular (para o exemplo, determinada consulta) usa-se o termo ocorrência do relacionamento. Uma ocorrência de consulta envolve a ocorrência de determinado médico e a ocorrência de determinado paciente.
Um relacionamento pode envolver ocorrências de uma mesma entidade. Neste caso, estamos diante de um auto-relacionamento. Observe o exemplo:

18-05pic03.JPG
CASAMENTO é um relacionamento que envolve duas ocorrências da entidade PESSOA. Para facilitar o entendimento, em geral costumamos identificar o papel de cada entidade no relacionamento (para o exemplo, marido e esposa).
Cardinalidade do relacionamento
Observe o modelo abaixo:

18-05pic04.JPG
Estamos diante de um relacionamento (possui) entre as entidades EMPREGADO e DEPENDENTE. Considere as seguintes questões:
  • Um empregado pode não ter dependentes?
  • Um dependente pode ter mais de um empregado associado ?
  • Determinado empregado pode possuir mais de um dependente?
  • Pode existir dependente sem algum empregado associado?
Na realidade, as respostas desses questionamentos dependem do problema sendo modelado. Entretanto, para que possamos expressar essas idéias no modelo, é necessário definir uma propriedade importante do relacionamento - sua cardinalidade.
A cardinalidade é um número que expressa o comportamento (número de ocorrências) de determinada entidade associada a uma ocorrência da entidade em questão através do relacionamento.
Existem dois tipos de cardinalidade: mínima e máxima. A cardinalidade máxima, expressa o número máximo de ocorrências de determinada entidade, associada a uma ocorrência da entidade em questão, através do relacionamento. A cardinalidade mínima, expressa o número mínimo de ocorrências de determinada entidade associada a uma ocorrência da entidade em questão através do relacionamento. Usaremos a seguinte convenção para expressar a cardinalidade:
Número (Mínimo, Máximo)
Observe as cardinalidades mínima e máxima representadas no modelo abaixo:

18-05pic05.JPG
Para fazermos a leitura do modelo, partimos de determinada entidade e a cardinalidade correspondente a essa entidade é representada no lado oposto. Em nosso exemplo, a cardinalidade (0:N) faz referência a EMPREGADO, já a cardinalidade (1:1), faz referência a DEPENDENTE. Isso significa que:
  • Uma ocorrência de empregado pode não estar associada a uma ocorrência de dependente ou pode estar associada a várias ocorrências dele (determinado empregado pode não possuir dependentes ou pode possuir vários);
  • Uma ocorrência de dependente está associada a apenas uma ocorrência de empregado (determinado dependente possui apenas um empregado responsável).
Observação:

Na prática, para as cardinalidades máximas, costumamos distinguir dois tipos: 1 (um) e N (cardinalidades maiores que 1). Já para a as cardinalidades mínimas, costumamos distinguir dois tipos: 0 (zero) e 1 (um).
Atributo é uma característica relevante associada a cada ocorrência de entidade ou Relacionamento. Observe no modelo abaixo a notação utilizada para atributos:

18-05pic06.JPG
Cardinalidade do atributo:

Observe que o modelo acima não informa se determinado aluno pode ter vários telefones, ou mesmo se algum aluno pode não ter telefones. Para deixar o modelo mais preciso, costumamos expressar cardinalidade para os atributos. Observe a cardinalidade do atributo telefone no modelo abaixo:

18-05pic07.JPG
Dessa forma, podemos concluir que determinado aluno pode não ter telefone (cardinalidade mínima zero) ou pode ter vários (cardinalidade máxima N). A cardinalidade dos atributos código e nome é (1,1). Por convenção, ela foi omitida do diagrama.
No caso de atributos, a cardinalidade mínima 1 indica que o atributo é obrigatório e a cardinalidade máxima 1 indica que o atributo é monovalorado. Para o atributo telefone, a cardinalidade mínima 0 indica que o mesmo é opcional e a cardinalidade máxima N informa que ele é multivalorado.
Bibliografia consultada:
Projeto de Banco de Dados
Carlos Alberto Heuser
Editora Sagra Luzzato.
Em outro artigo, darei continuidade a este assunto, detalhando como identificar entidades e relacionamentos, além de apresentar os mecanismos de generalização/especialização, e o conceito de entidade associativa.
Até a próxima !
Reinaldo Viana.

Nenhum comentário:

Postar um comentário