A questão refere-se à execução das expressões SQL a
seguir, em um SGBD PostgreSQL 9.6 ou superior.
CREATE TABLE disciplinas
(
disciplina varchar(6) not null,
descricao varchar(80) not null,
constraint disciplinas_pk primary key (disciplina)
);
COMMENT ON TABLE disciplinas IS ‘Tabela que registra as
disciplinas’;
INSERT INTO disciplinas VALUES(‘POR001’,‘PORTUGUÊS’);
INSERT INTO disciplinas VALUES(‘MAT001’,‘MATEMÁTICA’);
INSERT INTO disciplinas VALUES(‘HIS001’,‘HISTÓRIA’);
CREATE TABLE alunos
(
matricula varchar(6) not null,
nome varchar(80) not null,
constraint alunos_pk primary key (matricula)
);
COMMENT ON TABLE alunos IS ‘Tabela que registra os alunos’;
INSERT INTO alunos VALUES(‘202101’,‘JOÃO’);
INSERT INTO alunos VALUES(‘202102’,‘JOSÉ’);
INSERT INTO alunos VALUES(‘202103’,‘MARIA’);
INSERT INTO alunos VALUES(‘202104’,‘JOAQUIM’);
CREATE TABLE turmas
(
turma varchar(1) not null,
disciplina varchar(6) not null,
matricula varchar(6) not null,
constraint disciplinas_fk foreign key (disciplina)
references disciplinas (disciplina),
constraint alunos_fk foreign key (matricula) references
alunos (matricula)
);
COMMENT ON TABLE turmas IS ‘Tabela que registra as
disciplinas em que os alunos estão matriculados’;
INSERT INTO turmas VALUES(‘A’,‘POR001’,‘202101’);
INSERT INTO turmas VALUES(‘A’,‘POR001’,‘202102’);
INSERT INTO turmas VALUES(‘B’,‘MAT001’,‘202101’);
INSERT INTO turmas VALUES(‘B’,‘MAT001’,‘202103’);
INSERT INTO turmas VALUES(‘C’,‘HIS001’,‘202102’);
INSERT INTO turmas VALUES(‘C’,‘HIS001’,‘202104’);