This repository was archived by the owner on Dec 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Database Scheme Design, Draft 3
renfeisong edited this page Nov 19, 2014
·
6 revisions
重要说明:系统级的表只包括用户表user
、管理员表admin_user
和配置表configuration
。其他表均属于某个功能模块。各开发人员在开发模块时,要能够动态创建数据表(可在prepare
函数中检测表是否存在,存在的话直接使用,否则就地创建)。
user
表整合了和关注者(主要是学生)的个人信息
- id (PK,A_I)
- userId (学号或职工号, e.g. 12211010)
- userName (姓名, e.g. 荣芓萌)
- gender (性别, e.g. 男)
- identifyId (身份证号, e.g. 120107198912282561)
- openid (微信 Open ID, e.g. o_EXRjkVmOiYakBTzJAnH5x0uMF8)
- type (类型,可取学生student,教师teacher,辅导员admin,其他special)
- startYear (入学年份, e.g. 2012)
- dept (所属的系的编号, e.g. 21)
- class (小班号, e.g. 122111)
- birthday (出生日期, 格式 YYYYMMDD, e.g. 19921004)
- phoneNumber (手机号, e.g. 18612345678)
- email (邮件地址, e.g. person@example.com)
- qq (QQ, e.g. 10000)
configuration
是存储配置信息的表,同时为 Configuration API 提供支持。
- scope (作用域,
global
表示全局, 否则应为某一 Module 的名称, PK) - key (键, PK)
- value (值)
- dateUpdated (更新时间, timestamp 类型, update_on_default)
admin_user
表保存管理后台的用户信息。
- userName (用户名, PK)
- hashedPassword (密码)
- isEnabled (是否启用, int, 取 0 或 1, 默认为 0)
- joinDate (加入时间, timestamp)
- lastActivity (上次活动时间, timestamp)
- authorizedPages (已授权的页面, varchar, JSON-formatted array)
- isSuperAdmin (是否是超级管理员, int, 取 0 或 1, 默认为 0)
- note (备注, varchar)
- ip (IP地址, 用于登陆验证)
- loginToken (登陆凭据, 保存在 cookie 中, 用于登陆验证)
homework
用于保存作业信息。应用时建立多张表如homework_1221
等。
- homeworkId (PK, A_I)
- subject (科目, e.g. 语文)
- content (内容, e.g. 阅读课文《荷塘月色》)
- userName (FK, 发布人)
- publishDate (作业布置日期, 格式 YYYYMMDD, e.g. 20141010)
- dueDate (作业提交/过期日期, 格式 YYYYMMDD, e.g. 20141017)
- dateUpdated (更新时间, timestamp)
shahe_schedule
表记录沙河校区的作息时间
- id (PK, A_I)
- cid (课程时间顺序, 第一节课 e.g. 1)
- startTime (开始时间, 单位分钟, e.g. 480, 即早上8点)
- endTime (结束时间, 单位分钟, e.g. 530, 即早上8点50分)
xueyuan_schedule
表记录学院路校区的作息时间
- id (PK, A_I)
- cid (课程时间顺序, 第一节课 e.g. 1)
- startTime (开始时间, 单位分钟, e.g. 480, 即早上8点)
- endTime (结束时间, 单位分钟, e.g. 530, 即早上8点50分)
class_schedule
表记录所有的课程信息
- weekday (星期几 e.g. 1 PK)
- classification (年纪 e.g. 1221 PK)
- class_1 (第一节[大]课信息 e.g. 英语口语 J1-101#s1e2k3j4g5)
- class_2 (第二节[大]课信息 e.g. C++ J1-101#s3e4k3j4g5)
- ......