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

时间:2013-04-05 02:10:20

标签: mysql sql database

所以我在为我的数据库提出实体关系方面遇到了一些麻烦,但是我的一些设计过程是最低水准的。将创建数据库,以便学生可以有多对多关系的课程(我知道很明显)。数据库需要每天跟踪作业和注意力。但是,课程可以是一周中的一天或多天。

顾问 - >(顾问,名字,姓氏,电话,电子邮件)

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

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

studentscourses->(studentid,courseid)


我在这里陷入困境,我正在考虑创建一个日历表,但我如何将数据与家庭作业表和出勤相关联。如果有任何建议值得批评,欢迎提出。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

你可以扩展studentcourses表,添加更多列,如

Studentcourses->(studentid,courseid,考勤(布尔),日期时间,作业(文本),previoushomework(布尔))

如果学生出现在课程安排的特定日期和时间,则会认真学习。

datetime->课程的日期和时间

homework->这显示了学生的作业

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

这是您可以在此项目中使用的最简单,最紧凑的桌面设计,您还可以根据需要制作其他关系表

希望可以解决您的问题