1 / 23

MODELAGEM CONCEITUAL DE SISTEMAS DE INFORMAÇÃO

MODELAGEM CONCEITUAL DE SISTEMAS DE INFORMAÇÃO. Restri ções de Cardinalidade. Cardinalidade. A. B. R. a1 a2 a3 a4 a5. b1 b2 b3 b4 b5. Tipos de Relacionamento Binário. Seja R(p 1 :E 1 , p 2 :E 2 ) a cardinalidade entre p 1 e p 2 em R

merv
Download Presentation

MODELAGEM CONCEITUAL DE SISTEMAS DE INFORMAÇÃO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MODELAGEM CONCEITUAL DE SISTEMAS DE INFORMAÇÃO Restrições de Cardinalidade

  2. Cardinalidade A B R • a1 • a2 • a3 • a4 • a5 • b1 • b2 • b3 • b4 • b5

  3. Tipos de Relacionamento Binário • Seja R(p1:E1, p2:E2) • a cardinalidade entre p1 e p2 em R • Card (p1; p2; R) = (min, max) • onde min e max são os números mínimo e máximo de entidades do tipo E2 que podem estar relacionadas em R a qualquer entidade do tipo E1 a qualquer tempo • Card (p2; p1; R) é definida analogamente • obviamente: • min ≥ 0 • max > 0 e max ≥ min

  4. Cardinalidade A B R pA pB • a1 • a2 • a3 • a4 • a5 • b1 • b2 • b3 • b4 • b5 R(pA:A, pB,B) Card(pA, pB, R) = (0, 3) Card(pA, pB, R) = (1, 3)

  5. Exemplo • Seja o tipo de relacionamento: • Lê(leitor: Pessoa, materialDeleitura: Livro) • cardinalidades • Card (leitor; materialDeLeitura; Lê) = (0, 3) • Card (materialDeLeitura; leitor; Lê) = (0, 1)

  6. Definição formal • Seja R(p1:E1, p2:E2) • Card (p1; p2; R) = (min, max) ↔ • E1(e1) → min ≤ | {e2 | R(e1, e2)}| ≤ max • Simplificações: • Cmin (p1; p2; R) • Cmax (p1; p2; R) • Resultado • Card (p1; p2) = (min, max) → • min’ ≤ min e max’ ≥ max → Card (p1; p2) = (min’, max’)

  7. Definições • Cmin (p1; p2; R) > 0 ↔ participação de E1 em R com papel p1 é TOTAL ou MANDATÓRIA • Cmin (p1; p2; R) = 0 ↔ participação de E1 em R com papel p1 é PARCIAL ou OPCIONAL • Cmax (p1; p2; R) = 1 ↔ há uma DEPENDÊNCIA FUNCIONAL entre p1 e p2 ↔ {p1} → {p2} • Cmax (p1; p2; R) > 1 ↔ a correspondência é NÃO FUNCIONAL

  8. Cardinalidades não restritivas • Cmin (p1; p2; R) = 0 • Cmax (p1; p2; R) = ∞ • Card (p1; p2; R) = (0, ∞)

  9. Representação em UML Mora ► • Card (p1; p2; R) = (min, max) representado na forma min..max próximo a p2 • se min = max escreve-se um número • se max = ∞ então escreve-se max = *. • se min = 0 e max = ∞ então escreve-se apenas o * pai(mãe) 1 1..* residente localDeResidência 0..2 Nasceu * Pessoa {«permanente»} nativo localDeNascimento Cidade {«permanente»} * 1 filho(a) * trabalhador 0..1 localDeTrabalho Trabalha

  10. Representação em UML Mora ► • 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 ninguém trabalhe nem seja nativo em alguma cidade pai(mãe) 1 1..* residente localDeResidência 0..2 Nasceu * Pessoa {«permanente»} nativo localDeNascimento Cidade {«permanente»} * 1 filho(a) * trabalhador 0..1 localDeTrabalho Trabalha

  11. Representação em UML Mora ► • a participação de Pessoa e Cidade em Mora é total • a participação de Pessoa em Nasceu é total • há uma correspondência funcional entre Pessoa e Cidade em Mora, Trabalha e Nasceu. pai(mãe) 1 1..* residente localDeResidência 0..2 Nasceu * Pessoa {«permanente»} nativo localDeNascimento Cidade {«permanente»} * 1 filho(a) * trabalhador 0..1 localDeTrabalho Trabalha

  12. Atributos • Um atributo P(E1, E2) correspondente ao tipo de relacionamento R(e1: E1, p:E2) é dito ser monovalorado se a correspondência entre e1 e p é funcional, ou seja Cmax (e1, p, R) = 1 • Se Cmax (e1, p, R) > 1 o atributo P é dito ser multivalorado • O atributo é total se a participação de de E1 em R é total, ou seja Cmin (e1, p, R) = 1 • Se Cmin (e1, p, R) = 0 o atributo é parcial.

  13. Atributos • Em UML, a cardinalidade é mostrada perto do nome do atributo. • A cardinalidade default é (1, 1), ou seja total e funcional. Pessoa nome: String hobby: String [*] fone: String [0..1]

  14. Tipos de Relacionamento n-ários • Seja o tipo de relacionamento: • Usa(Programador, Linguagem, Projeto) • com o seguinte padrão de sentença: • O programador <programador>usa a linguagem <linguagem> no projeto <projeto>. • e a seguinte representação gráfica: Usa Programador Linguagem Projeto

  15. Tipos de Relacionamento n-ários • Tipos ternários têm 12 cardinalidades. • Card (programador, linguagem) • Card (programador, projeto) • Card (linguagem, programador) • Card (linguagem, projeto) • Card (projeto, programador) • Card (projeto, linguagem)

  16. Tipos de Relacionamento n-ários • Card (programador, linguagem; projeto) • Card (programador, projeto; linguagem) • Card (linguagem, projeto; programador) • Card (programador; projeto, linguagem) • Card (linguagem; programador; projeto) • Card (projeto; programador, linguagem)

  17. Tipos de Relacionamento n-ários • 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

  18. Definição formal • Card (p1; p2; R) = (min, max) ↔ • E1(e1) → min ≤ | {e2 | R(e1, e2)}| ≤ max • Seja R(p1:E1,...,pn:En) e sejam p = {p1,...,pi} e q = {pi+1,...,pk} subconjuntos disjuntos dos papéis {p1,...,pn} • Card (p; q; R) = (min, max) ↔ • E1(e1) ... En(en) → • min  |{(ei+1,…,ek) | R(e1,…,ei.ei+1,…,ek,…,en)}|  max

  19. Exemplos • Card (programador, linguagem) = (0,2) • Card (programador, projeto) = (0,5) • Card (linguagem, programador) = (0, ∞) • Card (linguagem, projeto) = (0, ∞) • Card (projeto, programador) = (1, ∞) • Card (projeto, linguagem) = (1, ∞) • Card (programador, linguagem; projeto) = (0,5) • Card (programador, projeto; linguagem) = (0,1)

  20. Exemplos • Card (linguagem, projeto; programador) = (0, ∞) • Card (programador; projeto, linguagem) = (0, 5) • Card (linguagem; programador; projeto) = (0, ∞) • Card (projeto; programador, linguagem) = (1, ∞)

  21. Cardinalidades insatisfatíveis Gerencia 1 gerente 0..1 Empregado subordinado

  22. Cardinalidades insatisfatíveis 2..* Trabalha 0..1 Pessoa Empresa Éproprietário 1 1..*

  23. Outras notações • Notação original (Chen) - máximo • 1:1 • 1:N • N:M • cardinalidade (máximo) e modalidade (mínimo) • máximo 1: dependência funcional • 1:1 • (0,1): (0,1) – (0,1): (1,1) – (1,1): (0,1) – (1,1): (1,1)

More Related