15
1 Modelagem Conceitual Entidade-Relacionamento Fernanda Baião UNIRIO Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia Cavalcanti 2 Projeto de Sistemas de Informação Levantamento de requisitos Análise Funcional Análise Funcional Projeto Conceitual Especificações de Acesso Especificações de Acesso Projeto Lógico Projeto Físico Projeto da Aplicação Projeto da Aplicação Implementação Validação e Teste 3 Processo de Software Especificação: funcionalidade e restrições Desenvolvimento: Projeto implementação segundo especificação Validação: testes para verificar se está de acordo com especificação Evolução: para atender as mudanças Projeto Conceitual Projeto Lógico Projeto Físico

Modelagem Conceitual Entidade-Relacionamento - uniriotec.bruniriotec.br/~fernanda.baiao/FundBD/AulasPDF/02 - 2 - Modelagem ER.pdf · Produz um diagrama fácil de ser entendido pelo

  • Upload
    hadien

  • View
    219

  • Download
    0

Embed Size (px)

Citation preview

1

Modelagem Conceitual Entidade-Relacionamento

Fernanda BaiãoUNIRIO

Material parcialmente extraído a partir das notas de aula de Maria Luiza M. Campos, Arnaldo Vieira e Maria Cláudia

Cavalcanti

2

Projeto de Sistemas de Informação

Levantamento de requisitos

Análise FuncionalAnálise

Funcional Projeto Conceitual

Especificações de Acesso

Especificações de Acesso

Projeto Lógico

Projeto FísicoProjeto daAplicação

Projeto daAplicação

Implementação

Validação e Teste

3

Processo de Software

Especificação:funcionalidade e restrições

Desenvolvimento:Projetoimplementação segundo especificação

Validação: testes para verificar se está de acordo com especificação

Evolução: para atender as mudanças

Projeto Conceitual

Projeto Lógico

Projeto Físico

4

Fases Clássicas do Desenvolvimento de SW

Levantamento de RequisitosAnálise de RequisitosProjetoImplementaçãoTestesImplantaçãoManutenção

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 Lógico

Projeto Físico

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 fácil de ser entendido pelo usuário final.Fundamentado nos conceitos básicos de entidade, relacionamento e atributo.Outros conceitos foram incorporados para enriquecer a expressividade do modelo.

8

Elementos BásicosEntidades: representam classes de objetos do mundo real.representadas graficamente por um retângulo rotulado com o nome da entidade.

Relacionamentos: representam agregações entre duas ou mais entidades.representados graficamente por um losango rotulado com o nome da agregação.

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.

rótulo

rótulo

rótulo

rótulo

ou

9

Elementos Básicos

NASCIDA_NA

PESSOA CIDADE

VIVE_NA

código

nome

habitantes

identidade

nome

endereço

desde

10

Diferentes Notações

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.

Cardinalidadenúmeros mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento.

a cardinalidade mínima também é conhecida como PARTICIPAÇÃO:

0 = participação opcional 1 = participação obrigatória.

a cardinalidade mínima também é conhecida como PARTICIPAÇÃO:

0 = participação opcional 1 = participação obrigatória.

12

Grau

DEPARTAMENTODEPARTAMENTOEMPREGADOLOTAÇÃO

Relacionamento de Grau 2 ou binário.

DISCIPLINA

PROFESSORALUNOALOCAÇÃO

Relacionamento de Grau 3 ou ternário.

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 PEÇAPEÇA

TRABALHA_EMTRABALHA_EM

CASACASA

PEDEPEDE

n 1

1 n

1 1

m n

14

Relacionamentos n-ários

suponha que cada fornecedor possa fornecer peças a clientes.

(1,n) (1,n)(1,n)(1,n)FF PP CCFF--PP PP--CC

m n n m

Primeira Tentativa:

15

Relacionamentos n-áriossuponha também 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 ocorrências:

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: não 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 solução ainda possui uma armadilha de conexão !Podemos dizer:

