【问题标题】: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)


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

【问题讨论】:

标签: mysql sql database


【解决方案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-> 当学生完成上一次的家庭作业时,这将是真的

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

    希望能解决你的问题

    【讨论】:

    • 感谢您的帮助。我会看看它是如何工作的,但我认为我应该有更多的实体。简单但复杂的哈哈悖论
    猜你喜欢
    • 2010-11-09
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2017-12-27
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多