Exercício 11.20 - (Universidade)

Ir em baixo

Exercício 11.20 - (Universidade)

Mensagem por Admin em Qua Jul 24, 2013 4:33 pm

--Crie um modelo de dados que permita armazenar
--as seguintes informações:
-- -> Uma universidade tem diversos alunos e professores,
-- todos identificados por um número de matrícula.
-- -> A universidade também presta diversos cursos, cada
-- um deles chefiados por um professor.
-- -> Cada curso é composto de várias disciplinas, que são
-- ministradas a vários alunos por um professor. Cada
-- disciplina tem uma ementa e uma carga horária
-- -> A universidade também dispõe de diversas salas
-- identificadas por um número, que podem ser utilizadas
-- para as disciplinas. Cada disciplina é dada em uma ou
-- mais salas (nos casos de disciplinas com aulas de
-- laboratório)

CREATE TABLE professor (
codigo_professor SERIAL NOT NULL PRIMARY KEY,
matricula_professor NUMERIC(10) NOT NULL,
nome_professor VARCHAR(100) NOT NULL
);

CREATE TABLE aluno (
matricula_aluno NUMERIC(10) PRIMARY KEY,
nome_aluno VARCHAR(100) NOT NULL
);

CREATE TABLE curso (
codigo_curso SERIAL NOT NULL PRIMARY KEY,
nome_curso VARCHAR(100) NOT NULL
codigo_professor_chefe INTEGER
REFERENCES professor(codigo_professor)
);

CREATE TABLE disciplina (
codigo_disciplina SERIAL NOT NULL PRIMARY KEY,
nome_disciplina VARCHAR(100) NOT NULL,
ementa TEXT,
carga_horaria_disciplina NUMERIC(4) NOT NULL,
codigo_professor INTEGER NOT NULL
REFERENCES professor(codigo_professor)
);

CREATE TABLE sala (
codigo_sala SERIAL NOT NULL PRIMARY KEY,
numero_sala VARCHAR(100) NOT NULL
);

CREATE TABLE curso_disciplina (
codigo_curso INTEGER NOT NULL,
codigo_disciplina INTEGER NOT NULL,
PRIMARY KEY (codigo_curso, codigo_disciplina),
FOREIGN KEY (codigo_curso) REFERENCES curso(codigo_curso),
FOREIGN KEY (codigo_disciplina)
REFERENCES disciplina(codigo_disciplina)
);

CREATE TABLE aluno_disciplina (
matricula_aluno NUMERIC(10) NOT NULL,
codigo_disciplina INTEGER NOT NULL,
PRIMARY KEY (matricula_aluno, codigo_disciplina),
FOREIGN KEY (matricula_aluno) REFERENCES aluno(matricula_aluno),
FOREIGN KEY (codigo_disciplina)
REFERENCES disciplina(codigo_disciplina)
);

CREATE TABLE disciplina_sala (
codigo_disciplina INTEGER NOT NULL,
codigo_sala INTEGER NOT NULL,
PRIMARY KEY (codigo_disciplina, codigo_sala),
FOREIGN KEY (codigo_disciplina)
REFERENCES disciplina(codigo_disciplina),
FOREIGN KEY (codigo_sala) REFERENCES sala(codigo_sala)
);

Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum