• Nenhum resultado encontrado

Construindo modelos ER. Capítulo 3

N/A
N/A
Protected

Academic year: 2021

Share "Construindo modelos ER. Capítulo 3"

Copied!
86
0
0

Texto

(1)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

1

Construindo modelos ER

(2)

Construindo modelos ER

• Conselhos práticos

• Heurísticas

• Notações alternativas

(3)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

3

Propriedades de modelos ER

• Modelo ER é um modelo formal

• Poder de expressão é limitado

• Eqüivalência entre modelos

(4)

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.

(5)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

5

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

(6)

Poder de expressão - exemplo

PESSOA

CASAMENTO

marido

esposa

p1

p8

p7

p5

p6

p4

p3

p2

p1,p3

p6,p8

m

e

p3,p6

m

m

p5,p5

1

1

e

e

e

m

(7)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

7

Poder de expressão limitado - exemplo

e1

e8

e7

e5

e6

e4

e3

e2

e1,e3

e3,e5

EMPREGADO

SUPERVISÃO

1

n

supervisor supervisionado

super-visor

super-

visionado

super-visor

super-

visionado

e1,e2

e3,e4

e5,e1

super-visor

super-visionado

(8)

Exercício 3.1

Relacionamento que

associa um produto de uma

indústria com seus

componentes (em inglês,

“bill-of-materials”)

Restrição que deve ser

imposta

=

um produto não pode

aparecer na lista de seus

componentes

PRODUTO

COMPOSIÇÃO

n

n

(9)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

9

Exercício 3.1

(continuação)

Pergunta-se:

-O modelo apresentado na figura contém

esta restrição?

-Caso negativo, é possível alterar o modelo

em questão para incluir esta restrição, se

considerarmos que o nível de profundidade

da hierarquia de composição de cada

produto não excede três (tem-se apenas

produtos prontos, produtos semi-acabados

e matérias-primas)? Caso afirmativo,

apresente a solução.

-É possível estender a solução do quesito

anterior para uma hierarquia não limitada

de níveis de composição?

PRODUTO

COMPOSIÇÃO

n

n

(10)

Eqüivalência entre modelos

• Dois modelos ER diferentes podem ser

equivalentes

• Modelos equivalentes

– expressam o mesmo

– modelam a mesma realidade

• Para fins de projeto de BD, dois modelos ER são

equivalentes

– geram o mesmo esquema de BD

• Considerar um conjunto de regras de tradução de

(11)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

11

Exemplo de eqüivalência entre

modelos

nome

MÉDICO

(1,n)

CONSULTA

(0,n)

PACIENTE

código

nome

data/hora

código

(12)

Modelo equivalente

(1,n)

(0,n)

MÉDICO

código nome

CONSULTA

data/hora

PACIENTE

nome

código

(1,1)

(1,1)

(13)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

13

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:

– as entidades que originalmente participavam do

relacionamento

– os atributos que eram identificadores do

relacionamento original (caso o relacionamento

original tivesse atributos identificadores)

(14)

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.

(15)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

15

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

– excluem o uso de relacionamentos n:n

– excluem apenas o uso de relacionamentos n:n com

atributos

• Exemplo:

– várias abordagens baseadas na Engenharia de

(16)

Identificando construções

• Determinação da construção da abordagem ER

(entidade, relacionamento,...) que será usada para

modelar um objeto de uma realidade

– não pode ser feita através da observação do objeto

isoladamente

– é necessário conhecer o contexto (modelo dentro

(17)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

17

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.

(18)

Atributo versus entidade relacionada

AUTOMÓVEL

cor

AUTOMÓVEL

COR

(1,1)

(0,n)

ou

(19)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

19

Atributo versus entidade relacionada

critérios (1)

• Objeto está vinculado a outros objetos

– deve ser modelado como entidade

• Caso contrário

(20)

Atributo versus entidade relacionada

critérios (2)

• Conjunto de valores de um determinado objeto é

fixo (domínio

fixo

)

– pode ser modelado como

atributo

• Existem transações no sistema que alteram o

conjunto de valores do objeto (domínio

variável

)

(21)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

21

Exercício 3.2

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 cliente

b) Como entidade relacionada a cliente.

(22)

Atributo versus

generalização/especialização

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

