02 - 2 - Modelagem ER

Embed Size (px)

DESCRIPTION

Banco de dados

Citation preview

  • 1

    Modelagem Conceitual Entidade-Relacionamento

    Fernanda BaioUNIRIO

    Material parcialmente extrado a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cludia

    Cavalcanti

    2

    Projeto de Sistemas de Informao

    Levantamento de requisitos

    Anlise FuncionalAnlise

    Funcional Projeto Conceitual

    Especificaes de Acesso

    Especificaes de Acesso

    Projeto Lgico

    Projeto FsicoProjeto daAplicao

    Projeto daAplicao

    Implementao

    Validao e Teste

    3

    Processo de Software

    Especificao:funcionalidade e restries

    Desenvolvimento:Projetoimplementao segundo especificao

    Validao: testes para verificar se est de acordo com especificao

    Evoluo: para atender as mudanas

    Projeto Conceitual

    Projeto Lgico

    Projeto Fsico

  • 4

    Fases Clssicas do Desenvolvimento de SW

    Levantamento de RequisitosAnlise de RequisitosProjetoImplementaoTestesImplantaoManuteno

    5

    RUP - Rational UnifiedProcess

    1. Business Engineering. 2. Requirements. 3. Analysis and Design. 4. Implementation. 5. Test. 6. Configuration and change

    management. 7. Project Management. 8. Environment. 9. Deployment.

    Projeto Conceitual

    Projeto Lgico

    Projeto Fsico

    6

    ModelosFerramentas para modelagem conceitual

    ER - Peter ChenUML - OMG (Grady, Booch, Rumbaugh)IE (Information Engineering) - J. MartinIDEF1X (US Federal Gov.)

  • 7

    O Modelo ER

    O modelo de dados mais popular entre todos os utilizados na etapa de projeto conceitual de banco de dados.Produz um diagrama fcil de ser entendido pelo usurio final.Fundamentado nos conceitos bsicos de entidade, relacionamento e atributo.Outros conceitos foram incorporados para enriquecer a expressividade do modelo.

    8

    Elementos BsicosEntidades: representam classes de objetos do mundo real.representadas graficamente por um retngulo rotulado com o nome da entidade.

    Relacionamentos: representam agregaes entre duas ou mais entidades.representados graficamente por um losango rotulado com o nome da agregao.

    Atributos: representam propriedades elementares das entidades e/ou dos relacionamentos.representados graficamente por um segmento de reta rotulado com o nome do atributo em uma de suas extremidades.

    rtulo

    rtulo

    rtulo

    rtulo

    ou

    9

    Elementos Bsicos

    NASCIDA_NA

    PESSOA CIDADE

    VIVE_NA

    cdigo

    nome

    habitantes

    identidade

    nome

    endereo

    desde

  • 10

    Diferentes Notaes

    1

    n

    1

    n

    1

    n

    1

    1

    1

    0,1

    1

    0.n

    1

    0.n

    1

    n

    1

    n

    1

    n

    11

    Propriedades dos Relacionamentos

    Grautotal de entidades que participam do relacionamento.

    Cardinalidadenmeros mnimo e mximo de instncias de cada entidade que podem estar associadas atravs do relacionamento.

    a cardinalidade mnima tambm conhecida como PARTICIPAO:

    0 = participao opcional 1 = participao obrigatria.

    a cardinalidade mnima tambm conhecida como PARTICIPAO:

    0 = participao opcional 1 = participao obrigatria.

    12

    Grau

    DEPARTAMENTODEPARTAMENTOEMPREGADOLOTAO

    Relacionamento de Grau 2 ou binrio.

    DISCIPLINA

    PROFESSORALUNOALOCAO

    Relacionamento de Grau 3 ou ternrio.

  • 13

    Cardinalidade ...

    CLIENTECLIENTE PEDIDOPEDIDO

    (1,1) (1,n)EMPREGADOEMPREGADO DEPARTAMENTODEPARTAMENTO

    (0,n) (1,1)FAZFAZ

    (0,1) (0,1)HOMEMHOMEM MULHERMULHER

    (1,n) (0,n)PEDIDOPEDIDO PEAPEA

    TRABALHA_EMTRABALHA_EM

    CASACASA

    PEDEPEDE

    n 1

    1 n

    1 1

    m n

    14

    Relacionamentos n-rios

    suponha que cada fornecedor possa fornecer peas a clientes.

    (1,n) (1,n)(1,n)(1,n)FF PP CCFF--PP PP--CCm n n m

    Primeira Tentativa:

    15

    Relacionamentos n-riossuponha tambm que segundo levantamentos sobre o contexto em foco, sabe-se que:

    F1 fornece P1 a C1.F2 fornece P1 a C2.F2 fornece P2 a C1.

    representando esses dados num diagrama de ocorrncias:

    F1

    F2

    C1

    C2

    P1

    P2

    FF FF--PP PP CCPP--CCQuem fornece a C1?Quem fornece a C1?Quem fornece a C2?Quem fornece a C2?

    Armadilha: Armadilha: no h como determinar que fornecedor fornece a que cliente !

  • 16

    Relacionamentos n-riosagora podemos afirmar que:

    F1 fornece P1.F2 fornece P1.F2 fornece P2.

    P1 fornecida a C1.P1 fornecida a C2.P2 fornecida a C1.

    FF

    PP

    FF--PP

    m

    nPP--CC

    n

    m

    CCFF--CC

    F1

    F2

    C1

    C2

    P1

    P2

    F-C

    F-P P-C

    mas ...m n

    F1 fornece a C1.F2 fornece a C1.F2 fornece a C2.

    17

    Relacionamentos n-riosEssa soluo ainda possui uma armadilha de conexo !Podemos dizer:

    que fornecedores fornecem que peas;que peas so fornecidas a que clientes; eque fornecedores fornecem a que clientes.

    Mas no podemos dizer:que fornecedores fornecem que peas a que clientes !

    F1

    F2

    C1

    C2

    P1

    P2

    F-C

    F-P P-C Quem fornece P1 a C1?Quem fornece P1 a C1?

    18

    Relacionamentos n-rios

    P

    CF F-P-C

    P1 P2

    F1F1

    F2F2

    C1C1

    C2C2

    Soluo:

  • 19

    Relacionamentos n-rios

    P

    CF F-P-C(0,m) (0,n)

    (0,s)

    P1 P2

    F1F1

    F2F2

    C1C1

    C2C2

    Soluo:

    20

    Peas e suas componentes

    A B C

    D E F

    R S T

    X Y

    PEA

    A cilindroB baseC braoD ganchoE linhaF suporteR molduraS tiranteT poleiroX ratoeiraY balano

    Como modelar a composio das peas?

    composto componente

    RRSSTTXXXYY

    BCDEEFRSART

    COMPOSIO

    21

    Relacionamento Recursivo ...

    PEAPEA

    componentecomposto COMPOSIOCOMPOSIO

    papis

    Ainda faltam as cardinalidades... (Cenas dos prximos captulos)

  • 22

    Atributos ...propriedades utilizadas para descrever entidades e relacionamentos.

    EMPREGADOEMPREGADORegistro

    Sexo

    Endereo

    Nome

    Exemplo: a entidade empregado pode ser descrita pelos atributos Nome, Registro, Sexo, Endereo.

    23

    Cardinalidade de AtributosCardinalidade mnima/mxima

    nmero mnimo / mximo de valores que o atributo pode assumir em cada instncia da entidade ou relacionamento.

    24

    Cardinalidade de AtributosSeja A um atributo da entidade E:

    se min-card (A, E) = 0 o atributo opcional pode ser nulo para algumas instncias de E.

    se min-card (A, E) = 1 o atributo mandatrio deve assumir no mnimo 1 valor para cada instncia de E.

    se max-card (A, E) = 1 o atributo mono-valorado s pode assumir 1 nico valor para cada instncia de E.

    se max-card (A, E) > 1 o atributo multi-valorado ele pode assumir mais de um valor para cada instncia de E.

  • 25

    Cardinalidade de Atributos

    NASCIDA_NA

    PESSOA CIDADE

    VIVE_NA

    cdigo

    nome

    habitantes

    identidade

    nome

    endereo

    desde

    e-mail(0, n)

    (1, 1)(0, n)

    (1, 1)(0, n)

    data_nasc

    se a cardinalidade do atributo for (1,1), ela no precisa ser especificada.

    uma pessoa pode no ter telefone ou ter vrios...

    (1, n)

    hoje em dia uma pessoa tem que ter pelo menos um endereo eletrnico,

    podendo ter vrios.

    26

    Domnio de um AtributoTodo atributo est associado a um domnio, isto , a um conjunto de valores vlidos que o atributo pode assumir.As declaraes de domnio so similares s declaraes de tipo nas linguagens de programao.

    Exemplos:

    CPF: NumricoNome: TextoCor: {azul, amarelo, vermelho}

    27

    Tipos de Atributossimples - atributo definido sobre um nico domnio, isto , que possui um valor atmico para cada instncia da entidade.composto - atributo definido sobre mais de um domnio, isto , grupo de atributos com um significado semntico. Rua

    NmeroCidadeEstadoPaisCdigo_postal (0, 1)

    PESSOAPESSOA EndereoEndereo

    Nome

    Telefone(0,n) (0,1)

    Sexo

  • 28

    Identificador de Entidade Def.: Atributo, simples ou composto, que identifica unicamente cada instncia da entidade.O identificador de uma entidade pode ser formado:

    por um subconjunto dos atributos que a descrevem; oupela combinao de seus atributos com os identificadores das entidades com as quais ela possua um relacionamento funcional e mandatrio.

    PropriedadesNo podem existir duas instncias da entidade com o mesmo valor do identificador.Se qualquer componente do identificador for retirado, a propriedade de unicidade deixa de ser satisfeita. Todos os componentes de um identificador devem ser mandatrios, isto , no podem assumir o valor nulo.

    29

    Tipos de Identificadores ...identificador interno e simples

    identificador interno e composto

    PESSOAPESSOANmeroIdentidadeNome

    PESSOAPESSOADataDeNascimentoNome

    NomeDoPaiCidadeDeResidncia

    IdentificadorDePessoa

    30

    Tipos de Identificadores ...identificador misto e composto

    EMPREGADOEMPREGADONomeMatrcula

    NomeDoPaiCidadeDeResidncia

    DEPENDENTEDEPENDENTE

    (0,n)

    (1,1)

    Nome

    TEMTEM

    DependenteID

    DataNascimento

  • 31

    Tipos de Identificadores ...identificador externo e composto

    dentro de um pedido de compra, cada produto s pode constar de apenas um item de pedido.

    (1,n) (0,n)

    PRODUTOPRODUTOPEDIDOPEDIDO

    referenciareferencia

    ITEM DE PEDIDO ITEM DE PEDIDO

    idItemincluiinclui

    (1,1) (1,1)

    32

    Entidade Fracaentidade cujo identificador externo ou misto.

    EMPREGADOEMPREGADONome

    Matrcula

    NomeDoPaiCidadeDeResidncia

    DEPENDENTEDEPENDENTE

    (1,n)

    (1,1)

    Nome

    TEMTEM

    DependenteIDDataNascimento

    Entidade Fraca

    Um Dependente precisa de Empregado para existir

    33

    Hierarquia de Generalizaouma entidade E uma generalizao de um grupo de entidades E1, E2, ... , En, se cada instncia das entidades E1, E2, ... , En for tambm uma instncia de E.especializao

    o inverso da generalizaoprocesso atravs do qual novas classes so definidas a partir do refinamento de uma classe mais geral.

    propriedade de coberturatotal (t) ou parcial (p)exclusiva (e) ou inclusiva (i)se a cobertura for total e exclusiva, (t, e), ela no precisa ser representada no diagrama.

  • 34

    Propriedade de cobertura

    ESTUDANTE

    MULHERHOMEMBICICLETA

    AUTOMVEL

    JOGADORDE TNIS

    JOGADORDE FUTEBOL

    total, exclusiva (t,e)

    parcial, inclusiva (p,i)

    parcial, exclusiva (p,e)

    total, inclusiva (t,i)ESPORTISTAS DO CLUBE

    PESSOA VECULO

    MESTRADO GRADUAO

    35

    Hierarquia de GeneralizaoExemplo

    PESSOAPESSOA

    HOMEMHOMEM

    (t,e) (p,e)

    (t,i)

    MULHERMULHER GERENTEGERENTE SECRETRIOSECRETRIO EMPREGADOEMPREGADO

    GERENTEGERENTETCNICOTCNICO

    GERENTEGERENTEADMADM

    (p,i)

    VENDEDORVENDEDOR CONTADORCONTADORANALISTAANALISTA

    36

    Mecanismo de Herana ...todas as propriedades da superclasse so passadas por herana s suas subclasses (atributos, relacionamentos, outras generalizaes etc.)

  • 37

    Mecanismo de Herana ...

    PESSOAPESSOA

    HOMEMHOMEM MULHERMULHER

    Endereo

    (t,e)

    (0, 1) SituaoMilitar(0, 1) NomeSolteira Nome

    EndereoNome

    Situao MilitarEndereoNome

    NomeSolteira

    PESSOAPESSOA

    HOMEMHOMEM MULHERMULHER

    Endereo

    (t,e)

    Nome

    Situao Militar NomeSolteira

    Qual dos modelos abaixo correto?

    38

    Mecanismo de Herana

    PESSOAPESSOA

    HOMEMHOMEM

    (t,e) (p,e)

    MULHERMULHER SECRETRIOSECRETRIOEMPREGADOEMPREGADO

    RuaCidadeCEP (0,1)EstadoPas

    (1,n)

    Nome CPF

    ProfissoGrauAcadmico (0,n)

    CertificadoReservista NomeSolteira Matrcula SubTtulo

    MILITARMILITAR

    Nmero

    Diviso

    Patente

    ID

    ENDEREOENDEREO

    39

    Detalhe de Notao

    PESSOAPESSOA NomeIdentidade

    Profisso

    HOMEMHOMEM MULHERMULHER

    (t,e) SEXO

    CertificadoReservista NomeSolteira

    permite dar um nome hierarquia de generalizao

  • 40

    Leitura de Diagramas ER

    CIDADECIDADE PESSOAPESSOA

    ESTUDANTEESTUDANTE PROFESSORPROFESSOR

    DEPTODEPTO

    DISCIPLINADISCIPLINA

    ALUNOS_PGALUNOS_PGVISITANTEVISITANTE

    ALOC

    TEMPOTEMPO

    SALASALA

    NomeEstado

    (0,n)

    (1,1)

    mora_emmora_em

    matriculado_emmatriculado_em

    (0,n)

    (1,n)Grau

    (1,3)

    (0,n)Dia

    Hora

    (0,40) NmeroPrdio

    Nome(1,1)

    lecionado_porlecionado_por(1,2)

    (1,1)

    orientado_pororientado_por(0,n)

    (0,n)(1,1)nascida_emnascida_em Sobrenome

    Idade

    lotado_nolotado_no(1,1)

    (1,n)

    Nome

    Telefone

    CategoriaNvel

    Incio

    Trmino

    Id

    IdSala

    IdTempo

    41

    Notao do modelo ERNo h padro para os diagramas ERCada metodologia usa uma notao diferente

    losangos versus linhas rotuladas para relacionamentosSentido de leitura da cardinalidade de relacionamento

    Notao original [Chen 76] raramente seguida pelas ferramentas CASEVariaes conhecidas da notao

    Bachman, crow's foot (ps de galinha), IDEFIX.

    42

    Qualidades do Modelo ER ...ExpressividadeExpressividade::

    inclui os trs mecanismos de abstrao: classificao, agregao e generalizao.suporta relacionamentos n-rios, o que motivo de crticas por parte dos defensores do mundo binrio.

    SimplicidadeSimplicidade::a riqueza de conceitos torna o modelo uma poderosa ferramenta para a descrio da realidade.entretanto, o modelo no muito simples, especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de generalizao e identificao.uma soluo produzir diagramas ER em diferentes nveis de detalhe.

  • 43

    Qualidades do Modelo ER ...MinimalidadeMinimalidade::

    exceo dos atributos compostos, nenhum conceito do modelo pode ser descrito em termos dos demais.o fato da mesma realidade poder ser modelada de diferentes maneiras no invalida a minimalidade do modelo.

    FormalidadeFormalidade::o modelo possui o necessrio grau de formalidade, uma vez que cada um de seus conceitos possui uma interpretao nica, precisa e bem-definida.

    44

    Qualidades do Modelo ERRepresentao GrficaRepresentao Grfica::

    o modelo graficamente completo, isto , todos os seus conceitos possuem um smbolo grfico associado.os diagramas ER so fceis de serem entendidos pelos usurios.

    o modelo ER oferece um balanceamento adequado entre expressividade, simplicidade e minimalidade.

    o modelo ER oferece um balanceamento adequado entre expressividade, simplicidade e minimalidade.

    45

    Refs BibliogrficasConceptual Database Design

    Batini, Ceri e NavatheBenjamin/Cummings Pub. Co.

    Modelagem Conceitual e Projeto de Banco de Dados

    Paulo CougoEd Campus 3a. ed.

    Projeto de Banco de DadosCarlos Heuser ed. Sagra Luzzatto

    Sistemas de Bancos de DadosElmasri, NavatheEd Pearson