Você está na página 1de 6

Cardinalidade no Relacionamento CARDINALIDADE o nmero mximo e mnimo de ocorrncias de uma entidade que esto associadas s ocorrncias de outra entidade

e que participa do relacionamento. Ou seja, a cardinalidade importante para ajudar a definir o relacionamento, pois ela define o nmero de ocorrncias em um relacionamento. CLIENTE possui CONTA BANCRIA CONTA BANCRIA pertence a AGNCIA Mas, acrescentando-se algumas dimenses aos relacionamentos, o modelo torna-se mais claro, ao fazermos algumas perguntas: Um cliente possui quantas contas bancrias ? UM CLIENTE possui no mnimo Uma e no mximo N CONTA BANCRIA Uma conta bancria pertence a quantos clientes ? UMA CONTA BANCRIA possui no mnimo a Um e no mximo Um CLIENTE A representao em modelagem deste relacionamento, e expressar a cardinalidade, seria assim:

Este modelo, agora, indica que um cliente pode possuir muitas contas no banco (sendo que neste caso no h restrio quanto ao nmero de contas). Entretanto, uma conta pode pertencer a apenas um cliente (no existem contas conjuntas neste banco hipottico). O cliente pode abrir vrias contas em vrias agncias, mas, para cada nmero de conta, ele ser considerado como cliente de uma agncia. Desta forma, os nmeros colocados ao lado do nome do nome do relacionamento so chamados de cardinalidade do relacionamento e dimensionam as polticas de Negcio que envolvem os dados. A cardinalidade define, portanto, o nmero de ocorrncias de uma entidade que pode estar envolvido em um relacionamento, sendo til para extrair da regras de consistncia e integridade dos dados.

TIPOS DE CARDINALIDADE

Cardinalidade Mnima Considera-se apenas duas cardinalidades mnimas: Opcional: indica que o relacionamento opcional. Representa-se pelo nmero 0. Obrigatria: indica que o relacionamento obrigatrio. Representa-se pelo nmero 1. Cardinalidade Mxima Dois valores de cardinalidades mximas so usados: cardinalidade mxima 1 cardinalidade mxima muitos, referida pela letra n A EXPRESSO DO RELACIONAMENTO Apresentamos at este ponto a necessidade de incluirmos campos na estrutura de dados das entidades para que se efetuem os relacionamentos, ou seja, existem campos comuns para a ligao. Quando um campo em uma entidade caracteriza-se por ser a chave de identificao nica de ocorrncias desta entidade, denomina-se, como j vimos, CHAVE PRIMRIA. Quando em uma entidade temos um campo que CHAVE PRIMRIA de outra entidade, denomina-se CHAVE ESTRANGEIRA. Esta ligao realiza-se por comparao do valor da Chave Estrangeira com o valor da Chave Primria de outra tabela. Se temos um aluno de nome Joo e um curso de Administrao, estes objetos somente estaro relacionados se o valor do campo cdigo do curso na ocorrncia de Joo da entidade ALUNO for igual ao valor do campo Cdigo do curso da entidade CURSOS na ocorrncia curso de Administrao. Ora, isto nos fornece ento uma expresso lgica, de comparao de valores, que explicita e estabelece uma regra para o relacionamento entre as duas entidades: codigo_do_curso em ALUNO = codigo_do_curso em CURSOS Se desejarmos saber quais os alunos de um determinado curso, bastar informamos o valor do cdigo deste curso, para que sejam selecionadas todas as ocorrncias de um aluno, cujo campo cdigo do curso seja igual ao valor informado. Este um processo de seleo, ou melhor, de operao de seleo relacional. Vamos observar as figuras das tabelas apresentadas a seguir, que simulam o contedo das duas entidades referidas.

Entidade: CURSO CDIGOCURSO NOME DO CURSO 1 Administrao 2 Cincias Contbeis 3 Tecnologia em Processamento de Dados Entidade: ALUNO MATRICULA NOME NASCIMENTO CODIGO CURSO 200500003 ALINE DE PAULA 21/05/2000 1 200500004 LIVIA CASAS 30/01/1999 1 200500010 JOO CARLOS 12/12/1998 1 200500011 ALEX DA SILVA 31/05/1967 2 Podemos ento desta forma, responder s questes: Quais os nome dos alunos do curso de Administrao ? Quantos alunos temos matriculados em cada curso ? At o momento temos nos preocupado sempre com a recuperao das informaes combinadas, no dando nfase de que forma estas informaes sero inseridas e tratadas. Para um bom trabalho de modelagem, devemos esquecer estas operaes, e nos preocuparmos somente com os dados em si, e de que forma estes serviro para uma empresa, no nos importando com procedimentos que sero inerentes ao sistema como um todo. Na realidade, quando modelamos, no pensamos em sistemas, e sim em conseguir obter o entendimento de um negcio ou problema, estruturando os dados deste problema, com vistas ao seu domnio e sua soluo. Para que se solidifiquem os conceitos de uma tcnica, no bastam apenas a apresentao de um exemplo de situao e sua aplicabilidade, mas bem pelo contrrio, a massificao de casos analisados que nos dar a possibilidade de ter segurana em nosso conhecimento adquirido.