(23)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

23

Atributo versus

generalização/especialização

• Especialização deve ser usada quando

– as classes especializadas de entidades possuem

propriedades particulares:

atributos

relacionamentos

(24)

Atributo versus

generalização/especialização

EMPREGADO

categoria

funcional

nome

código

EMPREGADO

nome

código

MOTORISTA

ENGENHEIRO

CREA

número da

carteira de

habilitação

data de

expiração da

carteira de

habilitação

t

(25)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

25

Atributo opcional

• Atributo opcional

– Podem indicar subconjuntos de entidades que são

modelados mais corretamente através de

especializações

• Exemplo

EMPREGADO

tipo de

empregado

nome

CREA

(0,1)

CRM

(0,1)

número da carteira

de habilitação (0,1)

data de expiração da

carteira de habilitação (0,1)

código

(26)

Atributo opcional

EMPREGADO

tipo de

empregado

nome

CREA

(0,1)

CRM

(0,1)

número da carteira

de habilitação (0,1)

data de expiração da

carteira de habilitação (0,1)

código

EMPREGADO

nome

código

MOTORISTA

ENGENHEIRO

CREA

número da

carteira de

habilitação

data de

expiração da

carteira de

habilitação

t

MÉDICO

CRM

(27)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

27

Atributo multivalorado é indesejável

• SGBD relacional que segue o padrão SQL/2:

– Atributo multivalorado não possui implementação

direta

• SGBD OO ou objeto/relacional:

– Atributo multi-valorado normalmente é modelado

como classe separada

• Atributos multivalorados podem induzir a um erro

de modelagem

– Ocultar entidades e relacionamentos em atributos

(28)

Atributo multivalorado

eliminação

EMPREGADO

lançamento pagamento (0,n)

dependente (0,n)

nome

nome

EMPREGADO

LANÇAMENTO

PAGAMENTO

DEPENDENTE

(0,n)

(1,1)

(0,n)

(1,1)

TIPO

LANÇAMENTO

(1,1)

(0,n)

valor

nome

data de

nascimento

código

descrição

(29)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

29

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

CLIENTE

sexo (0,1)

nome (0,1)

CIC

(0,1)

CGC

(0,1)

razão social

(0,1)

data de nascimento (0,1)

código

telefone (0,n)

(30)

Verificação do modelo

• Modelo deve ser correto

• Modelo deve ser completo

(31)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

31

Modelo deve ser correto

• Erros

– sintáticos

– semânticos

• Erros semânticos mais difíceis de verificar

(32)

Exemplos de erros semânticos

• Estabelecer associações incorretas.

– associar a uma entidade um atributo que na

realidade pertence a outra entidade

• Usar uma entidade como atributo de outra

entidade

• Usar o número incorreto de entidades em um

relacionamento.

– fundir em um único relacionamento ternário dois

(33)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

33

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

(34)

Verificação de completitude

• Forma de verificar

– dados que devem ser obtidos do banco de dados

estão presentes?

– todas as transações de modificação do banco de

dados podem ser executadas sobre o modelo?

• Requisito é aparentemente conflitante com a falta

(35)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

35

Modelo deve ser livre de redundâncias

• Modelo deve ser mínimo, isto é não deve conter

conceitos redundantes

• Tipos de redundância

– Relacionamentos

redundantes

(36)

O que fazer com construções

redundantes?

• Alternativas

– não devem aparecer no modelo ou

– devem aparecer indicadas como redundantes

• Implementação

pode conter

redundância

controlada

de dados (performance)

(37)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

37

Relacionamentos redundantes

FÁBRICA

DEPTO

EMPREGADO

TRABALHO

MÁQUINA

LOCALIZAÇÃO

DEPTO

ASSOCIAÇÃO

SINDICATO

LOCALIZAÇÃO

FÁBR

ATUAÇÃO

(0,n)

(0,n)

(0,n)

(1,1)

(1,1)

(0,n)

(0,n)

(0,n)

(0,n)

(1,1)

(1,1)

(0,1)

(0,n)

(0,n)

F-D

D-E

(38)

Atributos redundantes ou deriváveis

DEPARTAMENTO

(1,1)

LOTAÇÃO

n

EMPREGADO

nº de empregados

CÓDIGO

(39)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

