数据库 为功能学校设计一个简单的数据库

Posted

技术标签:

【中文标题】数据库 为功能学校设计一个简单的数据库【英文标题】:Database design a simple database for a functional school 【发布时间】:2013-04-05 02:10:19 【问题描述】:

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

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

students->(studentid,firstname, lastname, phone, email)

courses->(courseid, description, startdate, statetime, room)

studentscourses->(studentid, courseid)


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

【问题讨论】:

这里问了一个类似的问题:***.com/questions/45242605/… 【参考方案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)

【讨论】:

【参考方案2】:

你可以扩展studentscourses表来添加更多的列

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

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

datetime->课程的日期和时间

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

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

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

希望能解决你的问题

【讨论】:

感谢您的帮助。我会看看它是如何工作的,但我认为我应该有更多的实体。简单但复杂的哈哈悖论

以上是关于数据库 为功能学校设计一个简单的数据库的主要内容,如果未能解决你的问题,请参考以下文章

java实现简单的数据库的增删查改,并布局交互界面

学校比赛网站设计

设计简单的后台管理的数据排序

200分2天内求大学本科数据库课程设计!急!急!

Java设计模式:工厂模式

Java设计模式:工厂模式