Open quintinoddigital opened 1 year ago
DROP TABLE IF EXISTS TB_TIPO_DOCUMENTO CASCADE; DROP TABLE IF EXISTS TB_DOCUMENTO CASCADE; DROP TABLE IF EXISTS TB_TIPO_PESSOA CASCADE; DROP TABLE IF EXISTS TB_PESSOA CASCADE; DROP TABLE IF EXISTS TB_PESSOA_DOCUMENTO CASCADE;
CREATE TABLE IF NOT EXISTS TB_TIPO_PESSOA ( CODIGO SERIAL NOT NULL, DESCRICAO VARCHAR(85) NOT NULL, CONSTRAINT PK_TIPO_PESSOA PRIMARY KEY (CODIGO) );
CREATE TABLE IF NOT EXISTS TB_PESSOA ( CODIGO SERIAL NOT NULL, ID_TIPO_PESSOA INTEGER NOT NULL, NOME VARCHAR(85) NOT NULL, CONSTRAINT PK_PESSOA PRIMARY KEY (CODIGO), CONSTRAINT FK_TIPO_PESSOA FOREIGN KEY (ID_TIPO_PESSOA) REFERENCES TB_TIPO_PESSOA (CODIGO) );
CREATE TABLE IF NOT EXISTS TB_TIPO_DOCUMENTO ( CODIGO SERIAL NOT NULL, SIGLA VARCHAR(10) NOT NULL, -- CPF, RG, CNH DESCRICAO VARCHAR(85) NULL, -- CADASTRO DE PESSOA FÍSICA CONSTRAINT PK_TIPO_DOCUMENTO PRIMARY KEY (CODIGO) );
CREATE TABLE IF NOT EXISTS TB_DOCUMENTO ( CODIGO SERIAL NOT NULL, ID_TIPO_DOCUMENTO INTEGER NOT NULL, NUMERO VARCHAR(85) NULL, DATA_EMISSAO DATE NULL, DATA_VENCIMENTO DATE NULL, IS_ATIVO BOOLEAN NOT NULL, CONSTRAINT PK_DOCUMENTO PRIMARY KEY (CODIGO), CONSTRAINT FK_TIPO_DOCUMENTO FOREIGN KEY (ID_TIPO_DOCUMENTO) REFERENCES TB_TIPO_DOCUMENTO (CODIGO) );
CREATE TABLE IF NOT EXISTS TB_PESSOA_DOCUMENTO ( CODIGO SERIAL NOT NULL, ID_PESSOA INTEGER NOT NULL, ID_DOCUMENTO INTEGER NOT NULL, CONSTRAINT PK_PESSOA_DOCUMENTO PRIMARY KEY (CODIGO), CONSTRAINT FK_PESSOA FOREIGN KEY (ID_PESSOA) REFERENCES TB_PESSOA (CODIGO), CONSTRAINT FK_DOCUMENTO FOREIGN KEY (ID_DOCUMENTO) REFERENCES TB_DOCUMENTO (CODIGO) );
CREATE TABLE IF NOT EXISTS TB_ARQUIVO_DOCUMENTO ( CODIGO SERIAL NOT NULL, ID_ARQUIVO INTEGER NOT NULL, ID_DOCUMENTO INTEGER NOT NULL, CONSTRAINT PK_ARQUIVO_DOCUMENTO PRIMARY KEY (CODIGO), CONSTRAINT FK_ARQUIVO FOREIGN KEY (ID_ARQUIVO) REFERENCES TB_ARQUIVO (CODIGO), CONSTRAINT FK_DOCUMENTO FOREIGN KEY (ID_DOCUMENTO) REFERENCES TB_DOCUMENTO (CODIGO) );
INSERT INTO TB_TIPO_PESSOA (DESCRICAO) VALUES ('PESSOA FÍSICA'); INSERT INTO TB_TIPO_PESSOA (DESCRICAO) VALUES ('PESSOA JURÍDICA');
INSERT INTO TB_PESSOA (ID_TIPO_PESSOA, NOME) VALUES (1, 'JOSÉ QUINTINN'); INSERT INTO TB_PESSOA (ID_TIPO_PESSOA, NOME) VALUES (2, 'QUINTINO DIGITAL INFORMÁTICA');
INSERT INTO TB_TIPO_DOCUMENTO (SIGLA, DESCRICAO) VALUES ('CPF', ''); INSERT INTO TB_TIPO_DOCUMENTO (SIGLA, DESCRICAO) VALUES ('CNPJ', ''); INSERT INTO TB_TIPO_DOCUMENTO (SIGLA, DESCRICAO) VALUES ('RG', 'Registro Geral');
INSERT INTO TB_DOCUMENTO (ID_TIPO_DOCUMENTO, NUMERO, DATA_EMISSAO, DATA_VENCIMENTO, IS_ATIVO) VALUES (1, '900.314.640-33', NULL, NULL, TRUE); INSERT INTO TB_DOCUMENTO (ID_TIPO_DOCUMENTO, NUMERO, DATA_EMISSAO, DATA_VENCIMENTO, IS_ATIVO) VALUES (2, '37.052.988/0001-42', NULL, NULL, TRUE); INSERT INTO TB_DOCUMENTO (ID_TIPO_DOCUMENTO, NUMERO, DATA_EMISSAO, DATA_VENCIMENTO, IS_ATIVO) VALUES (3, '40.167.943-3', NULL, NULL, TRUE);
INSERT INTO TB_PESSOA_DOCUMENTO (ID_PESSOA, ID_DOCUMENTO) VALUES (1, 1); INSERT INTO TB_PESSOA_DOCUMENTO (ID_PESSOA, ID_DOCUMENTO) VALUES (2, 2); INSERT INTO TB_PESSOA_DOCUMENTO (ID_PESSOA, ID_DOCUMENTO) VALUES (1, 3);
SELECT PESSOA.NOME AS PESSOA, TIPO_DOCUMENTO.SIGLA AS DOCUMENTO, DOCUMENTO.NUMERO FROM TB_DOCUMENTO DOCUMENTO JOIN TB_PESSOA_DOCUMENTO PESSOA_DOCUMENTO ON PESSOA_DOCUMENTO.ID_DOCUMENTO = DOCUMENTO.CODIGO JOIN TB_PESSOA PESSOA ON PESSOA.CODIGO = PESSOA_DOCUMENTO.ID_PESSOA JOIN TB_TIPO_DOCUMENTO TIPO_DOCUMENTO ON TIPO_DOCUMENTO.CODIGO = DOCUMENTO.ID_TIPO_DOCUMENTO;
Tarefas