39

Modelo deve refletir o aspecto

temporal

• 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

(40)

Atributos temporais

data

valor

salário

EMPREGADO

SALÁRIO

(1,1)

(0,n)

EMPREGADO

(a)

(b)

Banco de dados contém

apenas o salário atual

Banco de dados contém

a história dos salários

(41)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

41

Relacionamento 1:1 temporal

MESA

1

1

ALOCAÇÃO

EMPREGADO

(a)

Base de dados

contém apenas a

alocação atual

(b)

Base de dados

contém a história das

alocações

EMPREGADO

n

n

MESA

ALOCAÇÃO

data

(42)

Relacionamento 1:n temporal

DEPARTAMENTO

1

n

LOTAÇÃO

EMPREGADO

(a)

(b)

Base de dados contém

apenas a lotação atual

Base de dados contém

a história das lotações

EMPREGADO

n

n

LOTAÇÃO

data

DEPARTAMENTO

nº documento

de lotação

nº documento

de lotação

nome

nome

(43)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

43

Relacionamento n:n temporal

CURSO

n

n

INSCRIÇÃO

PARTICIPANTE

(a)

(b)

Base de dados contém

apenas a inscrição atual

Base de dados contém

a história das inscrições

PARTICIPANTE

n

n

data

CURSO

INSCRIÇÃO

data

(44)

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

– por motivos legais

– para realização de auditorias

– para tomada de decisões

(45)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

45

Dados referentes ao passado

planejar arquivamento

• Solução que poderia ser considerada

– reincluir as informações no banco de dados,

quando elas forem necessárias

– problema: restrições de integridade referencial

• Planejar informações estatísticas

– Quando informações antigas são necessárias

apenas para tomada de decisões

– Pode ser conveniente manter no banco de dados

informações compiladas e eliminar as informações

usadas na compilação

(46)

Entidade isolada

• Caso raro, mas não incorreto

• Entidade que muitas vezes aparece isolada

• Caso típico

– Entidade que modela a organização na qual o

(47)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

47

Entidade isolada

exemplo

– Exemplo: BD de uma universidade

– A entidade UNIVERSIDADE pode ser necessária,

caso se deseje manter no BD alguns atributos da

universidade

– O modelo não deveria conter o relacionamento

desta entidade com outras, como ALUNO ou

CURSO

• BD modela uma única universidade

• não é necessário informar no BD em que

universidade o aluno está inscrito ou a qual

universidade o curso pertence

(48)

Estabelecimento de padrões

• Modelos de dados são usados para comunicação

– com pessoas da organização

– com programas (ferramentas CASE, geradores de

código,…)

• É necessário estabelecer padrões de confecção

de modelos

• Na prática e na literatura

– Muitas variantes de modelo ER

– Variantes em

• sintaxe

• semântica

(49)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

49

Variantes de modelos ER

• Peter Chen (acadêmica)

• Engenharia de Informações

• UML

(50)

Notação Engenharia de Informações

DEPARTAMENTO

LOTAÇÃO

EMPREGADO

(0,n)

(1,1)

DEPARTAMENTO

tem lotado

EMPREGADO

está lotado em

Notação para cardinalidade máxima e mínima:

Cardinalidade (mínima, máxima) 1

Cardinalidade mínima 0

Cardinalidade máxima n

(51)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

51

Notação Engenharia de Informações

• Relacionamentos representados por linha

• Conseqüências:

– apenas relacionamentos binários

– atributos aparecem exclusivamente em entidades

• Denominação de relacionamento na forma de

verbo

– DEPARTAMENTO tem lotado EMPREGADO

(52)

Notação Engenharia de Informações

• Notação para cardinalidade máxima e mínima é

gráfica

• Generalização/especialização é chamada de

subconjunto (subtipo) de entidades

– representada através do aninhamento dos

(53)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

53

Engenharia de informações

subtipos de entidades

EMPREGADO

DEPARTAMENTO

GERENTE

SECRETÁRIA

ENGENHEIRO

PROCESSADOR

DE TEXTOS

tem lotado

está lotado em

gerencia

é gerenciado por

PROJETO

está alocado em

tem alocado

é dominado por

domina

(54)

Exercício 3.4

• Transformar o modelo ER resultante do Exercício