que fornecedores fornecem que peças;que peças são fornecidas a que clientes; eque fornecedores fornecem a que clientes.

Mas não podemos dizer:que fornecedores fornecem que peças 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

Solução:

19

Relacionamentos n-ários

P

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

(0,s)

P1 P2

F1F1

F2F2

C1C1

C2C2

Solução:

20

Peças e suas componentes

A B C

D E F

R S T

X Y

PEÇA

A cilindroB baseC braçoD ganchoE linhaF suporteR molduraS tiranteT poleiroX ratoeiraY balanço

Como modelar a composição das peças?

composto componente

RRSSTTXXXYY

BCDEEFRSART

COMPOSIÇÃO

21

Relacionamento Recursivo ...

PEÇAPEÇA

componentecompostoCOMPOSIÇÃOCOMPOSIÇÃO

papéis

Ainda faltam as cardinalidades... (Cenas dos próximos capítulos)

22

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

EMPREGADOEMPREGADORegistro

Sexo

Endereço

Nome

Exemplo: a entidade empregado pode ser descrita pelos atributos Nome, Registro, Sexo, Endereço.

23

Cardinalidade de AtributosCardinalidade mínima/máxima

número mínimo / máximo de valores que o atributo pode assumir em cada instância 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 instâncias de E.

se min-card (A, E) = 1• o atributo é mandatório• deve assumir no mínimo 1 valor para cada instância de E.

se max-card (A, E) = 1• o atributo é mono-valorado• só pode assumir 1 único valor para cada instância de E.

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

25

Cardinalidade de Atributos

NASCIDA_NA

PESSOA CIDADE

VIVE_NA

código

nome

habitantes

identidade

nome

endereço

desde

e-mail(0, n)

(1, 1)(0, n)

(1, 1)(0, n)

data_nasc

se a cardinalidade do atributo for (1,1), ela não precisa ser especificada.

uma pessoa pode não ter telefone ou ter vários...

(1, n)

hoje em dia uma pessoa tem que ter pelo menos um endereço eletrônico,

podendo ter vários.

26

Domínio de um AtributoTodo atributo está associado a um domínio, isto é, a um conjunto de valores válidos que o atributo pode assumir.As declarações de domínio são similares às declarações de tipo nas linguagens de programação.

Exemplos:

CPF: NuméricoNome: TextoCor: {‘azul’, ‘amarelo’, ‘vermelho’}

27

Tipos de Atributossimples - atributo definido sobre um único domínio, isto é, que possui um valor atômico para cada instância da entidade.composto - atributo definido sobre mais de um domínio, isto é, grupo de atributos com um significado semântico. Rua

NúmeroCidadeEstadoPaisCódigo_postal (0, 1)

PESSOAPESSOA EndereçoEndereço

Nome

Telefone(0,n) (0,1)

Sexo

28

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

por um subconjunto dos atributos que a descrevem; oupela combinação de seus atributos com os identificadores das entidades com as quais ela possua um relacionamento funcional e mandatório.

PropriedadesNão podem existir duas instâncias 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 mandatórios, isto é, não podem assumir o valor nulo.

29

Tipos de Identificadores ...identificador interno e simples

identificador interno e composto

PESSOAPESSOA NúmeroIdentidadeNome

PESSOAPESSOADataDeNascimentoNome

NomeDoPaiCidadeDeResidência

IdentificadorDePessoa

30

Tipos de Identificadores ...identificador misto e composto

EMPREGADOEMPREGADONomeMatrícula

NomeDoPaiCidadeDeResidência

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

Matrícula

NomeDoPaiCidadeDeResidência

DEPENDENTEDEPENDENTE

(1,n)

(1,1)

Nome

TEMTEM

DependenteIDDataNascimento

Entidade Fraca

Um Dependente precisa de Empregado para existir

33

Hierarquia de Generalizaçãouma entidade E é uma generalização de um grupo de entidades E1, E2, ... , En, se cada instância das entidades E1, E2, ... , En for também uma instância de E.especialização

