Construindo modelos ER Capítulo 3
Construindo modelos ER Conselhos práticos Heurísticas Notações alternativas Processo de modelagem e alternativas
Propriedades de modelos ER Modelo ER é um modelo formal Poder de expressão é limitado Eqüivalência entre modelos
Modelo ER é um modelo formal Modelo preciso, não ambíguo Diferentes leitores de um mesmo modelo ER devem sempre entender exatamente o mesmo DER pode ser usado como entrada a uma ferramenta CASE Fundamental: todos os envolvidos devem estar treinados na sua perfeita compreensão. Risco: sub-utilização
Poder de expressão limitado Modelo ER apresenta apenas algumas propriedades de um banco de dados o Foi concebido para o projeto da estrutura de um BD relacional Pouco poderoso para expressar restrições de integridade (regras de negócio)
Poder de expressão limitado - exemplo
Poder de expressão limitado - exemplo
Exercício 3.1 ) ( %
Exercício 3.1 (continuação) ( ( %
Eqüivalência entre modelos Dois modelos ER diferentes podem ser equivalentes Modelos equivalentes Para fins de projeto de BD, dois modelos ER são equivalentes Considerar um conjunto de regras de tradução de modelos ER para modelos lógicos de BD
Exemplo de eqüivalência entre modelos ( (
Modelo equivalente %
Transformação de relacionamento n:n em entidade (1) O relacionamento n:n é representado como uma entidade A entidade criada é relacionada às entidades que originalmente participavam do relacionamento A entidade criada tem como identificador:
Transformação de relacionamento n:n em entidade (2) Nos relacionamentos de que participa, a cardinalidade da entidade criada é sempre (1,1) As cardinalidades das entidades que eram originalmente associadas pelo relacionamento são transcritas ao novo modelo conforme mostrado na figura. %
Modelo ER sem relacionamento n:n Relacionamento n:n pode ser transformado em entidade É possível construir modelos sem relacionamentos n:n Há variantes da abordagem ER, que Exemplo:
Identificando construções Determinação da construção da abordagem ER (entidade, relacionamento,...) que será usada para modelar um objeto de uma realidade
Identificando construções Recomendação geral Decisão por uma construção para a modelagem de um objeto está sujeita a alteração durante a modelagem Não despender um tempo excessivo em longas discussões sobre como modelar um objeto Desenvolvimento do modelo e o aprendizado sobre a realidade irão refinando e aperfeiçoando o modelo.
Atributo versus entidade relacionada
Atributo versus entidade relacionada critérios (1) Objeto está vinculado a outros objetos Caso contrário
Atributo versus entidade relacionada critérios (2) Conjunto de valores de um determinado objeto é fixo (domínio fixo) Existem transações no sistema que alteram o conjunto de valores do objeto (domínio variável)
Exercício 3.2
Atributo versus generalizaçãoespecialização Questão:
Atributo versus generalizaçãoespecialização Especialização deve ser usada quando
Atributo versus generalizaçãoespecialização %
Atributo opcional Atributo opcional Exemplo
Atributo opcional
Atributo multivalorado é indesejável SGBD relacional que segue o padrão SQL2: SGBD OO ou objetorelacional: Atributos multivalorados podem induzir a um erro de modelagem
Atributo multivalorado eliminação
Exercício 3.3 Apresente um diagrama ER que modele mais precisamente esta realidade. Explique no que seu diagrama é mais preciso que o mostrado na figura
% Verificação do modelo Modelo deve ser correto Modelo deve ser completo Modelo deve ser livre de redundâncias
Modelo deve ser correto Erros Erros semânticos mais difíceis de verificar Regras de normalização auxiliam na validação
Exemplos de erros semânticos Estabelecer associações incorretas. Usar uma entidade como atributo de outra entidade Usar o número incorreto de entidades em um relacionamento.
Modelo deve ser completo Deve fixar todas propriedades desejáveis do banco de dados Somente pode ser verificado por alguém que conhece profundamente o sistema a ser implementado
Verificação de completitude Forma de verificar Requisito é aparentemente conflitante com a falta de poder de expressão de modelos ER
Modelo deve ser livre de redundâncias Modelo deve ser mínimo, isto é não deve conter conceitos redundantes Tipos de redundância
O que fazer com construções redundantes? Alternativas Implementação pode conter redundância controlada de dados (performance)
Relacionamentos redundantes
Atributos redundantes ou deriváveis
Modelo deve refletir o aspecto temporal Dados temporais Tipos de dados temporais
% Atributos temporais
Relacionamento 1:1 temporal
Relacionamento 1:n temporal
Relacionamento n:n temporal
Consultas a dados referentes ao passado Muitas vezes, informações referentes ao passado são eliminadas da base de dados (arquivamento) Podem ser necessárias no futuro
Dados referentes ao passado planejar arquivamento Solução que poderia ser considerada Planejar informações estatísticas
Entidade isolada Caso raro, mas não incorreto Entidade que muitas vezes aparece isolada Caso típico
Entidade isolada exemplo (. 2. (1 - +., - % + ) ( % (. 2. (1 - + ( + % ( - 1 % 1. -. 1 2 ( ( - 4 3-2 1 + (.2. (1 - + ) + +. 8 1. -2 8 2 ( ) +- ( 8 (- ( 1 9
% Estabelecimento de padrões Modelos de dados são usados para comunicação (), + É necessário estabelecer padrões de confecção de modelos Na prática e na literatura - 8.(. 2-8. - % ( 2
Variantes de modelos ER Peter Chen (acadêmica) Engenharia de Informações UML Merise (notação Européia)
Notação Engenharia de Informações ) ( % % ( ) + % ) + % ( + %
Notação Engenharia de Informações Relacionamentos representados por linha Conseqüências: Denominação de relacionamento na forma de verbo - - - -
Notação Engenharia de Informações Notação para cardinalidade máxima e mínima é gráfica Generalizaçãoespecialização é chamada de subconjunto (subtipo) de entidades
Engenharia de informações subtipos de entidades % % % % ) (
% Exercício 3.4 Transformar o modelo ER resultante do Exercício 3.3 para a notação Engenharia de Informações
Notação MERISE ) ( ) ( ) ( ) (
Uso de ferramentas de modelagem Diagrama ER não deve ser confeccionado manualmente Recomendável que seja usada uma ferramenta em computador para apoio à modelagem Alternativas:
Estratégias de modelagem Estratégia de modelagem ER Diferentes estratégias
Definição da estratégia de modelagem Na prática Normal Compreensível
Definição da estratégia de modelagem Identificar qual a fonte de informações principal para o processo de modelagem: Descrições de dados existentes Conhecimento de pessoas sobre o sistema
Estratégia top-down Partir de conceitos mais abstratos ( de cima ) Ir gradativamente refinando estes conceitos em conceitos mais detalhados
Estratégia top-down processo (1) Modelagem superficial
Estratégia top-down processo (2) Modelagem detalhada Validação do modelo
Estratégia inside-out % % % % %
% Reserva de passagens aéreas (1). 2, 8 4 -. +, 4 + ) 3 2 1 ( +., + - (). < > 4 1 + 8 =... ( 8 4 + 8 +, : ;, 9-1 ;. A + 8 > 4 2, = 8, @. + 8. + +8.. 8 + = 1, 8? 9 1,., D @ 4. A, +,. 8, 3 - C ; - 3 +,. 1 + 8 : 9 8 B +., = D, E 8 4 A,+ 3 - B ;. + 4 +, 1. D. 2 +. + ) 48 8 4. 8 - B ; 8 8 2 8 1> 4 A,+ 3-2 = +. H ; 2 G +.., 8 +. : + 8 > 4 F = - K ; + ; +, -= 4 J, = F 8 I 1 4 H +, 8;. 4, D 4, 4., D @ 4. A, +,. 8, 3 F - C 3 F - C 1 ; H 4 N : +, 8. B1 D + H., M L L F - 1 = J H F ; -.,., +, 8 1 O.. 8 8 2 = +, -. +,. 8= P 8 B1 D + H. 4 2 = +,.. + 3 M L L F - 1 = J., - : > 4.., < 2 > 4 + 1, 8 Q ( 1 ; H 4 N :,. 8 P 8. + 4 = - A R > 4, D A, 8 + + 8, 3 =, H + ;, - ; F - 1> 4 8 + 3 1> 4
Reserva de passagens aéreas (2) - 8. +, 3 1> 4 ( > 4 - A R + = 1, 8 R - F = - 4 8 B1 D4 F ; -. 2 +., 8 +.. +,1, R 4 < > 4 1 ;., 8 +. - 8. + +, =, 8 +8, 8 + 8 1,, 8 + F - +, -= 1 4 8 ; 8..,. + F -. + ; 8.., +, 2. 9 8. 4 8 > 4., 2 +8 : 8 + 2 (,1 Q ;.. 1, -. R 4, 4 - Q. - ;. 1 8 3 = -. R + D 3 +. =,, +. ; D. (,1, +, 2, 8. = +, R A, 8 < + F -. +., 8 2 Q A,+. + 8. -, ; D + 8. -, 8. + 8. 3 + + > 4 1 + 4 8. +,, -, -. - +, = -, + - A A R > 4.. + 1, 8 3 B1 + 4 + 4. 4.., 4., D -... (,1,, 8..,., 8 +., + + = F -., 8 +... 4. 2 D., 2 F -. 2 + 4 D -... (,1,, 8., F ; -. 2 + 4 + 8., 8 +.... (,1,, 8.,
Reserva de passagens aéreas entidades %
Reserva de passagens aéreas relacionamentos
Reserva de passagens aéreas atributos e identificadores % % %
Reserva de passagens aéreas restrições de integridade
Reserva de passagens aéreas redundância e performance %
% Locação de veículos enunciado (1) ( -, + ),. + +, 1 1, - 2 + 1 + 1 3, ) ), ) 4,. +, + + +, 1,,, + +
Locação de veículos enunciado(2) % ( ) - (, +..
Locação de veículos enunciado(3) 1 1 +, + ), 1 - - - - + 1 - +, - + + 2 + - ) ),, ) )
Locação de veículos entidades ) ( % (
Locação de veículos entidades ) % (, + ) ( %. -
Locação de veículos entidades ) ) ( % % %
Locação de veículos relacionamentos % % % % % %
% Locação de veículos atributos (1) : : 3 ) 9 8 C 34 1. 4 @ B 3 CB 1 2 3 4 B -., + () 3 4 A - @? = >) < ; K : B J C B @ 3 1 9I 8. 1 @ 4 H -? = G) F E D ; : I 3 9 K1 LB B K 3. 1 2 3 4 -. (? () <) 8 3 4. C 384 3 R J 3 4 8 2 C 8B P 1 @4 @ Q B@. 3 8 P @ 4 B KḂ N -O ( = E M C 8B2 1K 3 1K 3 J R B 1 CB B 4 C 8B2 1K 3 R J : 3 1 @I S 8 B P KC1 C 8B2 1K 3 R J B 4 L O K1 @ B Q 38 C1 O34 3 4 12 N -. ( = E M N ;,) : U 1B 8 1 T 1B 8 B W @ 4 1 83 2 B @ B O 3 8 P Q 34 B B > -C >? ; V? V N, E?, Z1 3 Y. K1Ḅ4 J U 8 Q1 I 3 9 1 8 G4 @ 4 X1 CB B W C 3 3 4 U 1 8 34 B 1 3 1. 3. : 3 U C1. C 3 B J : B 2 8 B. B 1. B. -Ḅ O? H F? V?,
Locação de veículos atributos (2) : 2 C 8B 1K 3 J N -R > M) F 4 B C1 1 C 34 1. S CB B I 34 C B9 Z1K1 Q B 3 8 P - >,? F) N N, V : 3 : I 3 K J9 3 S CB B B4 C1 8B CB8 B 3 4 8 P -? M F > F : I 3 K J9 3 S CB B B4 C1 8B CB8 B 3 4 8 P N -? N ( : X 3 K C 3 4 9 8 4 3 4 H - N F? G? N (
% Locação de veículos restrições de integridade
% Controle de almoxarifado enunciado (1) % ) ( + - -,,
% Controle de almoxarifado enunciado (2) - -, - - -, - - - -
% Controle de almoxarifado enunciado (3) - - - - - - - - - - -
% Controle de almoxarifado enunciado (4) - - - - - - - -
% Controle de almoxarifado % % % % % % % % %
% Controle de almoxarifado % % % % % % % %