Você está na página 1de 13

RESTRIES DE CARDINALIDADE

Tipos de Relacionamento Binrio


n

Seja R(p1:E1, p2:E2)


q q

a cardinalidade entre p1 e p2 em R Card (p1; p2; R) = (min, max)


n

onde min e max so os nmeros mnimo e mximo de entidades do tipo E2 que podem estar relacionadas em R a qualquer entidade do tipo E1 a qualquer tempo

q q

Card (p2; p1; R) definida analogamente obviamente:


n n

min = 0 max > 0 e max = min

Cardinalidade
A
a1 a2 a3 a4 a5

B R
b1 b2 b3 b4 b5

R(pA:A, pB,B) Card(pA, pB, R) = (0, 3) Card(pB, pA, R) = (1, 3)

Definio formal
n

Card (p1; p2; R) = (min, max) ?


q

E1(e1) ? min = | {e2 | R(e1, e2)}| = max Cmin (p1; p2; R) Cmax (p1; p2; R)

Simplificaes:
q q

Definies
n

Cmin (p1; p2; R) > 0 ? participao de E1 em R com papel p1 TOTAL ou MANDATRIA Cmin (p1; p2; R) = 0 ? participao de E1 em R com papel p1 PARCIAL ou OPCIONAL Cmax (p1; p2; R) = 1 ? h uma DEPENDNCIA FUNCIONAL entre p1 e p2 ? {p1} ? {p2} Cmax (p1; p2; R) > 1 ? a correspondncia NO FUNCIONAL

Cardinalidades no restritivas
n n n

Cmin (p1; p2; R) = 0 Cmax (p1; p2; R) = 8 Card (p1; p2; R) = (0, 8 )

Representao em UML
Mora ?
pai(me)

0..2

1..*

residente nativo

Nasceu
localDeNascimento 1

localDeResidncia

*
filho(a)

Pessoa
{permanente}

Cidade
{permanente}
0..1 localDeTrabalho

*
Trabalha

trabalhador

n n n n

Card (p1; p2; R) = (min, max) representado na forma min..max prximo a p2 se min = max escreve-se um nmero se max = 8 ento escreve-se max = *. se min = 0 e max = 8 ento escreve-se apenas o *

Representao em UML
Mora ?
pai(me)

0..2

1..*

residente nativo

Nasceu
localDeNascimento 1

localDeResidncia

*
filho(a)

Pessoa
{permanente}

Cidade
{permanente}
0..1 localDeTrabalho

*
Trabalha

trabalhador

n n n n

uma pessoa pode ter de 0 a muitos filhos e de 0 a 2 pais. todas as pessoas nasceram e moram numa cidade e opcionalmente trabalham pelo menos uma pessoa mora numa cidade pode ser que ningum trabalhe nem seja nativo em alguma cidade

Representao em UML
Mora ?
pai(me)

0..2

1..*

residente nativo

Nasceu
localDeNascimento 1

localDeResidncia

*
filho(a)

Pessoa
{permanente}

Cidade
{permanente}
0..1 localDeTrabalho

*
Trabalha

trabalhador

n n n

a participao de Pessoa e Cidade em Mora total a participao de Pessoa em Nasceu total h uma correspondncia funcional entre Pessoa e Cidade em Mora, Trabalha e Nasceu.

Tipos de Relacionamento n-rios


n

Seja o tipo de relacionamento: q Usa(Programador, Linguagem, Projeto) com o seguinte padro de sentena: q O programador <programador>usa a linguagem <linguagem> no projeto <projeto>. e a seguinte representao grfica:
Usa Programador Linguagem

Projeto

Tipos de Relacionamento n-rios


n
1. 2. 3. 4. 5. 6.

Tipos ternrios tm 12 cardinalidades.


Card (programador, linguagem) Card (programador, projeto) Card (linguagem, programador) Card (linguagem, projeto) Card (projeto, programador) Card (projeto, linguagem)

Tipos de Relacionamento n-rios


7. 8. 9. 10. 11. 12.

Card (programador, linguagem; projeto) Card (programador, projeto; linguagem) Card (linguagem, projeto; programador) Card (programador; projeto, linguagem) Card (linguagem; programador; projeto) Card (projeto; programador, linguagem)
representadas em UML

Outras notaes
n

Notao original (Chen) - mximo


q q q

1:1 1:N N:M

n n n

cardinalidade (mximo) e modalidade (mnimo) mximo 1: dependncia funcional 1:1


q

(0,1): (0,1) (0,1): (1,1) (1,1): (0,1) (1,1): (1,1)

Você também pode gostar