Files
oci_tips/23AI/example/xpto-store-ddl.sql
2025-08-18 07:54:14 -03:00

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