Dependencia Funcional
Unidade III
Considere o esquema de uma base Escola apresentado abaixo. Professor: nome,num-func, depto Aluno: nome, num-matricula, curso Disciplina: nome,num-creditos Curso: nome,disciplina,depto Departamento: nome,curso,area Professor-disciplina: num-func,disciplina,curso,codigo-disciplina Aluno-disciplina: aluno,disciplina,codigo-disciplina,curso Efetue as consultas abaixo utilizando operadores da álgebra relacional.
1) Selecione o numero de professores de um departamento X que ministram a disciplina Y para o curso T.
R: SELECT NOME_PROF FROM PROFESSOR, DEPARTAMENTO, DISCIPLINA, CURSO WHERE ( SELECT COUNT (*) FROM PROFESSOR WHERE NOME_DEPARTAMENTO= “X” AND NOME_DISCIPLINA= “Y” AND NOME_CURSO= “T”)
2) Recupere o nome de todas as disciplinas, o nome dos professores que estão ministrando-as e o nome dos alunos que estão as cursando.
R: SELECT NOME_DISC, NOME_PROF, NOME_ALUNO FROM DISCIPLINA, PROFESSOR, ALUNO
3) O que faz a operação JOIN da álgebra relacional? De um exemplo de sua utilização.
R: A operação JOIN, denotada por ⌧, é usada para combinar tuplas relacionadas de relações em uma única túpla. Esta operação é muito importante para quaisquer bases de dados relacionais, pois permite processar relacionamentos entre relações. Suponha que se deseja recuperar os nomes dos gerentes de cada departamento. Para obter-se o nome dos gerentes, é necessário combinar cada túpla de departamento com tuplas de empregados cujo valor NSS seja igual ao valor de SNNGER na túpla departamento. Isto é feito usando a operação JOIN, então se projeta o resultado sobre aqueles atributos necessários:
DEPT_GER←DEPARTAMENTO ⌧SNNGER=NSS EMPREGADO
RESULT←πDNOME, SNOME, PNOME (DEPT_GER)
4) O que são relações compatíveis pela união?
R: Duas relações são união compatível se possuem o mesmo número de atributos e se cada par de atributos correspondentes tem o mesmo domínio (dom(Ai) = dom(Bi), 1