1

以下是scheme面向对象设置中的数据库。每个关系都成为对象的集合。学生是人,教师也是人。这些显示为标记为“isa”的有向边。所有其他有向边都显示参考属性。请注意,课程中的 PreReq 属性是一组引用。

在此处输入图像描述

这是我无法弄清楚如何编写的查询:

按 StudentID 重新组织注册集合。对于每个学生,检索学生的 ID 和成绩。等级应该是由CourseCodeLetterGrade属性组成的关系。

通过重新组织,我很确定这只是意味着按该顺序检索信息,而不是对数据库进行任何更新。

4

1 回答 1

1

因为并非所有字段都被正确引用,并且说明有点......好吧,缺乏,我将做一些假设。即:

  1. 学生表有一个名为“StudentID”的字段,它与 Person 表中的 ID 字段是一对一的关系。

  2. “重组”的意思是“选择”。奇怪的措辞。

  3. 除了 Person 表,所有其他 ID 都遵循正常的命名约定。意思是,<TableName>Id。例如,学生表中的主 ID 是 StudentID

  4. 问题中的“LetterGrade”实际上是指招生表中的“Grade”字段。

  5. 所有以单词“Info”结尾的字段都是以“Id”结尾的等效字段的外键。例如:Enrollment.StudentInfo 映射到 Student.StudentId

类似的东西

SELECT S.StudentID, E.Grade, C.CourseCode
FROM Student S
  INNER JOIN Enrollment E on (E.StudentInfo = S.StudentId)
  INNER JOIN Offering O on (O.OfferingId = E.OfferingInfo)
  INNER JOIN Course C on (C.CourseId = O.CourseInfo)
ORDER BY S.StudentId
于 2011-10-19T06:26:39.203 回答