Tecnologias de Banco de Dados e Modelagem de Dados Parte 2

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (25)  (1)

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

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.

Leiam a primeira parte deste artigo em:
http://www.devmedia.com.br/visualizacomponente.aspx?comp=1660&site=2

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?