1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML...

35
1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE

Transcript of 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML...

Page 1: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

1

DIAGRAMA DE CLASSES

MODELO RELACIONAL

PROJETO LÓGICO DE BANCO DE DADOS

ELABORANDO O DIAGRAMA

UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE

Page 2: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

2

I . DIAGRAMA DE CLASSES

Possibilita uma visão estática do sistema

Ao elaborarmos um diagrama de classe devemos f azê-lonuma única perspectiva: conceitual ou de implementação

Na etapa de projeto lógico de banco de dados deve serseguida a perspectiva de implementação.

Page 3: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

3

Resumo:A partir do diagrama de classes elaborado na etapa de Análise ...

... e de outras informações obtidas sobre o sistema, como por exemplo o número de objetos ou instâncias de uma classe (multiplicidade da classe) e a freqüência das operações ...

é elaborado o Projeto Lógico de Banco de Dados.

Departamento

id

nome

Empregado

id

nome

data_contrataçao

perc_comissao

0..10..* 0..10..*

Page 4: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

4

Obs: No diagrama de classes pode ser incluída a multiplicidade da classe

Departamento

idnome

Empregado

idnomedata_contrataçãoperc_comissao

0..10..* 0..10..*

540

20

Multiplicidade da classe

Page 5: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

5

A solução obtida no Projeto Lógico de BD pode ser representada assim: Departamento

Coluna id nome

Tipo da chave (PK,FK)

PK

not null/unique nn/ u nn/ u

Tabela FK

Coluna FK

Tipo NUMBER VARCHAR2

Tamanho 7 25

Empregado

Coluna id nome data_contratacao perc_comissao dep_id

Tipo da chave (PK,FK)

PK FK

not null/unique nn/ u nn nn nn

Tabela FK dep

Coluna FK id

Tipo NUMBER VARCHAR2 DATE NUMBER NUMBER

Tamanho 7 50 4,2 7

Page 6: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

6

Utilizaremos também uma forma mais simples de representar o Projeto Lógico de BD, na qual não são apresentadas algumas das decisões, como tipo e permissão de nulos:

Departamento (id, nome)

Empregado (id, nome, data_contração, perc_comissão, dep_id (FK-Departamento-id))

Sublinhado: chave primária

chave estrangeiranome da tabela

nome da coluna

Page 7: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

7

A solução também pode ser representada através do seguinte diagrama de classes:

DEPARTAMENTO

ID : NUMBERNOME : VARCHAR2DEPARTAMENTO_ID_PK = ID

<<RelationalTable>>EMPREGADO

ID : NUMBERNOME : VARCHAR2DATA_CONTRATACAO : DATEPERC_COMISSAO : NUMBEREMPREGADO_ID_PK = ID

<<RelationalTable>>

DEP_ID = IDDEP_ID = IDEMP_DEP_ID_FK

<<FK>>

Page 8: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

8

I I . MODELO RELACIONAL

O modelo de dados relacional f oi criado porE.F.Codd e se baseia no conceito de tabela.

Um SGBDR (Sistema de Gerência de Banco deDados Relacional) é um programa de computadorcriado com o objetivo de gerenciar essas tabelas.

Page 9: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

9

Um SGBDR, como defi nido por Codd, possui trêspartes principais:

- Dados, que são apresentados como tabelas.

- Operadores para manipulação de tabelas

- Regras de integridade das tabelas

Page 10: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

10

TABELAS

Empregado

id nome data_inicio perc_comissao dep_id

1 Marta Louzada 12/ 01/ 1999 7 1

2 Pedro Borges 14/ 02/ 1999 5

3 Liliane Lisboa 25/ 02/ 1999 5 1

4 Leonel Marques 30/ 02/ 1999 10 2

Departamento

id nome

1 Brinquedos

2 Eletrodomésticos

Linha(tupla)

Coluna (atributo)Nome da tabela

Nulo: permitido porque é possívelque um empregado não esteja alocado aum departamento

Page 11: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

11

Tabela

- Cada tabela é designada por um nome único.

- As tabelas possuem um número específico de colunas e um número arbitráriode linhas.

- As colunas das tabelas são denominadas atributos. Para cada atributo deveser atribuído um domínio.

- Um domínio é um conjunto de valores válidos. Cada valor de uma tabela devepertencer ao domínio do seu atributo ou ser nulo. Nulo significa que o valordo atributo é desconhecido ou não aplicável a uma determinada linha.

- As linhas são denominadas tuplas.

- Um único valor é armazenado em cada interseção coluna - linha.

Page 12: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

12

Operadores de SGBDR

- SQL tornou-se uma linguagem padrão para SGBDR.Possibilita a defi nição de dados, sua manipulação e ocontrole de acesso dos usuários a esses dados.

I ntegridade do SGBDR