(55)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

55

Notação MERISE

DEPARTAMENTO

LOTAÇÃO

EMPREGADO

(0,n)

(1,1)

(56)

Uso de ferramentas de modelagem

• Diagrama ER não deve ser confeccionado

manualmente

– muito trabalhoso

– revisões são freqüentes

– diagramas feitos à mão não são atualizados,

quando de alterações do esquema

• Recomendável que seja usada uma ferramenta

em computador para apoio à modelagem

• Alternativas:

– Uso de uma ferramenta CASE

(57)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

57

Estratégias de modelagem

• Estratégia de modelagem ER

– uma seqüência de passos (uma “receita-de-bolo”)

de transformação de modelos desde o modelo

inicial de modelagem até o final

• Diferentes estratégias

Bottom-up

Top-down

Inside-out

(58)

Definição da estratégia de modelagem

• Na prática

– Nenhuma das estratégias propostas na literatura é

universalmente aceita

• Normal

– Combinação das diversas estratégias de

modelagem

• Compreensível

– Processo de modelagem é um

processo de

aprendizagem

(59)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

59

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

– estratégia bottom-up

• Conhecimento de pessoas

sobre o sistema

(60)

Estratégia “top-down”

• Partir de conceitos mais abstratos (“de cima”)

• Ir gradativamente refinando estes conceitos em

(61)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

61

Estratégia “top-down”

processo (1)

• Modelagem superficial

– Enumeração das

entidades

– Identificação dos

relacionamentos

(cardinalidade

máxima) e hierarquias de

generalização/especialização

entre as entidades.

– Determinação dos

atributos

de entidades e

relacionamentos.

– Determinação dos

identificadores

de entidades e

relacionamentos.

– O banco de dados é verificado quanto ao

aspecto

temporal

(62)

Estratégia “top-down”

processo (2)

• Modelagem detalhada

– Domínios

dos atributos.

– Cardinalidades mínimas

– Demais restrições

de integridade.

• Validação do modelo

– Construções

redundantes

ou deriváveis a partir de

outras no modelo.

(63)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

63

Estratégia

“inside-out”

EMPREGADO

DEPARTAMENTO

GERENTE

SECRETÁRIA

ENGENHEIRO

PROCESSADOR

DE TEXTOS

PROJETO

DOMÍNIO

PARTICIPAÇÃO

LOTAÇÃO

tipo de

empregado

nome

CREA

CIC

(1,1)

(0,n)

(1,n)

(0,n)

(0,n)

(0,n)

GERÊNCIA

(1,n)

(0,1)

p

(64)

Reserva de passagens aéreas (1)

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

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.

(65)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

65

Reserva de passagens aéreas (2)

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

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.

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

(66)

Reserva de passagens aéreas

entidades

Entidades:

COMPANHIA, RESERVA, PASSAGEIRO, TRECHO, VOO,

CIDADE, AEROPORTO, TIPO-AERONAVE, HORARIO,

ASSENTO

Não foi criada uma entidade

pessoas que efetivaram a reserva

problema de homônimos

(67)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

67

Reserva de passagens aéreas

relacionamentos

RESERVA

CIDADE

(1,1)

(0,n)

(O,n)

TRECHO

AEROPORTO

VOO

(1,n)

origem

destino

HORÁRIO

TIPOAERONAVE

ASSENTO

(1,1)

(0,n) (0,n)

(0,n)

(0,n)

(1,1)

(0,n)

(0,n)

(0,n)

(1,1)

(0,n)

(1,1)

(1,1)

(1,1)

(1,1)

RES-TRCH

(68)

Reserva de passagens aéreas

atributos e identificadores

RESERVA (codigo reserva, passageiro,prazo)

VOO (número)

TRECHO ()

AEROPORTO (código, nome)

CIDADE (código, nome, país)

TIPO AERONAVE (código, descrição)

HORARIO (dia semana, horário partida, horário chegada)

ASSENTO (número,classe)

(69)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

69

Reserva de passagens aéreas

restrições de integridade

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

(70)

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 atributos redundantes

• número de vagas em um trecho de vôo, em uma data,

inclusive discriminado por classe

• criar entidade TRECHO-DIA

• etapa de projeto

(71)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

71

Locação de veículos

