mapeamento entre o modelo conceptual e o modelo...

25
TGD/JLB © 2007-2008 SI – 2007-2008 1 Mapeamento entre o Modelo Conceptual e o Modelo Relacional Conversão de Classes Conversão de Associações e Agregações Conversão de Generalizações 3. Modelação Conceptual de Classes

Upload: vocong

Post on 15-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

TGD/JLB © 2007-2008

SI – 2007-2008 1

Mapeamento entre o Modelo Conceptual e o Modelo Relacional

• Conversão de Classes• Conversão de Associações e Agregações • Conversão de Generalizações

3. Modelação Conceptual de Classes

TGD/JLB © 2007-2008

SI – 2007-2008 2

Conversão de Classes

Cada classe dá origem a uma tabela

Motorista

códigoNaEmpresanomePróprioapelido

Motorista

#motorista códigoNaEmpresa nomePróprio apelido1 DV07 Jorge Sampaio3 J007 Maria Branca4 P235 José Lami5 Y666 Ana Chaves

TGD/JLB © 2007-2008

SI – 2007-2008 3

Conversão de Associações e Agregações

• A implementação de uma associação entre duas ou mais classes num SGBDr pode ou não necessitar de uma tabela independente das tabelas correspondentes a essas classes.

De seguida apresentam-se regras de conversão para os principais tipos de associações utilizadas, havendo normalmente várias opções de implementação, umas mais recomendadas do que outras.

• As regras de conversão para agregações são idênticas às das associações com a mesma multiplicidade, pelo que não se apresentam exemplos.

TGD/JLB © 2007-2008

SI – 2007-2008 4

Conversão de Associações Binárias

EspecificaçãoDeServiço

horaPrevistaDePartidaduraçãoPrevista

ContratoDeServiço

tipoDeTarifainclui

ContratoDeServiço

#contratoDeServiço tipoDeTarifa #especificaçãoDeServiçoIncluída1 Alfa 12 Beta 54 Beta 48 Gama 3

EspecificaçãoDeServiço

#especificaçãoDeServiço horaPrevistaDePartida duraçãoPrevista1 10:00 2:443 15:00 3:234 10:00 5:445 23:23 3:30

TGD/JLB © 2007-2008

SI – 2007-2008 5

ContratoDeServiço

#contratoDeServiço tipoDeTarifa #especificaçãoDeServiço horaPrevistaDePartida duraçãoPrevista1 Alfa 1 10:00 2:442 Beta 5 23:23 3:304 Beta 4 10:00 5:448 Gama 3 15:00 3:23

Opção de conversão não recomendada

EspecificaçãoDeServiço

horaPrevistaDePartidaduraçãoPrevista

ContratoDeServiço

tipoDeTarifainclui

Porquê?

Conversão de Associações Binárias

TGD/JLB © 2007-2008

SI – 2007-2008 6

Conversão de Associações Binárias

EspecificaçãoDeServiço

horaPrevistaDePartidaduraçãoPrevista

ContratoDeServiço

tipoDeTarifainclui

ContratoDeServiço

#contratoDeServiço tipoDeTarifa1 Alfa2 Beta4 Beta8 Gama

EspecificaçãoDeServiço

#especificaçãoDeServiço horaPrevistaDePartida duraçãoPrevista #contrato de serviço1 10:00 02:44 13 15:00 03:23 84 10:00 05:44 45 23:23 03:30 2

Opção de conversão não recomendada

TGD/JLB © 2007-2008

SI – 2007-2008 7

?

TGD/JLB © 2007-2008

SI – 2007-2008 8

Conversão de Associações Binárias

administra

Banco

nomeDoBanco {CC3}siglaDoBanco {CC2}códigoSWIFT {CC1}

ContaBancária

númeroDeConta {CC1}tipoDeContalimiteLevantamento

Banco

#banco nomeDoBanco siglaDoBanco códigoSWIFT22 Banco Português do Atlântico Atlântico 33445533 Banco Comercial Português BCP 77890734 Caixa Geral de Depósitos CGD 333333

ContaBancária

#contaBancária númeroDeConta tipoDeConta limiteLevantamento #bancoQueAdministra910988876 382-98989-210 O 200 34910988878 12120009-32 O 100 34910988880 AA23347800 O 50 22910988881 334-00899-230 H 34

TGD/JLB © 2007-2008

SI – 2007-2008 9

Conversão de Associações Binárias

Qual a diferença em termos de tabelas relacionais?

TGD/JLB © 2007-2008

SI – 2007-2008 10

M otoris ta

#motorista códigoNaEmpresa nomePróprio apelido

Conversão de Associações BináriasViatura

matrículamarcamodelocilindradapotência

podeConduzir

Motorista

códigoNaEmpresanomePróprioapelido

Motorista_podeConduzir_Viatura

#motorista #viatura

Viatura

#viatura matrícula marca modelo cilindrada potência

TGD/JLB © 2007-2008

SI – 2007-2008 11

