IME - USP
Sistemas de Bancos de Dados - MAC0426 Exerc´ıcio Extra
Exerc´ıcio baseado em quest˜oes existentes no livro “Sistemas de Banco de Dados” Elmasri - Navathe,3a Edi¸c˜ao
4 de abril de 2006
As tabelas abaixo representam um banco de dados que armazena registros de alunos, mat´erias, mat´erias oferecidas, conceitos obtidos e pr´e-requisitos.
ALUNO Nome N´umeroDoAluno Classe Especializa¸c˜ao
Daniel 17 5 MAC
Danilo 8 1 MAC
Peter 10 2 MAC
Maria 12 4 MAC
Fernando 14 5 MAT
Obs: Classe: 1,2,3,4: Ano no aluno. 5: Curso conclu´ıdo.
DISCIPLINA NomeDisciplina C´odigoDisciplina HorasDeCr´edito Departamento Introd. Ciˆencia da Computa¸c˜ao MAC110 4 MAC
Sistemas de Banco de Dados MAC426 4 MAC
Algebra Linear MAT121 4 MAT
Calculo Diferencial e Integral MAT120 8 MAT
Introd. Estat´ıstica MAE122 4 MAT
Algebra Booleana´ MAC333 4 MAC
Grafos MAC233 4 MAC
An´alise de Algoritmos MAC238 4 MAC
1
IME - USP Sistemas de Bancos de Dados - MAC0426
DISCIPLINA OFERECIDA IdDaDisciplinaOferecida C´odigoDaDisciplina Semestre Ano Professor 1 MAC110 Primeiro 2000 Mauricio 2 MAC110 Primeiro 2004 Jo˜ao Eduardo 3 MAT120 Segundo 2000 Francisco 4 MAC426 Primeiro 2006 Jo˜ao Eduardo 5 MAC233 Primeiro 2006 S´ergio
6 MAC333 Primeiro 2006 Murilo
7 MAE122 Primeiro 2006 Ana
8 MAC238 Primeiro 2006 Mar´ılia
CONCEITO N´umeroDoAluno IdDaDisciplinaOferecida CONCEITO
10 1 B
17 1 D
17 2 B
17 3 A
12 1 A
17 4 C
17 5 B
12 3 A
17 6 A
17 7 A
14 2 B
17 8 A
8 1 B
PR´E-REQUISITO C´odigoDaDisciplina C´odigoPr´eRequisito
MAC426 MAC110
MAT121 MAT120
MAE122 MAC238
MAC238 MAC333
MAC333 MAC233
*Obs: Para as tabelas com mais de um campo sublinhado, considere uma ´unica chave prim´aria composta por todos os atributos sublinhados.
J´a sabemos que n˜ao ´e boa pr´atica projetar baseado no modelo f´ısico. O modelo acima foi desenvolvido `a partir de um modelo conceitual previamente projetado. Recrie o modelo conceitual partindo das rela¸c˜oes apresentadas acima.
Especifique as seguintes consultas em ´algebra relacional, c´alculo relacional de tuplas, c´alculo relacional de dom´ınio e SQL, para o esquema de banco de dados acima:
1. Recupere os nomes de todos os alunos que est˜ao se especializando em Ciˆencia da Computa¸c˜ao (“MAC”).
2
IME - USP Sistemas de Bancos de Dados - MAC0426
2. Recupere os nomes de todas as disciplinas lecionadas pelo professor “Jo˜ao Eduardo”
em 2004 e 2006.
3. Para cada disciplina oferecida lecionada pelo prof. “Mauricio”, recupere o c´odigo da disciplina, semestre, ano e o n´umero de alunos que cursaram a disciplina.
4. Recupere o nome e o hist´orico escolar de cada aluno que est´a cursando o quarto ano de Ciˆencia da Computa¸c˜ao. Um hist´orico escolar inclui o c´odigo da especializa¸c˜ao, o c´odigo das disciplinas, horas de cr´edito, semestre, ano e o conceito obtido para cada disciplina cursada pelo aluno.
5. Recupere os nomes e departamentos de especializa¸c˜ao de todos os alunos A (alunos que obtiveram conceito A em todas as disciplinas cursadas). Obs: um aluno que n˜ao cursou disciplina alguma n˜ao ´e um aluno A.
6. Recupere os nomes e os departamentos de especializa¸c˜ao de todos os alunos que n˜ao obtiveram um conceito A em nenhuma de suas disciplinas. Obs: n˜ao recuperar os alunos que n˜ao cursaram disciplinas.
7. Recupere todos os alunos que cursaram todas as disciplinas oferecidas.
8. Liste as disciplinas e seus respectivos pr´e-requisitos de forma hier´arquica (considere uma hierarquia de pr´e-requisitos que n˜ao ultrapassa 3 n´ıveis).
3