我已经四处查看了与此相关的其他建议,但我所看到的都没有完全适合我的需要,所以开始吧!
我有一个多类(class)(澳大利亚中学;7-12 年级)、多日制(周一至周五)的学校时间表。我现在要构建的是一个 MySQL 数据库,其中包含要部署在帐户驱动网站上的以下信息。
- 主题:
- 运行时间(如“星期三的第 1 节课”、“星期五的第 2 节课”等——此列中的多个值)
- 教师(链接到所有教师的单独数据库) -- 如果老师生病被替换,这还需要(暂时)改变;可能是一个“replacementinstructor”列在 NULL 时被忽略。
- 位置(不同的,但在不同的日子专门分配的房间)——如上所述,当房间改变时临时改变。
- 其他显而易见的内容:类(class)名称(“Year 7 Health”)、唯一 ID(类似于“7.HEALTH”,而不仅仅是自动递增的 INT。)等。
- 老师们:
- 名字,姓氏
- 他们参加的类(class)
- 联系信息
- 其他显而易见的:唯一ID(自动递增的INT),用户名(fname.lname),他们帐户的密码等。
- 学生们:
- 名字、姓氏
- 他们参加的类(class)(存储为每个学生的个人列表)
- 年级/表格(7 年级、11 年级等) .)
- 个人基本信息(家郊区、邮箱等)
- 更明显的:唯一ID(与老师设置相同)、用户名(与老师相同)、密码等.
任何关于我如何设计这样的数据结构的见解都将不胜感激,我更像是一个 UI 狂热者而不是 MySQL 思考者;-D
提前致谢。
最佳答案
我可以想到在 MySQL 中使用以下表:
学生
学生信息
- id(自动递增)
- 名字
- 姓氏
- 用户名
- 密码
- student_id(我有一个学生证,但我不记得我是在 7 年级还是 10 年级获得的)
- 年份
- 电子邮件
- 联系电话
- 街道
- 郊区
- 州(ENUM - ACT、NSW、WA、SA、TAS、VIC、NT、QLD)
老师
教师信息
- id(自动递增)
- 名字
- 姓氏
- 头衔(博士、夫人等)
- 用户名
- 密码
- 电子邮件
- 联系电话
- 街道
- 郊区
- 州(ENUM - ACT、NSW、WA、SA、TAS、VIC、NT、QLD)
主题
所有不同的科目
- id(自动递增)
- 主题
- subject_code(例如 7.HEALTH)
- 年份
地点
学校周边多个地点
- id(自动递增)
- 位置(例如 BLOCK A、ROOM 2、MUSIC ROOM)
subject_teachers
每位老师教什么科目
- id(自动递增)
- 主题编号
- teacher_id
subject_students
每个学生选修哪些科目
- id(自动递增)
- 主题编号
- 学号
主题时间表
主要时间表
- id(自动递增)
- 主题编号
- location_id
- teacher_id
- alt_teacher_id(例如代课老师)
- 持续时间
- 周期(数字 1 - 一天中有多少个周期。如果我没记错的话是 6)
- 周(1-2 或什至 1-52)
- 工作日(1-5 号)
- 注释(正如@Oswald 建议的那样,您可以在事情发生变化时添加额外的注释)
可以整理这些注释,然后在时间表上显示为脚注。
关于php - 多类(class)、相互关联的学校时间表作为 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5763216/