Valores Nulos são permitidos

Conversão de Associações Unárias

TGD/JLB © 2007-2008

SI – 2007-2008 12

Conversão de Associações Unárias

TGD/JLB © 2007-2008

SI – 2007-2008 13

Conversão de Associações Unárias

TGD/JLB © 2007-2008

SI – 2007-2008 14

classificação

recomendaLivroParaCurso

Curso

códigoCurso

Docente

siglaDocente

Livro

códigoISBN

Conversão de Associações ternárias

Docente

#docente siglaDocente

Curso

#curso códigoCurso

Livro

#livro códigoISBN

RecomendaLivroParaCurso

#docente #curso #livro classificação7 33 1 187 33 2 157 33 3 77 22 1 77 22 3 209 33 1 159 33 3 12

TGD/JLB © 2007-2008

SI – 2007-2008 15

Engenheiro Projecto Livro Notas1 alfa 11011 beta 11022 alfa 21012 beta 21023 delta 11011 delta 2102

Chaves candidatas: (Engenheiro, Projecto)(Engenherio, Livro Notas)(Projecto, Livro Notas)

Conversão de Associações ternárias

TGD/JLB © 2007-2008

SI – 2007-2008 16

Estagiário Projecto Supervisor101 alfa 1101102 alfa 1101102 beta 2101103 beta 2102101 delta 3101104 delta 3101

Chaves candidatas: (Estagiário, Projecto)(Estagiário, Supervisor)

Conversão de Associações ternárias

TGD/JLB © 2007-2008

SI – 2007-2008 17

Funcionário Projecto Local1101 alfa Porto1101 alfa Lisboa2101 beta Lisboa2102 beta Lisboa3101 delta Porto3101 gama Porto

Chaves candidatas: (Funcionário, Local)

Conversão de Associações ternárias

TGD/JLB © 2007-2008

SI – 2007-2008 18

Conversão de Generalizações Exclusivas

Viatura

matrículamarcamodelocilindradapotência

classeDaViatura

Pesado

nEixos

Reboque

nEixostipoAtrelado

Ligeiro

nPassageiros

Viatura

#viatura matrícula marca modelo cilindrada potência classeDaViatura12 12-12-TR Volvo Z707 2002 250 Ligeiro13 13-44-TR Volvo Z704 2002 250 Ligeiro77 22-98-ZR Volvo P4 8000 400 Pesado78 22-99-ZR Volvo X700 2002 200 Ligeiro79 22-12-ZZ Volvo P4 8000 500 Pesado

117 22-12-ZI Renault XPTO Reboque

Ligeiro

#viaturaLigeiro nPassageiros12 513 478 2

Pesado

#viaturaPesado neixos77 879 8

116 12…

Reboque

#viaturaReboque neixos tipoAtrelado101 8 Articulado102 8 Articulado117 12 Longo

TGD/JLB © 2007-2008

SI – 2007-2008 19

Conversão de Generalizações Exclusivas

Viatura

matrículamarcamodelocilindradapotência

classeDaViatura

Pesado

nEixos

Reboque

nEixostipoAtrelado

Ligeiro

nPassageiros

Viatura

#viatura matrícula marca modelo cilindrada potência classeDaViatura neixos tipoAtrelado nPassageiros12 12-12-TR Volvo Z707 2002 250 Ligeiro 413 13-44-TR Volvo Z704 2002 250 Ligeiro 577 22-98-ZR Volvo P4 8000 400 Pesado 878 22-99-ZR Volvo X700 2002 200 Ligeiro 279 22-12-ZZ Volvo P4 8000 500 Pesado 8

Opção de conversão menos recomendada

Porquê?

TGD/JLB © 2007-2008

SI – 2007-2008 20

Estudante

podeSer

Trabalhador DirigenteAssociativo DirigenteSindical Militar

Conversão de Generalizações Inclusivas

Estatutos_Estudante

#estudante podeSer1 Trabalhador1 Militar3 Dirigente Associativo3 Militar5 Militar

Trabalhador

#estudanteTrabalhador

178

DirigenteAssociativo

#estudanteDirigenteAssociativo

31519

DirigenteSindical

#estudanteDirigenteSindical

101145

Militar

#estudanteMilitar

135

Estudante

#estudante Nome1 João

TGD/JLB © 2007-2008

SI – 2007-2008 21

Polygon

HexagonTriangle Rectangle

Person

Head Leg

Não confundir!

Elevator

Express Service

Window

TitleBar ScrollBar Border

TGD/JLB © 2007-2008

SI – 2007-2008 22

M o to ris ta

có d ig o N a E m p re s an o m e P ró p rioa p e lid oo u tro s A p e lid o s

sa lá rio M e n s a lb o n u s A n u a l

V ia tu ra

m a tríc u lam a rcam o d e loc ilin d ra d ap o tê n c ia

p o d e C o n d u z ir

m a trícu lac o n d u to r

c la ss e D a V ia tu ra

