SISTEMA DE RESERVA ACADÊMICA
Por: Jean Santos • 2/5/2016 • Monografia • 1.219 Palavras (5 Páginas) • 285 Visualizações
-- ALUNO: JEAN DOS SANTOS DE JESUS / RENAM SALES
-- BACHAREL DE INFORMÁTICA
-- PROJETO DE SISTEMA DE TCC / TÓPICOS IV
-- ---------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------- Schema SISRAE---------------------------------------------------------------------
-- ---------------------------------------------------------------------------------------------------------------------------------------------
--CAMPUS
CREATE TABLE CAMPUS (
id SERIAL NOT NULL,
nome VARCHAR(90) NOT NULL,
cep CHAR(9) NOT NULL,
bairro VARCHAR(45) NOT NULL,
avenida_rua VARCHAR(90) NOT NULL,
numero CHAR(4) NOT NULL,
cidade VARCHAR(30) NOT NULL,
estado CHAR (2) NOT NULL,
telefone CHAR(12) NOT NULL,
email VARCHAR(70) NULL,
CONSTRAINT PK_CAMPUS
PRIMARY KEY (id )
);
--PAVILHAO
CREATE TABLE PAVILHAO (
id SERIAL NOT NULL,
nome VARCHAR(90) NOT NULL,
id_campus INTEGER NOT NULL,
CONSTRAINT PK_PAVILHAO
PRIMARY KEY (id ),
CONSTRAINT FK_PAVILHAO_CAMPUS
FOREIGN KEY ( id_campus ) REFERENCES CAMPUS
);
--TIPO_SALA
CREATE TABLE TIPO_SALA (
id SERIAL NOT NULL,
nome VARCHAR (30) NOT NULL,
descricao VARCHAR(40) NOT NULL,
qtd_lugar NUMERIC (10,2) NULL,
CONSTRAINT PK_TIPO_SALA
PRIMARY KEY (id)
);
----------ALTER TABLE TIPO_SALA ADD CHECK (tipo IN ('lab', 'sal', 'vid', 'aud', 'reu'));
--SALA
CREATE TABLE SALA (
nome VARCHAR(40) NOT NULL,
id_tipo_sala INTEGER NOT NULL,
id_pavilhao INTEGER NOT NULL,
CONSTRAINT PK_SALA
PRIMARY KEY (id_tipo_sala, id_pavilhao),
CONSTRAINT FK_SALA_TIPO_SALA
FOREIGN KEY ( id_tipo_sala) REFERENCES TIPO_SALA,
CONSTRAINT FK_SALA_PAVILHAO
FOREIGN KEY ( id_pavilhao) REFERENCES PAVILHAO
);
--ANO_SEMESTRE
CREATE TABLE ANO_SEMESTRE (
id SERIAL NOT NULL,
ano INTEGER NOT NULL,
semestre SMALLINT NOT NULL,
situacao CHAR (2) NOT NULL,
CONSTRAINT PK_SEMESTRE
PRIMARY KEY (id)
);
ALTER TABLE ANO_SEMESTRE ADD CHECK (situacao IN (' co', 'ad', 'an', 'en', 'ca' ));
-- co --> Confirmada ad --> Adiada an --> Andamento en --> Encerrada ca --> Cancelada
--PROFESSOR
CREATE TABLE PROFESSOR (
matricula INTEGER NOT NULL,
nome VARCHAR(90) NOT NULL,
email VARCHAR(100) NOT NULL,
telefone CHAR (11) NOT NULL,
data_admissao DATE NOT NULL,
CONSTRAINT PK_PROFESSOR
PRIMARY KEY ( matricula )
);
--CURSO
CREATE TABLE CURSO (
codigo VARCHAR (10) NOT NULL,
nome VARCHAR(60) NOT NULL,
qtd_semestre INTEGER NOT NULL,
CONSTRAINT PK_CURSO
PRIMARY KEY (codigo)
);
--DISCIPLINA
CREATE TABLE DISCIPLINA (
codigo VARCHAR (10) NOT NULL,
codigo_curso VARCHAR (10) NOT NULL,
nome VARCHAR(70) NOT NULL,
qtd_carga_horaria NUMERIC (10,2) NOT NULL,
unique (codigo),
CONSTRAINT PK_DISCIPLINA
PRIMARY KEY (codigo),
CONSTRAINT PK_DISCIPLINA_CODIGO_CURSO
FOREIGN KEY (codigo_curso) REFERENCES CURSO
);
--TURMA
CREATE TABLE TURMA (
id SERIAL NOT NULL,
...