From f503bdab4eb908be9541f313cf4ddc3b979e991f Mon Sep 17 00:00:00 2001 From: Marcos Lohmann Date: Mon, 18 Aug 2025 07:54:14 -0300 Subject: [PATCH] Create xpto-store-ddl.sql --- 23AI/example/xpto-store-ddl.sql | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 23AI/example/xpto-store-ddl.sql diff --git a/23AI/example/xpto-store-ddl.sql b/23AI/example/xpto-store-ddl.sql new file mode 100644 index 0000000..f942d9b --- /dev/null +++ b/23AI/example/xpto-store-ddl.sql @@ -0,0 +1,52 @@ +-- 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) +);