E s p e c ific a ç ã o D e S e rv iç o

h o ra P re v is ta D e P a rtid ad u ra ç ã o P re v is ta

P e rió d ic o

fre q u ê n c ia P re v is tad a ta P re v is ta D e In íc iod a ta P re v is ta D e F im

O c a s io n a l

d a ta P re v is ta D e R e a liza ç ã o

re g u la rid a d e D o S e rv iç o

C o n tra to D e S e rv iç o

tip o D e T a rifa

D e p ó s ito D e V ia tu ra# D e p ó s ito D e V ia tu ra

d e p ó s ito B a s e

S e rv iç o

d a ta D e R e a liz a ç ã oh o ra D e P a rtid ad u ra çã o

C lie n te

d e s ig n a ç ã o S o c ia l$ L im ite D e C ré d ito

P e rc u rs o

n o m e

T ra je c to

o rig e md e s tin od is tâ n c ia

{o rd e n a d o }

# T ra je c to

é F o rm a d o P o r

P e s a d o

n E ixo s

R e b o q u e

n E ixo stip o A tre la d o

L ig e iro

n P a s sa g e iro s

in c lu i d á O rig e m

é R e a liz a d o N o

te m O rig e m te m D e s tin o

é P re v is to N o

P e s s o aV e r M o d e lo P e s so a

n e g o c e ia

p o d e P e rte n c e rA

é A s se g u ra d o P o r

u tiliz a

TGD/JLB © 2007-2008

SI – 2007-2008 23

Um empresário de Enoturismo pretende implementar um SI para manter a informação relativa às diversas quintas. De cada uma das quintas é necessário saber o seu nome, morada, número de telefone, email e região onde se situa. Actualmente há duas quintas na região do Douro e uma no Alentejo mas o negócio está em franca expansão. É também considerado importante saber a distância entre as diferentes quintas e o tempo estimado de deslocação. Cada quinta disponibiliza quartos para reserva. De cada quarto é necessário saber a designação, o número de ocupantes máximo, e o número da extensão de telefone. É ainda importante saber as características de cada quarto, isto é, se tem televisão, banheira ou chuveiro, ar condicionado, etc. O preço de um quarto depende da época do ano da estadia. Cada quinta disponibiliza equipamento para os visitantes, por exemplo, piscina, campo de ténis, mesa de bilhar, etc. Para cada tipo de equipamento é necessário definir o preço de utilização (que é o mesmo para todas as quintas), no entanto, alguns são de utilização gratuita. Além disso, são organizadas actividades para os visitantes, como por exemplo, piqueniques, passeios de barco, visitas guiadas à propriedade. Cada tipo de actividade pode ser oferecida nas diferentes quintas, sendo necessário saber o preço por pessoa a que cada quinta propõe a actividade.A principal actividade das quintas é a produção de vinhos de mesa. De cada vinho importa saber em que quinta foi produzido, o nome, ano de produção, uma descrição das suas principais características, o seu teor alcoólico, o preço de venda ao público, a quantidade produzida (em número de garrafas). Éimportante saber a partir de que castas (por exemplo, Sousão, Tinta Roriz ou Touriga Franca) foi cada vinho produzido e as percentagens correspondentes.É ainda necessário manter um registo do pessoal (nome, email e telemóvel) que trabalha nas diferentes quintas e as respectivas funções. Em cada quinta há diversas funções que tem de ser realizadas, como por exemplo realizar uma visita guiada ou exercer as funções de enólogo. Cada elemento do pessoal pode exercer mais do que uma função em cada quinta. Por exemplo, um enólogo pode ser responsável pela produção de duas quintas e além disso ser responsável por conduzir as provas em várias quintas.

TGD/JLB © 2007-2008

SI – 2007-2008 24

-Nome-Morada-Telefone-Email

Quintas

-Nome-Num_ocupantes-Telefone

Quartos

-DesignaçãoCaracterísticas

-DesignaçãoÉpocas Ano

-Designação-Descrição

Actividades

-Nome-Ano-Descrição-Teor alcoólico-Produção-Preço

Vinhos-Designação-Descrição

Castas

-DesignaçãoRegiões

-Designação-Descrição-Preço aluguer

Equipamento

-Nome-Email-Telemóvel

Pessoal

-DesignaçãoFunções

-Preço

-Distância-Tempo Desl.

-%

-Preço

TGD/JLB © 2007-2008

SI – 2007-2008 25

Conclusões

Fase prévia: Identificar e estudar todas as fontes relevantes de conhecimento sobre o sistema, com o objectivo de tipificar os utilizadores e descrever exaustivamente os casos de utilização. Elaborar descrições do contexto e do problema, bem como maquetas de baixa resolução das principais interfaces.

Fase de Modelação de Classes: Classes, Associações, etc.

Fase seguinte: Traduzir o modelo de classes para o modelo do sistema informático mais apropriado a utilizar, por exemplo, obtendo o esquema relacional no caso de se perspectivar a implementação com apoio num SGBDr.