o inverso da generalizaçãoprocesso através do qual novas classes são 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 não precisa ser representada no diagrama.

34

Propriedade de cobertura

ESTUDANTE

MULHERHOMEMBICICLETA

AUTOMÓVEL

JOGADORDE TÊNIS

JOGADORDE FUTEBOL

total, exclusiva (t,e)

parcial, inclusiva (p,i)

parcial, exclusiva (p,e)

total, inclusiva (t,i)ESPORTISTAS DO CLUBE

PESSOA VEÍCULO

MESTRADO GRADUAÇÃO

35

Hierarquia de GeneralizaçãoExemplo

PESSOAPESSOA

HOMEMHOMEM

(t,e) (p,e)

(t,i)

MULHERMULHER GERENTEGERENTE SECRETÁRIOSECRETÁRIO EMPREGADOEMPREGADO

GERENTEGERENTETÉCNICOTÉCNICO

GERENTEGERENTEADMADM

(p,i)

VENDEDORVENDEDOR CONTADORCONTADORANALISTAANALISTA

36

Mecanismo de Herança ...todas as propriedades da superclasse são passadas por herança às suas subclasses (atributos, relacionamentos, outras generalizações etc.)

37

Mecanismo de Herança ...

PESSOAPESSOA

HOMEMHOMEM MULHERMULHER

Endereço

(t,e)

(0, 1) SituaçãoMilitar(0, 1) NomeSolteira Nome

EndereçoNome

Situação MilitarEndereçoNome

NomeSolteira

PESSOAPESSOA

HOMEMHOMEM MULHERMULHER

Endereço

(t,e)

Nome

Situação Militar NomeSolteira

Qual dos modelos abaixo é correto?

38

Mecanismo de Herança

PESSOAPESSOA

HOMEMHOMEM

(t,e) (p,e)

MULHERMULHER SECRETÁRIOSECRETÁRIOEMPREGADOEMPREGADO

RuaCidadeCEP (0,1)EstadoPaís

(1,n)

Nome CPF

ProfissãoGrauAcadêmico (0,n)

CertificadoReservista NomeSolteira Matrícula SubTítulo

MILITARMILITAR

Número

Divisão

Patente

ID

ENDEREÇOENDEREÇO

39

Detalhe de Notação

PESSOAPESSOA NomeIdentidade

Profissão

HOMEMHOMEM MULHERMULHER

(t,e) SEXO

CertificadoReservista NomeSolteira

permite dar um nome à hierarquia de generalização

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) NúmeroPrédio

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

CategoriaNível

Início

Término

Id

IdSala

IdTempo

41

Notação do modelo ERNão há padrão para os diagramas ER…Cada metodologia usa uma notação diferente

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

Notação original [Chen 76] raramente é seguida pelas ferramentas CASEVariações conhecidas da notação

Bachman, crow's foot (“pés de galinha”), IDEFIX.

42

Qualidades do Modelo ER ...ExpressividadeExpressividade::

inclui os três mecanismos de abstração: classificação, agregação e generalização.suporta relacionamentos n-ários, o que é motivo de críticas por parte dos defensores do mundo binário.

SimplicidadeSimplicidade::a riqueza de conceitos torna o modelo uma poderosa ferramenta para a descrição da realidade.entretanto, o modelo não é muito simples, especialmente no que diz respeito aos conceitos de cardinalidade, cobertura de generalização e identificação.uma solução é produzir diagramas ER em diferentes níveis de detalhe.

43

Qualidades do Modelo ER ...MinimalidadeMinimalidade::

à exceção 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 não invalida a minimalidade do modelo.

FormalidadeFormalidade::o modelo possui o necessário grau de formalidade, uma vez que cada um de seus conceitos possui uma interpretação única, precisa e bem-definida.

44

Qualidades do Modelo ERRepresentação GráficaRepresentação Gráfica::

o modelo é graficamente completo, isto é, todos os seus conceitos possuem um símbolo gráfico associado.os diagramas ER são fáceis de serem entendidos pelos usuários.

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 BibliográficasConceptual 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