Em um relacionamento, a cardinalidade se refere ao grau do vínculo que
uma entidade mantém com outra entidade. A cardinalidade ou multiplicidade define a quantidade de elementos de uma entidade associada com a quantidade de elementos de outra entidade. Podemos ter relações de 1:1 (um para um), 1:N (um para N) e N:N (N para N)
A cardinalidade apresentada acima tem o relacionamento 1:N, onde um
cliente pode possuir vários pedidos, porém um pedido pode ser somente de um único cliente. Então, que do lado da entidade “cliente” aparece o número “1” e do lado do “pedido” aparece a letra “N”.
A leitura da cardinalidade é feita de maneira cruzada, ou seja, a
cardinalidade próxima à entidade da esquerda é referente á relação com a entidade da direita. Para a interpretação da cardinalidade, um artifício que auxilia na identificação da mesma é a elaboração de um diagrama de ocorrências. Num diagrama de ocorrências, representamos as entidades e relacionamentos, na forma de conjuntos, bem como os elementos pertencentes a cada conjunto. Dessa forma, os pares c2, p2 e c2, p3 indicam que um cliente pode possuir mais de um pedido. Porém, não ocorre um par, onde, para um mesmo pedido, tenhamos mais de um cliente.
No caso de um relacionamento com cardinalidade N:N, entre as
entidades “funcionário” e “projeto”, denominado “alocação”, um funcionário pode estar alocado em mais de um projeto (veja o caso dos pares f2, p2 e f2, p3), e um projeto, por sua vez, pode ter mais de um funcionário (ver os pares f1, p1 e f3, p1).
Para o caso de um relacionamento de cardinalidade 1:1, no exemplo a
seguir, temos as entidades “empregado” e “cargo”, e o relacionamento “ocupação” indicando a associação entre as entidades. Dessa forma as ocorrências do diagrama indicam que um empregado pode ocupar apenas um cargo e vice-versa. Quanto à denominação de um relacionamento, não há uma regra para atribuirmos um nome específico. Em vez de “ocupação”, poderíamos denominar de “cargo do empregado” ou “cargo_empregado”.
Tipo de relacionamento
Um relacionamento pode ser, de acordo com o número de entidades
que participam na relação, unário, binário ou ternário.
1. Relacionamento binário(associando duas entidades)
2. Relacionamento unário: é identificado como um auto- relacionamento, onde a entidade se relaciona com ela mesma
Vejamos o caso de um produto em fabricação. De acordo com o grau de
montagem, um conjunto de peças é montado de forma a produzir uma peça mais complexa, mas que não é ainda o produto final. Essa peça complexa se junta a outras peças ou a matérias-primas, de forma, então, a compor o produto final. Todas essas peças são, aqui, representadas por uma entidade “peça”, sendo o relacionamento denominado “parte de”. Um relacionamento ternário implica a associação de três entidades ao mesmo tempo, que pode ser exemplificado por uma associação “funcioná-rio- área-projeto”; desde que um funcionário trabalhe apenas em uma área, porém em mais de um projeto. O relacionamento ilustrado mostra como ficaria esta associação e o relacionamento “ocupação”. O diagrama de ocorrências mostra, agora, não mais os “pares”, mas “ternos” ou “triplas” mostrando as instâncias associadas nesse modelo. Veja que os ternos f2, p2, a1 e f2, p3, a1 validam a cardinalidade de 1:1 para a associação “funcionário-área” e 1:N para a associação “funcionário-projeto”.
Podemos também representar relacionamentos contendo mais de três
entidades, o que caracteriza relacionamentos quaternários e subsequentes.
Exercícios
1- Porque a abordagem modelo entidade-relacionamento é útil
para a modelagem de banco de dados? ele apresenta um bom ponto de partida para a compreensão entre os elementos existentes em um determinado contexto e as relações entre os mesmos. De certa forma, ele antecede o projeto lógico que pode ser feito em um modelo relacional, o qual através de regras para conversão pode ser montado a partir de um diagrama E-R.
2- Quais os elementos que podem constar em um diagrama E-R?
a. Entidade, atributos, relacionamento, cardinalidade, generalização. 3- Faça um diagrama E-R de uma biblioteca a. É um elemento ou dado referente a uma entidade
Obrigatoriedade
Em certos relacionamentos entre entidades podem aparecer situações
onde a presença de uma entidade não é obrigatória. Um bom exemplo é o relacionamento “empregado-dependente”.
O empregado pode ter dependentes ou não. Para representar isso num
diagrama E-R, expandimos o conceito de cardinalidade para mínima e máxima.
Quando um empregado não possuir dependentes, caracterizamos
a cardinalidade mínima para 0 (zero) do lado da entidade dependente. Como a entidade empregado sempre participa do relacionamento, a cardinalidade mínima será 1 (um) do lado do empregado. Quanto à cardinalidade máxima (mantemos o que foi especificado anteriormente), do lado do dependente será N, pois um empregado pode ter vários dependentes. E a cardinalidade máxima para empregado será obviamente 1 (um dependente só pode estar relacionado a um empregado) . Para representar agora as cardinalidades mínima e máxima, utilizamos o par: min e max. Assim, do lado do empregado, a representação das cardinalidades será (1, 1) e do lado do dependente será (0, N). Da entidade que participa num relacionamento em que não seja obrigatória a presença, diz-se que é uma entidade fraca. Assim, elas podem ser divididas em fortes e fracas. A entidade fraca também é representada na literatura como sendo um retângulo com linha dupla incluindo a ligação com o relacionamento.
você vê a representação do diagrama de ocorrências. Como nele, a
entidade “dependente” possui cardinalidade mínima 0 (não há obrigatoriedade), existem instâncias de “empregado” que não
Diagrama Entidade-relacionamento
Como definido anteriormente, o diagrama entidade-relacionamento conhecido
como DER, é uma representação gráfica de um modelo conceitual. Muitas vezes é tratado como sinônimo do modelo conceitual, já que o modelo pode se tornar abstrato demais e dificultaria muito o processo de desenvolvimento geral do sistema. Dessa forma, quando se está definindo o modelo conceitual, o mais prático, muitas vezes, é já ir criando a representação gráfica do modelo, ou seja, o DER. O diagrama facilita muito a comunicação entre os evolvidos na equipe de desenvolvimento, pois oferece uma linguagem comum utilizada tanto pelo analista, responsável por levantar os requisitos e regras de negócio, os desenvolvedores, responsáveis por implementar aquilo que foi modelado e até mesmo o cliente e usuário final.
Tais diagramas foram idealizados com simbologias simples com objetivo de
serem criados inclusive à mão ou com o mínimo de recursos de softwares.
Simbologia original utilizada na constrição do DER
Os símbolos para a construção do DER são os mais simples possíveis e