53 lines
1.7 KiB
SQL
53 lines
1.7 KiB
SQL
-- Criação do namespace (schema)
|
|
CREATE USER xpto_store IDENTIFIED BY xpto_store_password;
|
|
GRANT CONNECT, RESOURCE TO xpto_store;
|
|
ALTER USER xpto_store QUOTA UNLIMITED ON DATA;
|
|
|
|
-- Tabela de Categorias
|
|
CREATE TABLE xpto_store.xpto_categorias (
|
|
id_categoria NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
nome VARCHAR2(100),
|
|
descricao VARCHAR2(400),
|
|
vetor_nome_descricao VECTOR(384)
|
|
);
|
|
|
|
-- Tabela de Produtos
|
|
CREATE TABLE xpto_store.xpto_produtos (
|
|
id_produto NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
nome VARCHAR2(100),
|
|
descricao VARCHAR2(400),
|
|
preco NUMBER(10,2),
|
|
estoque NUMBER,
|
|
id_categoria NUMBER,
|
|
vetor_descricao VECTOR(384),
|
|
CONSTRAINT fk_categoria
|
|
FOREIGN KEY (id_categoria)
|
|
REFERENCES xpto_store.xpto_categorias(id_categoria)
|
|
);
|
|
|
|
-- Tabela de Clientes
|
|
CREATE TABLE xpto_store.xpto_clientes (
|
|
id_cliente NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
nome VARCHAR2(100),
|
|
email VARCHAR2(100),
|
|
telefone VARCHAR2(20),
|
|
uf CHAR(2),
|
|
vetor_nome_email VECTOR(384)
|
|
);
|
|
|
|
-- Tabela de Vendas
|
|
CREATE TABLE xpto_store.xpto_vendas (
|
|
id_venda NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
|
|
id_produto NUMBER,
|
|
id_cliente NUMBER,
|
|
data_venda DATE DEFAULT SYSDATE,
|
|
quantidade NUMBER,
|
|
preco_unitario NUMBER(10,2),
|
|
CONSTRAINT fk_produto
|
|
FOREIGN KEY (id_produto)
|
|
REFERENCES xpto_store.xpto_produtos(id_produto),
|
|
CONSTRAINT fk_cliente
|
|
FOREIGN KEY (id_cliente)
|
|
REFERENCES xpto_store.xpto_clientes(id_cliente)
|
|
);
|