enunciado (1)

O objetivo deste estudo de caso é construir um modelo ER para o BD de

uma empresa de locação de veículos. A empresa em questão aluga

automóveis, camionetas de passageiros e camionetas de carga.

Ela atende a dois mercados, o das pessoas físicas e o das pessoas

jurídicas. Para acelerar o atendimento, é importante conhecer os dados de

clientes que já tenham usado a locadora no passado. Para cada pessoa

física é necessário conhecer seu nome, sexo, data de nascimento,

endereço e CIC. Já para as pessoas jurídicas é necessário conhecer seu

nome, CGC, inscrição estadual e endereço. Os clientes são identificados

por um código interno a locadora.

A empresa tem uma grande rede de filiais, espalhada pelo sul do país. Em

um momento no tempo, um veículo encontra-se sob responsabilidade de

uma filial. Entretanto, como veículos podem ser alugados para viagens em

um sentido somente, eles podem mudar de filial. Um veículo é identificado

pela sua placa. Além disso, é necessário conhecer o número do chassis, o

número do motor, o tipo de veículo e a cor de cada veículo.

(72)

Locação de veículos

enunciado(2)

O sistema em computador deverá registrar:

•os veículos disponíveis em determinada filial na data corrente,

•as reservas para veículos em uma filial, com previsão de que veículos estarão

disponíveis em uma data futura,

•os veículos presentemente alugados pela filial, o ponto de entrega (caso seja

diferente do de locação) e data de entrega prevista.

Os veículos são classificados por uma tabela de tipos. Por exemplo, P3

corresponde a automóveis pequenos, de quatro portas e com ar-condicionado

e G4 a grandes automóveis de luxo. As reservas não são feitas para uma

marca ou modelo de veículo, mas para um tipo de veículo.

Para tipos de automóveis, os clientes desejam saber o tamanho, classificado

em pequeno, médio e grande, o número de passageiros, o número de portas,

bem como se possui os seguintes acessórios: ar-condicionado, rádio,

toca-fitas, CD, direção hidráulica e câmbio automático. Para tipos de camionetas de

passageiros, as informações são as mesmas que para automóveis. Já para

tipos de camionetas de carga, as informações acima não são relevantes.

Neste caso, os clientes desejam saber a capacidade de carga da camioneta.

(73)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

73

Locação de veículos

enunciado(3)

Para cada tipo de veículo, há um determinado número de horas necessário

para limpeza e revisão de entrega, entre uma reserva e outra.

Além disso, o sistema deve programar as revisões dos veículos, impedindo

que sejam reservados quando há revisões pendentes. Esta programação é

feita com base em um conjunto de parâmetros que são a quilometragem

atual do veículo, a quilometragem média diária de um veículo do tipo, bem

como em uma tabela de revisões do tipo de veículo.

A seguradora que segura os veículos, exige que, para cada veículo

alugado, seja mantida a identificação do motorista, o número de sua

habilitação e data de vencimento da mesma. A habilitação não pode vencer

dentro do prazo da locação.

(74)

Locação de veículos

entidades

Primeira leitura:

LOCADORA, TIPO AUTOM OU CAMIONETA PASS, TIPO

CAMIONETA CARGA, VEÍCULO, PESSOA FÍSICA, PESSOA

JURÍDICA e FILIAL

Além destas

RESERVA e LOCAÇÃO para manter informações sobre as

duas transações centrais da locadora

(75)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

75

Locação de veículos

entidades

Há atributos e relacionamentos comuns às entidades

– TIPO AUTOM OU CAMIONETA PASS

– TIPO CAMIONETA CARGA

– Usada uma generalização das três entidades (TIPO

VEÍCULO)

Mesmo para PESSOA FÍSICA e PESSOA JURÍDICA

– CLIENTE

Entidade REVISÃO

– revisões: informação multi-valorada

– não é atributo de TIPO VEÍCULO

(76)

Locação de veículos

entidades

MOTORISTA armazena informações sobre a habilitação do

motorista

– não foram colocadas em CLIENTE

– cliente pessoa jurídica pode ter diferentes motoristas

cadastrados.

(77)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

77

Locação de veículos

relacionamentos

P JURÍDICA

LOCAÇÃO

(1,1)

TIPO VEÍCULO

