bdlojavirtual
1316 palavras
6 páginas
Banco de Dados Loja Virtual1) Modelo Conceitual
2) Modelo Lógico Relacional
CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone)
COMPRA(CompraId, ClienteId, DataCompra, DataEntrega, Frete)
ClienteId referencia CLIENTE(ClienteId)
PRODUTO(ProdutoId, Descrição, PreçoCusto, PreçoVenda)
ENVOLVE(ProdutoId, CompraId, Quantidade)
ProdutoId referencia PRODUTO(ProdutoId)
CompraId referencia COMPRA(CompraId)
Criação do Banco de Dados e das Tabelas
CREATE DATABASE LojaVirtual;
CREATE TABLE CLIENTE(
ClienteId integer NOT NULL,
PrimNome varchar(32) NOT NULL,
UltNome varchar(32) NOT NULL,
Endereco varchar(64) NOT NULL,
Cidade varchar(32) NOT NULL,
Cep varchar(10) NOT NULL,
Telefone varchar(16),
PRIMARY KEY(ClienteId));
CREATE TABLE PRODUTO(
ProdutoId integer NOT NULL,
Descricao varchar(64) NOT NULL,
PrecoCusto double precision,
PrecoVenda double precision,
PRIMARY KEY(ProdutoId),
CHECK(PrecoCusto >= 0), --restrição com base em tuplas
CHECK(PrecoVenda >= 0));
CREATE TABLE COMPRA(
CompraId integer NOT NULL,
ClienteId integer NOT NULL,
DataCompra date NOT NULL,
DataEnt date,
Frete double precision,
PRIMARY KEY(CompraId),
FOREIGN KEY(ClienteId) REFERENCES CLIENTE(ClienteId)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE ENVOLVE(
CompraId integer NOT NULL,
ProdutoId integer NOT NULL,
Quantidade integer NOT NULL);
Obs.: propositalmente não incluímos as restrições de chave primária e estrangeira nessa última tabela. Inserção de Dados
INSERT INTO CLIENTE VALUES(794613,'Jandira','Soares','Avenida José Romão,
27','Caruaru','036894-567','023 9876');
INSERT INTO CLIENTE VALUES(172839,'Andre','Soares','Avenida Oito de Maio, 52','São
Lourenço da Mata','15214-441','876 3527');
INSERT INTO CLIENTE VALUES(740025,'Alex','Matheus','Rua Frei Jaboatão, 4','Jaboatão dos
Guararapes','22557-913','010 4567');
INSERT INTO CLIENTE VALUES(974631,'Adriano','Matheus','Rua Madeira, 171','Cabo de Santo
Agostinho','66476-621','487 3871');
INSERT INTO CLIENTE