/ / Álgebra relacional “Apenas uma vez” ou “Existe uma vez” - junção, duplicatas, álgebra relacional

Álgebra Relacional “Only Once” ou “Existe uma vez” - junte-se, duplique, álgebra relacional

Então eu tenho 2 relações

Student = {student id, name, address}
Course = {course no, title, subject}
Completed = {course no, student id, grade, semester}

e quero exibir o nome dos alunos que concluíram apenas um CURSO de "Física" (que é um assunto)

Não tenho problemas para unir as tabelas para reunir os dados, meu problema é como obter valores que aparecem apenas uma vez?

O que eu tenho até agora

PICourse_no (σ Subject=´Physics´(COURSE))

Isso me dá todos os números de cursos relacionados à Física

PIStudent_Id(σCourseNo= (PICourse_no (σ Subject=´Physics´(COURSE))))

E com isso eu acho que estou conseguindo os IDs de todosos alunos que estudam um curso relacionado à física ... mas agora aqui está o meu problema, como removo os alunos que têm mais de um curso relacionado à física?

Respostas:

0 para resposta № 1

"como removo os alunos que têm mais de um curso relacionado à física?"

Isso é feito pelo operador relacional MINUS ouum de seus sobrinhos (às vezes conhecido como antijoin). Conforme indicado nos comentários, há um grande número de conjuntos distintos de operadores, todos chamados "álgebra relacional". Você realmente tem que olhar em qual deles você deve estar usando.