0

所以我在为我的数据库提出实体关系时遇到了一些麻烦,但是我已经完成了一些最小口径的设计过程。将创建数据库,以便学生可以有许多课程多对多的关系(我知道很明显)。该数据库需要每天跟踪家庭作业和出勤情况。但是,课程可以是一周中的一天或多天。

advisors->(advisorid, firstname, lastname, phone , email)

学生->(学生,名字,姓氏,电话,电子邮件)

课程->(课程ID,描述,开始日期,状态时间,房间)

学生课程->(学生,课程ID)


在这里我被卡住了,我正在考虑创建一个日历表,但是我将如何将数据与作业表和出勤率相关联。如果有任何建议会受到很大的批评,欢迎。

4

2 回答 2

1

您需要创建更多实体来实现高效的数据库设计。一种解决方案是:

Attendance(id,student_id,course_id,date)

Homework(id, course_offering_id, date) -- course_offering_id: primary key of student courses

-- since many to many relation lies between homework and student
Homework_Student(id, homework_id, student_id)
于 2017-04-03T09:57:49.523 回答
0

您可以扩展学生课程表以添加更多列,例如

Studentcourses->(studentid,courseid,attendence(bool),datetime,homework(text),previoushomework(bool))

如果学生在课程安排的特定日期和时间在场,则出勤率将是真实的。

datetime->课程的日期和时间

homework-> 这显示学生得到的作业

previoushomework-> 当学生完成前一次的作业时,这将是真的

这是您在这个项目中可以拥有的最简单和最紧凑的表格设计,您还可以根据需要制作其他关系表格

希望可以解决您的问题

于 2013-04-05T03:30:25.960 回答