Download - 02 - 2 - Modelagem ER
-
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