- Visa assegurar que mudanças f eitas no BD porusuários autorizados não resultem em dadosinconsistentes.

- Os dois aspectos de integridade no modelo de Coddsão a integridade de entidades e a integridadereferencial.

Page 13: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

13

I ntegridade de entidade

Exige que cada tabela tenha uma chave primária.

A chave primária é a combinação de um ou mais atributos,cujo valor localiza uma única linha em uma tabela.

Departamento

id nome

1 Brinquedos

2 Eletrodomésticos

Chave primária

Page 14: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

14

I ntegridade referencial

Exige que o SGBDR mantenha cada chave estrangeiraconsistente com a chave (primária ou índice único)correspondente.

O atributo de uma tabela que ref erencia uma outra (ou amesma) tabela é chamado de chave estrangeira.

Cada chave estrangeira numa tabela deve ser nula oureferenciar uma chave (primária ou índice único)existente na tabela relacionada.

A ligação entre chave estrangeira e chave primária f ormaum caminho de navegação entre as tabelas.

Page 15: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

15

Chave estrangeiraEmpregado

id nome data_inicio perc_comissao dep_id

1 Marta Louzada 12/ 01/ 1999 7 1

2 Pedro Borges 14/ 02/ 1999 5

3 Liliane Lisboa 25/ 02/ 1999 5 1

4 Leonel Marques 30/ 02/ 1999 10 2

Departamento

id nome

1 Brinquedos

2 Eletrodomésticos

nuloLinha(tupla)

Nome da tabela

Chave primária

Coluna (atributo)

Chave primária

Obs: caso uma chave estrangeira não possa ter valores nulos, é necessário especificar essa condição.

Page 16: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

16

I I I . PROJ ETO LÓGICO DE BANCO DE DADOS

Algumas das atividades a serem realizadas nesta etapaincluem as que são descritas a seguir:

Divisão de classes Seleção de chave primária Mapeamento das classes e associações em tabelas

Page 17: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

17

I I I .1 Divisão de classes

A divisão pode ser:

- Horizontal: quando trata-se de uma divisão deinstâncias

- Vertical: quando trata-se de uma de divisão deatributos

Page 18: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

18

Horizontal

Ex: A classe Reserva é substituída por duas classes. Todos osatributos de Reserva são mantidos em Reserva Antiga e ReservaAtual.Motivo: melhora de desempenho no acesso a Reserva Atual e narealização de back-up

Obs: Esta divisão pode reduzir bastante o tempo de back-up off-line, quedependendo do caso pode até ser diário. Esse back-up seria só de ReservaAtual. (Back-up on-line reduziria o tempo de acesso e assim uma opção étorná-lo off-line. Quanto mais rápido esse back-up off-line, melhor)

Reserva

numdata

Page 19: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

19

Vertical

Ex: A classe Empregado é substituída por duas classes, cadauma recebendo parte dos atributos de Empregado .

Obs: Os SGBDRs permitem a definição de visões diferentes aos diversosgrupos de usuários. Assim, não haveria necessidade de fazer esta divisão.Num caso bem específico, por exemplo, um sistema distribuído em que essastabelas ficassem em servidores diferentes, poderia haver essa indicação

Empregado

CPFnomeendereçotelsalárioavaliação

Page 20: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

20

I I I .2 Seleção de chave primária

Chave primária: a combinação de uma ou mais colunas, cujovalor localiza uma única linha em uma tabela. Assim, não háduas ou mais linhas da tabela com o mesmo valor na colunaou combinação de colunas que f ormam a chave primária.

I ntegridade de entidade: exige que cada tabela tenhaexatamente uma chave primária.

Chaves primárias devem ser escolhidas por serem usadas namaioria dos acessos, devem ser simples e ter tamanhomínimo.

(obs: se f or numérica não precisamos nos preocupar com o tamanho. Mas nocaso de string é bom que tenha tamanho mínimo)

Page 21: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

21

I I I . 3 M a p e a m e n t o d a s c l a s s e s e a s s o c i a ç õ e s e mt a b e l a s

A s s o c i a ç ã o b i n á r i a 1 : 1

O p ç ã o 1 :

C l i e n t e ( i d , n o m e , e n d e r e ç o , n u m e r o C a r t ã o , d a t a _ i n í c i o )

Cliente

nomeendereço

CartãoLoja

numerodata_início

0..11 0..11Sublinhado - chave primária

Page 22: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

22

Opção 2:

Se fosse muito comum clientes não possuírem cartão da lojaentão poderíamos adotar a seguinte solução:

Cliente (id, nome, endereço) CartãoLoja (numero, data_ início, id_Cliente(FK-Cliente-id))

chave estrangeira

Cliente

nomeendereço

CartãoLoja

numerodata_início

0..11 0..11

nome da tabela

nome da coluna

chave primária

Page 23: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

23