Tecnologias de Banco de Dados e Modelagem de Dados Parte 2


A partir deste artigo, aprenderemos os conceitos principais da abordagem entidaderelacionamento (ER): entidade, relacionamento, cardinalidade, atributo, generalizao/especializao e entidade associativa. Entidade pode ser entendida como uma coisa ou algo da realidade modelada onde deseja-se manter informaes no banco de dados (BD). Por exemplo, em um sistema escolar, algumas entidades podem ser os alunos, professores, horrio, disciplinas e avaliaes. Note que uma entidade pode representar tanto objetos concretos (alunos), quanto objetos abstratos (horrio). A entidade representada por um retngulo, que contm o nome da entidade. Observe o exemplo abaixo. A entidade ALUNO representa todos os estudantes sobre as quais se deseja manter informaes no BD. Quando necessrio especificar um objeto particular (para o exemplo, determinado estudante) usa-se o termo ocorrncia de entidade. Relacionamento um conjunto de associaes entre entidades. O relacionamento representado por um losango. Esse losango ligado por linhas aos retngulos que representam as entidades participantes do relacionamento. O exemplo abaixo possui duas entidades, MDICO e PACIENTE, e um relacionamento chamado CONSULTA.

O modelo acima informa que o BD mantm informaes sobre mdicos, pacientes, alm de um conjunto de associaes (consulta), cada uma ligando um mdico a um paciente. Quando necessrio especificar um relacionamento particular (para o exemplo, determinada consulta) usa-se o termo ocorrncia do relacionamento. Uma ocorrncia de consulta envolve a ocorrncia de determinado mdico e a ocorrncia de determinado paciente. Um relacionamento pode envolver ocorrncias de uma mesma entidade. Neste caso, estamos diante de um auto-relacionamento. Observe o exemplo:

CASAMENTO um relacionamento que envolve duas ocorrncias 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:

Estamos diante de um relacionamento (possui) entre as entidades EMPREGADO e DEPENDENTE. Considere as seguintes questes:
Um empregado pode no 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 idias no modelo, necessrio definir uma propriedade importante do relacionamento - sua cardinalidade. A cardinalidade um nmero que expressa o comportamento (nmero de ocorrncias) de determinada entidade associada a uma ocorrncia da entidade em questo atravs do relacionamento. Existem dois tipos de cardinalidade: mnima e mxima. A cardinalidade mxima, expressa o nmero mximo de ocorrncias de determinada entidade, associada a uma ocorrncia da entidade em questo, atravs do relacionamento. A cardinalidade mnima, expressa o nmero mnimo de ocorrncias de determinada entidade associada a uma ocorrncia da entidade em questo atravs do relacionamento. Usaremos a seguinte conveno para expressar a cardinalidade:
Nmero (Mnimo, Mximo)

Observe as cardinalidades mnima e mxima representadas no modelo abaixo:

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 referncia a EMPREGADO, j a cardinalidade (1:1), faz referncia a DEPENDENTE. Isso significa que:

Observao:

Uma ocorrncia de empregado pode no estar associada a uma ocorrncia de dependente ou pode estar associada a vrias ocorrncias dele (determinado empregado pode no possuir dependentes ou pode possuir vrios); Uma ocorrncia de dependente est associada a apenas uma ocorrncia de empregado (determinado dependente possui apenas um empregado responsvel).

Na prtica, para as cardinalidades mximas, costumamos distinguir dois tipos: 1 (um) e N (cardinalidades maiores que 1). J para a as cardinalidades mnimas, costumamos distinguir dois tipos: 0 (zero) e 1 (um). Atributo uma caracterstica relevante associada a cada ocorrncia de entidade ou Relacionamento. Observe no modelo abaixo a notao utilizada para atributos:

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

Dessa forma, podemos concluir que determinado aluno pode no ter telefone (cardinalidade mnima zero) ou pode ter vrios (cardinalidade mxima N). A cardinalidade dos atributos cdigo e nome (1,1). Por conveno, ela foi omitida do diagrama. No caso de atributos, a cardinalidade mnima 1 indica que o atributo obrigatrio e a cardinalidade mxima 1 indica que o atributo monovalorado. Para o atributo telefone, a cardinalidade mnima 0 indica que o mesmo opcional e a cardinalidade mxima 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, alm de apresentar os mecanismos de generalizao/especializao, e o conceito de entidade associativa. At a prxima ! Reinaldo Viana.
Leia mais em: Tecnologias de Banco de Dados e Modelagem de Dados Parte 2 http://www.devmedia.com.br/tecnologias-debanco-de-dados-e-modelagem-de-dados-parte-2/1871#ixzz2NKMB7vfa

Você também pode gostar