- ID
- 5522365
- Banca
- CEFET-MG
- Órgão
- CEFET-MG
- Ano
- 2021
- Provas
- Disciplina
- Banco de Dados
- Assuntos
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’);
Deseja-se fazer uma consulta SQL que apresente o nome do aluno
e a quantidade de disciplinas em que está matriculado. O comando
SQL que deverá retornar as informações desejadas é