A s s o c i a ç ã o b i n á r i a 1 : N

O p ç ã o 1 :

P e d i d o ( i d , d a t a , d e s c r i ç ã o , i d _ v e n d e d o r ( F K - V e n d e d o r - i d ) ) V e n d e d o r ( i d , n o m e , e n d e r e ç o , t e l e f o n e )

Pedido

datadescrição

Vendedor

nomeendereçotelefone10..* 10..*

Page 24: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

24

O p ç ã o 2 :

S e p o r a c a s o u m p e d i d o p u d e s s e s e r e m i t i d o s e mv e n d e d o r e t i v é s s e m o s i n ú m e r o s c a s o s d e s s e t i p o ,p o d e r í a m o s a d o t a r a s e g u i n t e s o l u ç ã o :

P e d i d o ( i d , d a t a , d e s c r i ç ã o ) V e n d e d o r ( i d , n o m e , e n d e r e ç o , t e l e f o n e ) E m i t e P e d i d o ( i d _ p e d i d o ( F K - P e d i d o - i d ) , i d _ v e n d e d o r

( F K - V e n d e d o r - i d ) )

Vendedor

nomeendereçotelefone

Pedido

datadescrição 0..10..* 0..10..*

Page 25: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

25

Associação binária M:N

F uncionár io (id , nome, ender eço, t el) Depar t ament o ( id , local) Lot ação (id_ f unc(F K - F uncionár io- id), id_ dep(F K-

Depar t ament o- id), dat a_ ent r ada, dat a_ saída)

Funcionário

nomeendereçotel

Departamento

local0..*0..*

Lotação

data_entradadata_saída

0..*0..*

Page 26: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

26

C o m p o s i ç ã o

O p ç ã o 1 :

P e d i d o ( i d , d a t a , s t a t u s ) I t e m ( i d _ p e d i d o ( F K - P e d i d o - i d ) , n u m e r o _ i t e m , q u a n t i d a d e ,

i d _ p r o d u t o ( F K - P r o d u t o - i d ) ) P r o d u t o ( i d , n o m e , q u a n t _ e s t o q u e )

Pedido.

datastatus

Item

quantidade1..*

Produto

nomequant_Estoque

10..* 10..*1..*

Page 27: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

27

IV. ELABORANDO O DIAGRAMA DE CLASSES DAETAPA DE PROJ ETO LÓGI CO DE BANCO DEDADOS

1. Considerar o diagrama de classes elaborado na etapade Análise e outras informações obtidas sobre osistema, como o número de objetos de uma classe, af reqüência das operações realizadas e o tipo etamanho dos atributos.

Page 28: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

28

2. Elaborar o projeto lógico de banco dedados, descrevendo as tabelas

COLUNA

Tipo da chave (PK,FK)

not null/ unique

Tabela FK

Coluna FK

Tipo de dados

Tamanho

3. Elaborar o diagrama de classes correspondente

Page 29: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

29

Exemplo:

Elaborando o Projeto Lógico de Banco de Dados do Sistema de controle de pedidos

Obs: Neste exemplo foi considerado apenas o Diagr. de Classes para a elaboração do Projeto.

Page 30: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

30

Item faturadoquantFaturada Livro

isbntítulodescriçãoquantEstoquepreço

prazoMédioEntrega

Item pedidoquantidadePedidapreçoCobrado

1

0..*

1

0..*

ClientecódigoCPFnomeendereçotelefone [0..1]eMail [0..1]

PedidonumPedidodataEmissão

nomePresenteado [0..1]endereçoEntregadataCancelamento [0..1]

status

1..*1..*

1..*1 faz ->

FaturanumFaturadataEmissãodataVencimentovalorPago [0..1]dataPagamento [0..1]

dataPedidoCancelamento [0..1]dataCancelamento [0..1]

status

1..*0..* 1..*0..*

1

0..*

1

0..*

{ Se uma fatura atende a um pedido, necessariamente os itens pedidos ligados à fatura devem ser do pedido ao qual a fatura está relacionada }

Diagrama de classes elaborado com uma perspectiva conceitual:

Page 31: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

31

CLIENTE

COLUNA ID CPF NOME ENDERECO TELEFONE E_MAILTipo da chave(PK,FK)

PK

not null/unique nn/u nn/u nn nnTabela FKColuna FKTipo de dados NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER VARCHAR2

Tamanho 7 20 50 50 20 50

Tabelas:

PEDIDO

COLUNA ID DT_EMISSAO NOME_PRESENTEADO

ENDERECO_ENTREGA

DT_CANCELAMENTO

STATUS ID_CLIENTE

Tipo da chave(PK,FK)

PK FK

not null/unique nn/u nn nn nn nnTabela FK CLIENTEColuna FK IDTipo de dados NUMBER DATE VARCHAR2 VARCHAR2 DATE CHAR NUMBER