T AUTOM

CAM PASS

CLIENTE

(1,1))

P FÍSICA

FILIAL

MOTORISTA

(0,n)

(0,n)

(1,1)

(0,n) (0,n)

(0,n)

(0,1)

T CAM CARGA

LOCADORA

REVISÃO

VEÍCULO

RESERVA

dest

org

(0,n)

(0,n)

(1,1)

dest

(1,1)

(1,1)

(1,1)

(0,n)

(1,1))

(1,n)

(0,n)

(1, 1)

(0,n)

(1,1))

(78)

Locação de veículos

atributos (1)

CLIENTE (código, nome, endereço)

P FÍSICA (sexo, data nascimento, CIC)

P JURÍDICA (CGC, inscrição estadual)

FILIAL (código, localização)

VEÍCULO (placas, número chassis, número motor, cor, quilometragem,

data medida quilometragem, quilometragem última revisão)

TIPO VEÍCULO (código, tipo, horas limpeza, quilometragem média

diária)

T AUTOM CAM PASS (tamanho, número passageiros,

ar-condicionado, rádio, toda-fitas, CD, direção hidráulica, câmbio

automático)

(79)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

79

Locação de veículos

atributos (2)

REVISÃO (quilometragem)

MOTORISTA (número habilitação, data vencimento, identidade, nome)

RESERVA (número, data retirada, data devolução)

LOCAÇÃO (número, data retirada, data devolução)

LOCADORA (CGC, nome, endereço, telefone)

(80)

Locação de veículos

restrições de integridade

A habilitação de um motorista não pode vencer durante o

período previsto para a locação

Um veículo cuja quilometragem exceda a quilometragem de sua

próxima revisão não pode ser locado

Para um cliente pessoa física somente deve haver um motorista

cadastrado. Neste caso, não deve ser informado o nome do

motorista, já que ele é a própria pessoa física

Somente pode ser feita uma reserva caso existam veículos do

tipo previstos para estarem disponíveis na filial de origem na

data da reserva

Uma locação para a qual não tenha sido feita reserva somente

pode ocorrer na mesma condição acima

(81)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

81

Controle de almoxarifado

enunciado (1)

O enunciado deste trabalho foi adaptado de um livro de Peter Coad sobre projeto

orientado a objetos.

O almoxarifado pertence a um grupo de empresas do ramo industrial e serve para

estocar peças destinadas às várias empresas do grupo. Cada empresa do grupo é

considerada um cliente do almoxarifado.

O almoxarifado está organizado em corredores. Cada corredor possui vários

receptáculos para peças (um receptáculo é uma bacia retangular de material

plástico). Os receptáculos são todos do mesmo tamanho. Os corredores são

numerados e os receptáculos são numerados por corredor. Por exemplo, o

receptáculo 2-10 é o décimo receptáculo do segundo corredor.

Em uma das extremidades do almoxarifado encontra-se o setor de recepção de

peças. Lá chegam as peças entregues pelos fornecedores. Quando ocorre a

chegada de peças, a primeira atividade é registrar na ordem de compra a chegada

das peças. Uma cópia de toda ordem de compra é sempre enviada ao setor de

recepção. Assim, neste setor sempre sabe-se quais as peças que estão por ser

entregues. As ordens de compra são geradas no setor de compras e apenas

repassadas ao almoxarifado.

(82)

Controle de almoxarifado

enunciado (2)

Uma entrega corresponde sempre a uma ordem de compra. Entretanto, são

admitidas entregas parciais, isto é, entregas que não completam a ordem de

compra. Em uma entrega podem ser entregues diferentes quantidades de

diferentes peças.

As peças recebidas são colocadas sobre um estrado. Este estrado é então levado

para o almoxarifado por uma empilhadeira e as peças são distribuídas nos

receptáculos. Um estrado pode conter diferentes peças. Para cada peça,

procura-se um receptáculo que já contenha unidades da peça em questão e que ainda

tenha espaço para a carga chegada. Caso não haja um receptáculo nestas

condições, procura-se um receptáculo vazio.

A saída do almoxarifado se dá contra pedidos de clientes. Um pedido pode

solicitar vários tipos de peças. Todas peças que atendem um pedido são juntadas,

embaladas e colocadas em uma rampa de carga (numerada) onde encosta o

