Upload
internet
View
110
Download
4
Embed Size (px)
Citation preview
PROJETO DE BANCO DE DADOSCeça Moraes – Dezembro/2009
Modelagem Conceitual
3
Modelagem Conceitual
O objetivo É:Representar a semântica dainformação, independente deconsiderações de eficiência.
O objetivo NÃO É:Descrever a estrutura do armazenamento do bancode dados.
Um modelo conceitual deve ter: - clareza (facilidade de compreensão) - exatidão
Modelo Semântico (Entidade-Relacionamento)
Modelagem Conceitual
Abordagem Entidade-Relacionamento (ER)
Conjunto de técnicas para construir modelos conceituais de banco de dados Técnica de modelagem de dados mais
difundida e utilizada Criada em 1976, por Peter Chen
4
Modelagem Conceitual
Abordagem Entidade-Relacionamento (ER), Principais Características: Utilização de poucos conceitos
Excelente representação gráfica
Facilidade de compreensão
5
Abordagem E-R
Modelo de dados é representado através de Modelo entidade-relacionamento (Modelo ER)
Modelo ER é representado graficamente Diagrama entidade-relacionamento (DER)
11/04/23
6
Abordagem E-RConceitos Centrais
Entidade Relacionamento Atributo Generalização/especialização Entidade associativa
11/04/23
7
Abordagem E-RConceitos Centrais
Entidade Relacionamento Atributo Generalização/especialização Entidade associativa
11/04/23
8
Entidade
Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no BD
Exemplos: Sistema de informações industrial:
Produtos; tipos de produtos; vendas; compras Sistema de contas correntes:
Clientes; contas correntes; cheques; agências
No DER: Representada através de um retângulo
11/04/23
9
EntidadePropriedades
Entidade isoladamente não diz muito É necessário atribuir propriedades às
entidades Em um modelo ER, propriedades são
especificadas através de: Relacionamentos Atributos Generalizações/especializações
10
11/04/23
Abordagem E-RConceitos Centrais
EntidadeRelacionamento Atributo Generalização/especialização Entidade associativa
11/04/23
11
Relacionamentos
Associações entre entidades sobre as quais deseja-se manter informações no BD
11/04/23
12
RelacionamentosDiagrama de Ocorrências
11/04/23
13
Auto-Relacionamentos
Associação entre uma entidade e ela mesma
11/04/23
14
Auto-relacionamento15
RelacionamentosCardinalidades
Propriedade importante de um relacionamento: Número de ocorrências de uma
entidade que podem estar associadas outra ocorrência de entidade através do relacionamento
Há duas cardinalidades: Máxima Mínima
11/04/23
16
Cardinalidades Máxima e Mínima
11/04/23
17
Exercício 1 Confeccionar um DER que contemple as
seguintes regras: Cada cidade deve ter uma ou mais ruas. Cada rua
deve estar em uma cidade
Cada rua deve ter um ou mais prédios. Cada prédio deve estar em uma rua
Cada prédio pode ter uma ou mais apartamentos. Cada apartamento deve estar em um prédio
Cada apartamento pode ter um ou mais telefones. Cada telefone deve ser de um apartamento
Cada rua deve estar localizada em um bairro. Cada bairro pode ter uma ou mais ruas
11/04/23
18
Exercício 2
Fazer o DER de uma administradora de condomínios de imóveis
Cada condomínio é formados por unidades condominiais
Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades.
Cada unidade pode ser alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades.
11/04/23
19
Abordagem E-RConceitos Centrais
Entidade RelacionamentoAtributo Generalização/especialização Entidade associativa
11/04/23
20
Atributos
Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento
11/04/23
21
AtributosCardinalidades
11/04/23
22
Cardinalidade mínima: Atributo obrigatório (cardinalidade
mínima “1”) Atributo opcional (cardinalidade mínima
“0”) Cardinalidade máxima:
atributo mono-valorado (cardinalidade máxima “1”)
atributo multi-valorado (cardinalidade máxima “n”)
AtributosCardinalidades
11/04/23
23
Mono-valorado
Multi-valorado
Opcional (0,1) (0,n)
Obrigatório
(1,1) (1,n)
AtributosCardinalidades
11/04/23
24
AtributosCardinalidades
11/04/23
25
Atributos de Relacionamento
11/04/23
26
Atributo Identificador
11/04/23
27
Relacionamento Identificador
11/04/23
28
Relacionamento Identificador
11/04/23
29
Abordagem E-RConceitos Centrais
Entidade Relacionamento AtributoGeneralização/especialização
Entidade associativa
11/04/23
30
Generalização / Especialização Atribuir propriedades
particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica
11/04/23
31
Generalização / Especialização
32
Entidade GenéricaEntidade Genérica
Entidade Especializada
Entidade Especializada
Herda as propriedades da
entidade genérica
Herda as propriedades da
entidade genérica
Atributo identificador na
entidade genérica
Atributo identificador na
entidade genérica
Especialização Total
11/04/23
33
Especialização Parcial
11/04/23
34
Abordagem E-RConceitos Centrais
Entidade Relacionamento Atributo Generalização/especializaçãoEntidade associativa
11/04/23
35
Entidade Associativa
Adicionar a informação de que medicamentos foram prescritos em uma consulta
11/04/23
36
Entidade Associativa
11/04/23
37
Entidade Associativa
11/04/23
38
Modelagem Avançada
11/04/23
39
Propriedades do Modelo ER
Modelo ER é um modelo formal
Poder de expressão é limitado
Equivalência entre modelos
11/04/23
40
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
11/04/23
41
Ceça Moraes
42
Poder de expressão limitado
Modelo ER apresenta apenas algumas propriedades de um banco de dados Foi concebido para o projeto da
estrutura de um BD relacional Pouco poderoso para expressar
restrições de integridade (regras de negócio)
Ceça Moraes
43
Limitações do ERExemplo
Ceça Moraes
44
Dois modelos ER diferentes podem ser equivalentes
Modelos equivalentes modelam a mesma realidade
Para fins de projeto de BD, dois modelos ER são equivalentes se: geram o mesmo esquema de BD
Equivalência entre modelos
Ceça Moraes
45
EquivalênciaExemplo
Ceça Moraes
46
EquivalênciaExemplo
Ceça Moraes
47
Atributo x Entidade Relacionada Como deve ser modelada a cor de um
automóvel?
Atributo x Entidade Relacionada Objeto está vinculado a outros objetos
deve ser modelado como entidade Caso contrário
pode ser modelado como atributo Conjunto de valores fixo (domínio fixo)
pode ser modelado como atributo Transações que modificam o objeto
pode ser modelado como entidade
11/04/23
48
Ceça Moraes
49
Deseja-se modelar os clientes de uma organização. Cada cliente possui um identificador, um nome, um endereço e um país. Discuta as vantagens e desvantagens das duas alternativas de modelagem de país:
a) Como atributo da entidade clienteb) Como entidade relacionada a cliente.
Exercício 3
Ceça Moraes
50 Questão: modelar um determinado
objeto (por, exemplo, a categoria funcional de cada empregado de uma empresa) como atributo?
categoria funcional como atributo da entidade EMPREGADO)
ou como uma especialização?cada categoria funcional corresponde a uma
especialização da entidade empregado
Atributo xGeneralização/Especialização
Ceça Moraes
51
Atributo xGeneralização/Especialização
Ceça Moraes
52
Especialização deve ser usada quando as classes especializadas de entidades possuematributosrelacionamentos
Atributo xGeneralização/Especialização
Ceça Moraes
53
Atributo Opcional
Atributos opcionais Podem indicar entidades que são
modelados mais corretamente através de especializações
Exemplo:
Ceça Moraes
54
Atributo Opcional
Ceça Moraes
55
Atributo Multivalorado
É indesejável Não tem boa implementaçã com
SGBD relacional N colunas??!?!
Atributos multivalorados podem induzir a um erro de modelagem Ocultar entidades e relacionamentos em
atributos multivalorados
Ceça Moraes
56
Atributo MultivaloradoEliminação
Exercício 4
Apresente um diagrama ER que modele mais precisamente esta realidade.
11/04/23
57
Ceça Moraes
58
Modelo deve ser livre de redundâncias Modelo deve ser mínimo, não deve
conter conceitos redundantes Tipos de redundância:
Relacionamentos e/ou Atributos redundantes Alternativas
não devem aparecer no modelo ou devem aparecer indicadas como redundantes
BD redundância controlada de dados (melhoria
de performance)
Relacionamentos Redundantes
11/04/23
59
Relacionamentos Redundantes
11/04/23
60
Relacionamentos Redundantes
11/04/23
61
Relacionamentos Redundantes
11/04/23
62
Atributos Redundantes
11/04/23
63
Ceça Moraes
64
Dados temporais dados que mudam ao longo do tempo e para as quais BD mantém histórico
Tipos de dados temporais Atributos cujos valores modificam ao longo do
tempo Relacionamentos que modificam ao longo do tempo
Decisão de modelagem: Manter ou não o histórico
Aspectos Temporais
Ceça Moraes
65
Atributos temporais
Ceça Moraes
66
Relacionamento 1:1 temporal
Ceça Moraes
67
Relacionamento 1:n temporal
Ceça Moraes
68
• No segundo caso o atributo identificador passa a distinguir as inscrições de uma pessoa em um curso (só pode haver uma inscrição por dia)
Relacionamento n:n temporal
Ceça Moraes
69
Muitas vezes, informações referentes ao passado são eliminadas da base de dados
Podem ser necessárias no futuro por motivos legais para realização de auditorias para tomada de decisões
Dados do passado....
Ceça Moraes
70
Peter Chen (acadêmica)
Engenharia de Informações
UML
Merise (notação Européia)
Notações e Variantes do ER
Ceça Moraes
71
Notação Engenharia de Informações
Ceça Moraes
72
subtipoEngenharia de informaçõess de entidades
Ceça Moraes
73
Transformar o modelo ER resultante do Exercício 4 para a notação Engenharia de Informações
Exercício 5
Ceça Moraes
74 O objetivo do trabalho é projetar um sistema de
reservas para uma companhia de aviação. O sistema contará com um banco de dados central, que será acessado por aplicações clientes, rodando tanto dentro da própria companhia, quanto fora dela.
A transação central do sistema é a reserva. Uma reserva é identificada por um código gerado pelo sistema em computador. A reserva é feita para um único passageiro, do qual se conhece apenas o nome. A reserva compreende um conjunto de trechos de vôos, que acontecerão em determinada data/hora. Para cada trecho, a reserva é feita em uma classe (econômica, executiva, etc.).
Reserva de passagens aéreas (1)
Ceça Moraes
75
Reserva de passagens aéreas (2) Um vôo é identificado por um código e possui uma
origem e um destino. Por exemplo, o vôo 595 sai de Porto Alegre com destino a São Paulo. Um vôo é composto de vários trechos, correspondendo às escalas intermediárias do vôo. Por exemplo, o vôo 595 é composto de dois trechos, um de Porto Alegre a Londrina, o outro de Londrina a São Paulo. Cabe salientar que há cidades que são servidas por vários aeroportos. Por isso, é importante informar ao passageiro que faz a reserva, qual é o aeroporto no qual o vôo passa
Às vezes os clientes, ao fazer a reserva querem saber qual é o tipo de aeronave que será utilizada em determinado trecho de vôo. Alguns poucos vôos, principalmente internacionais, têm troca de aeronave em determinadas escalas.
Ceça Moraes
76
Nem todos vôos operam em todos dias de semana. Inclusive, certos vôos têm pequenas mudanças de horário em certos dias da semana.
Cada reserva possui um prazo de validade. Caso os bilhetes não tenham sido emitidos, até esgotar-se o prazo da reserva, a mesma é cancelada. Reservas podem ser prorrogadas.
Reserva de passagens aéreas (3)
Ceça Moraes
77
Reserva de passagens aéreas (4) Como o “check-in” de todos os vôos está
informatizado, a companhia possibilita a reserva de assento para o passageiro. Reservas de assento podem ser feitas com até três meses de antecedência
Além de efetivar reservas, o sistema deve servir para vários tipos de consultas que os clientes podem querer fazer: possibilidades de viagem de uma cidade ou de um
aeroporto para outro o mesmo, mas restrito a determinados dias da semana horários de chegada ou de saída em determinados vôos disponibilidade de vagas em um trecho de vôo
Ceça Moraes
78
Entidades:COMPANHIA, RESERVA, PASSAGEIRO, TRECHO, VOO, CIDADE, AEROPORTO, TIPO-AERONAVE, HORARIO, ASSENTO
Não foi criada uma entidade Passageiro para as pessoas que efetivaram a reserva Apenas o nome = atributo da reserva problema de homônimos
Reserva de passagens aéreasentidades
Ceça Moraes
79
Reserva de Passagens Aéreasrelacionamentos
Ceça Moraes
80
Reserva de Passagens AéreasAtributos e Identificadores
RESERVA: codigo reserva, passageiro,prazoVOO: númeroTRECHO: ()AEROPORTO: código, nomeCIDADE:código, nome, paísTIPO AERONAVE: código, descriçãoHORARIO: dia semana, horário partida,
horário chegadaASSENTO: número,classeRESERVA-TRECHO: data
Ceça Moraes
81
Uma reserva de trecho somente pode ser realizada caso existam vagas no trecho em questão na data em questão.
Uma reserva para um assento somente pode ser feita, se o assento em questão existir no tipo de aeronave utilizada no trecho de vôo em questão.
Reserva de Passagens AéreasRestrições de Integridade
Ceça Moraes
82
Reserva de Passagens Aéreas Redundância e Performance
Observação geral solução adotada é conceitual não inclui redundâncias de dados
que objetivem melhorar a performance
não contém atributos redundantes
Referências
Projeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 2 e 3
11/04/23
83