· 8 years ago · Dec 07, 2017, 04:30 PM
1CREATE SCHEMA VAREJAO_DE_FRALDAS;
2USE VAREJAO_DE_FRALDAS;
3
4CREATE TABLE IF NOT EXISTS funcionario(
5 cpf VARCHAR(13) UNIQUE,
6 sexo char (1) NOT NULL,
7 cargo VARCHAR(255) NOT NULL,
8 estado_civil VARCHAR(15) NOT NULL,
9 nome VARCHAR(255) NOT NULL,
10 situacao VARCHAR(7) NOT NULL,
11 endereco VARCHAR(255) NOT NULL,
12 cep VARCHAR(11) NOT NULL,
13 cpf_gerente VARCHAR(13) NULL,
14 CONSTRAINT funcionario_pk PRIMARY KEY (cpf),
15 CONSTRAINT funcionario_situacao_ck CHECK (situacao IN ('ATIVO', 'INATIVO')),
16 CONSTRAINT funcionario_cargo_ck CHECK (cargo IN ('OPERADOR DE CAIXA', 'SUPERVISOR DE CAIXA', 'COORDENADOR', 'CARREGADOR', 'SUPERVISOR DE ESTOQUE'))
17);
18
19CREATE TABLE IF NOT EXISTS romaneio(
20 numero INTEGER UNIQUE,
21 data_de_emissao DATE NOT NULL,
22 descricao VARCHAR(255) NOT NULL,
23 quantidade INTEGER NOT NULL,
24 codigo_nota_fiscal_fornecedor VARCHAR(10) UNIQUE,
25 CONSTRAINT romaneio_pk PRIMARY KEY (numero)
26 #CONSTRAINT romaneio_codigo_nota_fiscal_fornecedor_fk FOREIGN KEY (codigo_nota_fiscal_fornecedor) REFERENCES nota_fiscal_fornecedor (codigo)
27);
28
29
30CREATE TABLE IF NOT EXISTS produto(
31 codigo_de_barra VARCHAR(20) UNIQUE,
32 identificador VARCHAR(13) UNIQUE,
33 nome VARCHAR(255) NOT NULL,
34 marca VARCHAR(255) NULL,
35 unidade_de_medida VARCHAR(5) NOT NULL,
36 ncsm VARCHAR(4) NOT NULL,
37 quantidade_estoque INTEGER NULL,
38 preco_por_tabela DECIMAL(15,2) NOT NULL,
39 icms VARCHAR(9) NOT NULL,
40 categoria VARCHAR (255) NOT NULL,
41 numero_romaneio INTEGER NULL,
42 funcionario_cadastro_cpf VARCHAR(13) NOT NULL,
43 CONSTRAINT produto_pk PRIMARY KEY (codigo_de_barra, identificador),
44 CONSTRAINT produto_numero_romaneio_fk FOREIGN KEY (numero_romaneio) REFERENCES romaneio (numero),
45 CONSTRAINT produto_funcionario_cadastro_cpf FOREIGN KEY (funcionario_cadastro_cpf) REFERENCES funcionario (cpf)
46);