caminhão do cliente. Não há pedidos pendentes, isto é, os clientes sempre pedem

quantidades de peças que há em estoque.

(83)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

83

Controle de almoxarifado

enunciado (3)

O objetivo do sistema é o de aumentar o lucro do almoxarifado, ajudando sua

equipe a guardar e recuperar itens mais rapidamente e a conhecer as quantidades

estocadas.

O almoxarifado é de grande porte e constantemente há várias empilhadeiras

circulando por ele tanto para estocar entregas quando para buscar peças

referentes a um pedido.

Outros detalhes do sistema são fornecidos a seguir.

O almoxarifado somente atende empresas. É necessário manter um cadastro de

clientes com CGC, nome, endereço e telefone de contato. Para cada peça é

necessário conhecer seu UPC (“Universal Product Code”), descrição e número

interno à organização.

Para cada entrega, o setor de recepção monta uma lista de distribuição, que instrui

o operador sobre que peças, em quantidade ele deve estocar em que

receptáculos.

Para cada pedido, o setor de saída monta uma lista de busca, que instrui o

(84)

Controle de almoxarifado

enunciado (4)

Em termos de processos, é necessário que o sistema processe o seguinte:

Dê as ordens de distribuição de peças chegadas para cada chegada.

Dê as ordens para busca para cada pedido.

Mantenha a quantidade estocada de cada item e de cada receptáculo.

Informe que peças em que quantidade devem ser estocadas ou buscadas em

que receptáculos.

Em termos específicos de transações devem ser consideradas:

Transações de chegada

Registro da chegada de produtos

Instruções para estocagem (em que estrado, em que receptáculos)

Confirmação da estocagem em um receptáculo

Transações de saída de produtos

Registro de um pedido

Geração da lista de busca

Confirmação da busca

(85)

©Carlos A. Heuser

Transparências para uso com o livro Carlos A.Heuser, Projeto de Banco de Dados, Ed. Sagra&Luzzatto, Porto Alegre, 1998

85

Controle

de almoxarifado

ITEM OC

OC

(0,n)

(1,1)

(0,n)

(1,1)

(1,1)

(1,n)

PEÇA

ITEM ENTR

ENTREGA

(0,n)

(1,1)

(1,n)

(1,1)

(0,n)

(1,1)

ITEM DISTR

(0,n)

(0,n)

(1,1)

RECEPT

FORNECEDOR

(1,1)

(0,n)

(0,1)

(86)

Controle

de almoxarifado

PEÇA

RECEPT

CORREDOR

(1,1)

(0,n)

ITEM PED

PEDIDO

(0,n)

(0,n)

(1,1)

(1,1)

(1,n)

(1,1)

(0,n)

(1,1)

ITEM BUSCA

(0,n)

CLIENTE

(1,1)

RAMPA

(1,1)

(0,n)

(0,n)

(0,1)

Referências

Documentos relacionados

Inicialmente foram realizados testes em proporções menores da pirâmide holográfica e também a utilização de materiais similares ao que foi definido para construção do

A variação do pH da fase móvel, utilizando uma coluna C8 e o fluxo de 1,2 mL/min, permitiu o ajuste do tempo de retenção do lupeol em aproximadamente 6,2 minutos contribuindo para

Little e Amyra El Khalili; também foi dissertado sobre a Agroecologia, entendida como um caminho para uma agricultura mais sustentável; sobre a ciência homeopatia e sua aplicação

a) Descrever o conceito e as características físicas básicas da radiação, foi possível demonstrar o conceito de funcionamento da radiação e descrever diversas

Com base na análise do grafo, pode-se inferir que dentro do SBI prevalecem as relações com: o “Governo Fomento” representado pelo DESENBAHIA quando se busca

Este presente artigo é o resultado de um estudo de caso que buscou apresentar o surgimento da atividade turística dentro da favela de Paraisópolis, uma

Todo ser humano é único e, por isso, toda sala de aula é um berço de diversidade. O que os sistemas educacionais fizeram ao longo dos tempos foi homogeneizar o sistema educacional

As principais indicações para a realização foram a suspeita de tuberculose (458 pacientes) e uso de imunobiológicos (380 pacientes).. A maior prevalência de resultado positivo