php - 多类(class)、相互关联的学校时间表作为 MySQL 数据库

标签 php mysql data-structures timetable

我已经四处查看了与此相关的其他建议,但我所看到的都没有完全适合我的需要,所以开始吧!

我有一个多类(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/

相关文章:

javascript - 在帖子的网格循环之间插入 Javascript (Adsense)?

php - 用来自 mysql 的数据填充 HTML 表格给出空表格单元格

php - Laravel 5.2 获取与 whereIn() 中相同顺序的记录

sql - 固定时间表DB设计

data-structures - 如何计算递归函数的时间复杂度?

java - 为邪恶的刽子手程序存储数据

php 安全评论逻辑?

javascript - 如何编辑循环MySQL数据?

mysql - SQL 复制和更新表

c - 将递归定义的结构转换为 C 接口(interface)的 Julia