Tamanho 7 50 50 1 7

Page 32: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

32

ITEM_PEDIDO

COLUNA ID_PEDIDO NUM_ITEM QUANT_PEDIDA

PRECO_COBRADO

ID_LIVRO

Tipo da chave(PK,FK)

FK/PK PK FK

not null/unique nn nn nn nn nnTabela FK PEDIDO LIVROColuna FK ID ISBNTipo de dados NUMBER NUMBER NUMBER NUMBER VARCHAR2

Tamanho 7 7 9 9,2 20

LIVRO

COLUNA ISBN TITULO DESCRICAO QUANT_ESTOQUE

PRECO PRAZO_MEDIO_ENTREGA

Tipo da chave(PK,FK)

PK

not null/unique nn/u nn nn nn nn nnTabela FKColuna FKTipo de dados VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER NUMBER

Tamanho 20 50 2000 9 9,2 9

Page 33: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

33

FATURA

COLUNA ID DT_EMISSAO

DT_VENCIMENTO

VALOR_PAGO

DT_PAGAMENTO

DT_PEDIDO_CANCELAM

ENTO

DT_CANCELAME

NTO

STATUS ID_PEDIDO

Tipo da chave(PK,FK)

PK FK

not null/unique nn/u nn nn nn nnTabela FK PEDIDOColuna FK IDTipo de dados NUMBER DATE DATE NUMBER DATE DATE DATE CHAR NUMBER

Tamanho 7 9,2 1 7

ITEM_FATURADO

COLUNA ID_FATURA ID_ PEDIDO ID_ITEM QUANT_FATURADATipo da chave(PK,FK)

FK/PK FK/PK FK/PK

not null/unique nn nn nn nnTabela FK FATURA ITEM_PEDIDOColuna FK ID ID_PEDIDO NUM_ITEMTipo de dados NUMBER NUMBER NUMBER NUMBER

Tamanho 7 7 7 9

Page 34: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

34

CLIENTE

ID : VARCHAR2CPF : VARCHAR2NOME : VARCHAR2ENDERECO : VARCHAR2TELEFONE : NUMBERE_MAIL : VARCHAR2CLIENTE_PK = ID

<<RelationalTable>>

LIVRO

ISBN : VARCHAR2TITULO : VARCHAR2DESCRICAO : VARCHAR2QUANT_ESTOQUE : NUMBER

PRECO : NUMBERPRAZO_MEDIO_ENTREGA : NUMBERLIVRO_PK = ISBN

<<RelationalTable>>

PEDIDO

ID : VARCHAR2DT_EMISSAO : DATE

NOME_PRESENTEADO : VARCHAR2ENDERECO_ENTREGA : VARCHAR2DT_CANCELAMENTO : DATESTATUS : CHARPEDIDO_PK = ID

<<RelationalTable>>

ID_CLIENTE = IDID_CLIENTE = IDPEDIDO_CLIENTE_FK

<<FK>>

FATURA

ID : VARCHAR2DT_EMISSAO : DATEDT_VENCIMENTO : DATE

VALOR_PAGO : NUMBERDT_PAGAMENTO : DATE

DT_PEDIDO_CANCELAMENTO : DATEDT_CANCELAMENTO : DATESTATUS : CHARFATURA_PK = ID

<<RelationalTable>>ID_PEDIDO = IDID_PEDIDO = ID

FATURA_PEDIDO_FK

<<FK>>

ITEM_FATURADO

QUANT_FATURADA : NUMBERITEM_FATURADO_PK = ID_FATURA,ID_PEDIDO,ID_ITEM

<<RelationalTable>>

ID_FATURA = IDID_FATURA = ID

ITEMFAT_FATURA_FK

<<FK>>

ITEM_PEDIDO

NUM_ITEM : NUMBERQUANT_PEDIDA : NUMBER

PRECO_COBRADO : NUMBERITEM_PEDIDO_PK = ID_PEDIDO,NUM_ITEM

<<RelationalTable>>

ID_PEDIDO = IDID_PEDIDO = ID

ITEMPEDIDO_PED_FK

<<FK>>

ID_LIVRO = ISBNID_LIVRO = ISBN

ITEMPEDIDO_LIVRO_FK

<<FK>>ID_PEDIDO = ID_PEDIDO

ID_ITEM = NUM_ITEMID_PEDIDO = ID_PEDIDO

ID_ITEM = NUM_ITEM

ITEMFAT_ITEMPED_FK

<<FK>>

Diagrama de classes representando as tabelas:

Page 35: 1 DIAGRAMA DE CLASSES MODELO RELACIONAL PROJETO LÓGICO DE BANCO DE DADOS ELABORANDO O DIAGRAMA UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE.

35

Exercício:

Elaborar o diagrama de classes padrão e de Banco de Dados para o problema da Agenda