Skip to content

Instantly share code, notes, and snippets.

@DiegoPinho
Created October 25, 2017 12:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DiegoPinho/66360c3eaba60351117814094880eaef to your computer and use it in GitHub Desktop.
Save DiegoPinho/66360c3eaba60351117814094880eaef to your computer and use it in GitHub Desktop.
USE MASTER; --Para retirar o LOG que por acaso tenha sido feito em DBADMESCOLA
DROP DATABASE DBADMESCOLA; --Se essa linha der erro, é sinal que este Banco de Dados não existe na sua máquina. Execute a próxima linha
CREATE DATABASE DBADMESCOLA; --Com essa linha criamos o banco de dados
USE DBADMESCOLA; --Com esta, todos os próximos scripts serão criados em DBADMESCOLA
--As próximas linhas podem ser executadas todas ao mesmo tempo
CREATE TABLE TB_PESSOA
(CO_SEQ_PESSOA NUMERIC(6,0) IDENTITY NOT NULL,
NU_MATRICULA VARCHAR(6) NOT NULL,
NO_PESSOA VARCHAR(60) NOT NULL,
ST_STATUS VARCHAR(1) NOT NULL DEFAULT 'S',
CONSTRAINT PK_PESSOA PRIMARY KEY (CO_SEQ_PESSOA),
CONSTRAINT UK_PESSOA_NUMATRICULA UNIQUE (NU_MATRICULA),
CONSTRAINT CK_PESSOA_STSTATUS CHECK (ST_STATUS IN ('S','N')));
CREATE TABLE TB_CURSO
(CO_SEQ_CURSO NUMERIC(4,0) IDENTITY NOT NULL,
NU_CURSO VARCHAR(4),
NO_CURSO VARCHAR(40),
CONSTRAINT PK_CURSO PRIMARY KEY (CO_SEQ_CURSO)
);
CREATE TABLE TB_CONTEUDO_PROGRAMATICO
(CO_SEQ_CONTEUDOPROGRAMATICO NUMERIC (7,0) IDENTITY NOT NULL,
NU_AULA VARCHAR(3) NOT NULL,
DT_AULA DATE NOT NULL,
DS_CONTEUDO VARCHAR (300) NOT NULL,
CO_PESSOA NUMERIC(6,0) NOT NULL,
CO_CURSO NUMERIC(4,0) NOT NULL,
CONSTRAINT PK_CONTEUDOPROGRAMATICO PRIMARY KEY (CO_SEQ_CONTEUDOPROGRAMATICO),
CONSTRAINT FK_PESSOA_CONTEUDOPROGRAMATICO FOREIGN KEY (CO_PESSOA) REFERENCES TB_PESSOA (CO_SEQ_PESSOA),
CONSTRAINT FK_CURSO_CONTEUDOPROGRAMATICO FOREIGN KEY (CO_CURSO) REFERENCES TB_CURSO (CO_SEQ_CURSO));
CREATE TABLE TB_AULA
(CO_SEQ_AULA NUMERIC(8,0) IDENTITY NOT NULL,
DT_AULA DATETIME NOT NULL,
TP_PRESENCA VARCHAR(1) NOT NULL,
CO_PESSOA NUMERIC(6,0) NOT NULL,
CO_CONTEUDOPROGRAMATICO NUMERIC(7,0) NOT NULL,
CONSTRAINT PK_AULA PRIMARY KEY (CO_SEQ_AULA),
CONSTRAINT CK_AULA_TPPRESENCA CHECK (TP_PRESENCA IN ('P','F')),
CONSTRAINT FK_PESSOA_AULA FOREIGN KEY (CO_PESSOA) REFERENCES TB_PESSOA (CO_SEQ_PESSOA),
CONSTRAINT FK_CONTEUDOPROGRAMATICO_AULA FOREIGN KEY (CO_CONTEUDOPROGRAMATICO)
REFERENCES TB_CONTEUDO_PROGRAMATICO (CO_SEQ_CONTEUDOPROGRAMATICO),
CONSTRAINT UK_AULA_COPESSOA_COCONTPROG UNIQUE (CO_PESSOA, CO_CONTEUDOPROGRAMATICO));
--CONFERENCIA
SELECT COUNT (*) FROM TB_PESSOA; --0 REGISTROS
SELECT COUNT (*) FROM TB_CONTEUDO_PROGRAMATICO; --0 REGISTROS
SELECT COUNT (*) FROM TB_AULA; --0 REGISTROS
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment