83
PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Embed Size (px)

Citation preview

Page 1: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

PROJETO DE BANCO DE DADOSCeça Moraes – Dezembro/2009

Page 2: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Modelagem Conceitual

Page 3: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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)

Page 4: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 5: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Modelagem Conceitual

Abordagem Entidade-Relacionamento (ER), Principais Características: Utilização de poucos conceitos

Excelente representação gráfica

Facilidade de compreensão

5

Page 6: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 7: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

Entidade Relacionamento Atributo Generalização/especialização Entidade associativa

11/04/23

7

Page 8: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

Entidade Relacionamento Atributo Generalização/especialização Entidade associativa

11/04/23

8

Page 9: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 10: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 11: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

EntidadeRelacionamento Atributo Generalização/especialização Entidade associativa

11/04/23

11

Page 12: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamentos

Associações entre entidades sobre as quais deseja-se manter informações no BD

11/04/23

12

Page 13: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

RelacionamentosDiagrama de Ocorrências

11/04/23

13

Page 14: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Auto-Relacionamentos

Associação entre uma entidade e ela mesma

11/04/23

14

Page 15: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Auto-relacionamento15

Page 16: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 17: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Cardinalidades Máxima e Mínima

11/04/23

17

Page 18: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 19: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 20: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

Entidade RelacionamentoAtributo Generalização/especialização Entidade associativa

11/04/23

20

Page 21: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Atributos

Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento

11/04/23

21

Page 22: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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”)

Page 23: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

AtributosCardinalidades

11/04/23

23

Mono-valorado

Multi-valorado

Opcional (0,1) (0,n)

Obrigatório

(1,1) (1,n)

Page 24: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

AtributosCardinalidades

11/04/23

24

Page 25: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

AtributosCardinalidades

11/04/23

25

Page 26: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Atributos de Relacionamento

11/04/23

26

Page 27: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Atributo Identificador

11/04/23

27

Page 28: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamento Identificador

11/04/23

28

Page 29: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamento Identificador

11/04/23

29

Page 30: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

Entidade Relacionamento AtributoGeneralização/especialização

Entidade associativa

11/04/23

30

Page 31: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Generalização / Especialização Atribuir propriedades

particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica

11/04/23

31

Page 32: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 33: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Especialização Total

11/04/23

33

Page 34: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Especialização Parcial

11/04/23

34

Page 35: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Abordagem E-RConceitos Centrais

Entidade Relacionamento Atributo Generalização/especializaçãoEntidade associativa

11/04/23

35

Page 36: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Entidade Associativa

Adicionar a informação de que medicamentos foram prescritos em uma consulta

11/04/23

36

Page 37: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Entidade Associativa

11/04/23

37

Page 38: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Entidade Associativa

11/04/23

38

Page 39: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Modelagem Avançada

11/04/23

39

Page 40: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Propriedades do Modelo ER

Modelo ER é um modelo formal

Poder de expressão é limitado

Equivalência entre modelos

11/04/23

40

Page 41: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 42: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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)

Page 43: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

43

Limitações do ERExemplo

Page 44: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 45: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

45

EquivalênciaExemplo

Page 46: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

46

EquivalênciaExemplo

Page 47: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

47

Atributo x Entidade Relacionada Como deve ser modelada a cor de um

automóvel?

Page 48: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 49: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 50: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 51: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

51

Atributo xGeneralização/Especialização

Page 52: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

52

Especialização deve ser usada quando as classes especializadas de entidades possuematributosrelacionamentos

Atributo xGeneralização/Especialização

Page 53: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

53

Atributo Opcional

Atributos opcionais Podem indicar entidades que são

modelados mais corretamente através de especializações

Exemplo:

Page 54: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

54

Atributo Opcional

Page 55: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 56: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

56

Atributo MultivaloradoEliminação

Page 57: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Exercício 4

Apresente um diagrama ER que modele mais precisamente esta realidade.

11/04/23

57

Page 58: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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)

Page 59: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamentos Redundantes

11/04/23

59

Page 60: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamentos Redundantes

11/04/23

60

Page 61: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamentos Redundantes

11/04/23

61

Page 62: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Relacionamentos Redundantes

11/04/23

62

Page 63: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Atributos Redundantes

11/04/23

63

Page 64: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 65: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

65

Atributos temporais

Page 66: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

66

Relacionamento 1:1 temporal

Page 67: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

67

Relacionamento 1:n temporal

Page 68: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 69: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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....

Page 70: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

70

Peter Chen (acadêmica)

Engenharia de Informações

UML

Merise (notação Européia)

Notações e Variantes do ER

Page 71: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

71

Notação Engenharia de Informações

Page 72: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

72

subtipoEngenharia de informaçõess de entidades

Page 73: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

73

Transformar o modelo ER resultante do Exercício 4 para a notação Engenharia de Informações

Exercício 5

Page 74: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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)

Page 75: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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.

Page 76: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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)

Page 77: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 78: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 79: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Ceça Moraes

79

Reserva de Passagens Aéreasrelacionamentos

Page 80: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 81: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 82: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

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

Page 83: PROJETO DE BANCO DE DADOS Ceça Moraes – Dezembro/2009

Referências

Projeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 2 e 3

11/04/23

83