资源描述
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。
大学自动排课算法设计与实现
数据库设计说明书
学 院
电子与计算机科学技术学院
专 业
软件工程
题 目
大学自动排课算法设计与实现
小组成员
林琳、 罗文凤、 顾晓、 史东海
目 录
1. 文档介绍 1
1.1 文档目的 1
1.2 文档范围 1
1.3 读者对象 1
1.4 参考文献 1
1.5 术语与缩写解释 1
2. 数据库环境说明 2
3. 数据库的命名规则 2
4. 逻辑设计 3
5. 物理设计 6
5.1 表汇总 8
5.2 表A 8
5.3 表B 9
5.4 表C 9
5.5 表D 10
5.6 表E 10
5.7 表F 10
5.8 表G 10
5.9 表H 11
5.10 表I 11
8. 安全性设计 12
8.1 防止用户直接操作数据库的方法 12
8.2 用户帐号密码的加密方法 12
8.3 角色与权限 12
9. 优化 12
10. 数据库管理与维护说明 13
1. 文档介绍
1.1 文档目的
此份文档的目的就是指对于一个给定的应用环境, 构造优化的数据库逻辑模式和物理结构,并据此建立数据库应用系统, 使之能够有效的存储和管理数据, 满足各中用户的应用需求。
1.2 文档范围
A. 待开发的软件系统为: 大学自动排课算法设计与实现。
B. 该软件能够帮助学校负责排课的相关人士完成排课任务。
C. 开发本软件主要是为了帮助学校负责排课的相关人士解决”教师”、 ”教室”、 ”时间”等资源搜索的问题。经过计算机运算速度快的特点, 在大数据量的情况下寻找资源的最优或近似最优的组合, 以减少人的工作量。但特殊情况还需人为进行调节, 不属于本系统所能处理的范围。
1.3 读者对象
该文档主要面向系统分析员、 数据库设计人员, 应用开发人员, 数据库管理员, 用户代表。
1.4 参考文献
数据库系统概论( 第四版)
作者: 王珊、 萨师煊
出版社: 高等教育出版社
出版日期: 12月
1.5 术语与缩写解释
无
2. 数据库环境说明
运行环境的限制: 必须装有Java运行平台的操作系统。数据库则使用的是access数据库
3. 数据库的命名规则
数据库对象包括表、 视图( 查询) 、 存储过程( 参数查询) 、 函数、 约束。对象名字由前缀和实际名字组成, 长度不超过30。前缀: 使用小写字母。
实际名字尽量描述实体的内容, 由单词或单词组合, 每个单词的首字母大写, 其它字母小写, 不以数字和_开头。合法的对象名字类似如下:
字段命名规则
数字、 字符、 日期/时间、 杂项, 字段有表的简称( 或全称) 、 下划线、 实际名称加后缀组成。后缀: 表示该字段的属性。
4. 逻辑设计
1) 教师实体属性图如图1所示
教师姓名
电话号码
教师编号
教师
所授课程总量
图1教师实体及其属性
2) 课程信息实体属性图如图2所示
课程号
所需学时
课程名
课程
是否需要多媒体
图2课程实体及其属性
3)教室实体属性图如图3所示
教室号
楼号
教室
是否为多媒体教室
图3 教室实体及其属性
4) 班级实体属性图如图4所示
系别
班级
班级号
图4 班级实体及其属性
5) 学生课表实体属性图如图5所示
时间
学生课表
班级号
教室号
课程号
教师号
图5学生课表实体及其属性
6) 教室课表实体属性图如图6所示
时间
课程号
教室号
教室课表
班级号
图6教室课表实体及其属性
7) 教师课表实体属性图如图7所示
教师号
教室号
课程号
教师课表
课程号
时间
图7 教师课表实体及其属性
8) 大学自动排课实体属性图如图8所示
教学任务
属于
课表
班级
属于
系别
查询
学生
n
排课
1
n
查询
属于
1
教师
1 n
图8 大学自动排课实体属性图
5. 物理设计
字段名称
中文解释
字段类型
长度
是否为空
备注
userID
用户账号
char
20
否
主键
secret
用户密码
char
15
否
username
用户名
char
20
否
表1 用户信息表
表2 教师信息表
字段名称
中文解释
字段类型
长度
是否为空
备注
id
教师编号
int
20
否
主键
name
教师姓名
char
15
否
telephone
电话号码
char
20
Course
所授课程数量
int
20
否
表3 课程信息表
字段名称
中文解释
字段类型
长度
是否为空
备注
Id
课程编号
int
20
否
主键
name
课程名
char
15
否
xueshi
学时
int
20
否
special
系别
int
50
否
duomeiti
是否需要多媒体
char
15
否
表4 教室信息表
字段名称
中文解释
字段类型
长度
是否为空
备注
Id
教室编号
char
20
否
主键
buliding
楼号
char
15
否
duomeiti
是否为多媒体
char
20
否
表5 班级信息表
字段名称
中文解释
字段类型
长度
是否为空
备注
Id
班级编号
int
20
否
主键
Special
系别
int
15
否
5.1 表汇总
表名
功能说明
表course
录入课程信息
表teacher
录入教师信息
表room
录入教室信息
表banji
录入班级信息
表 constrains
录入约束条件
表special
录入特殊条件
表teacherschedule
输出教师课表
表studentschedule
输出学生课表
表roomschedule
输出教室课表
5.2 表A
表名
course
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
课程号
非空
所有课程不得有相同的id
name
字符型
课程名
非空
xueshi
int
学时
非空
special
int
系别, 表示上该门课的系别
非空
取值范围不得超过所有系别总数
term
int
上该门课的学期
非空
只能为1、 2、 3或4, 分别表示大一、 大二、 大三和大四。
duomeiti
int
1: 该门课需要多媒体教室;
0: 该门课不需要多媒体
非空
数据只能为1和0
补充说明
5.3 表B
表名
teacher
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
教师id号
非空
所有教师中不得有相同的id
name
字符型
教师名
非空
telephone
字符型
教师电话号码
coursenum
int
所教授课程数量
非空
所教授课程数量不得大于所有课程总数量
course1
int
为某门课程的id,
非空
外键
course2
int
…..
….
….
course3
…..
……
……
……
course4
…..
……
……
……
补充说明
假定教师最多上一学期四门课程
5.4 表C
表名
room
列名
数据类型( 精度范围)
说明
空/非空
约束条件
num
字符型
该教室号, 如11210
非空
buliding
字符型
楼号
非空
duomeiti
int
是否为多媒体教室
非空
补充说明
5.5 表D
表名
banji
列名
数据类型( 精度范围)
说明
空/非空
约束条件
num
字符型
班级号
非空
special
int
系别
非空
外键
补充说明
5.6 表E
表名
constraints
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
某教师的id
非空
外键
period
int
该教师不上课的时间段
非空
补充说明
5.7 表F
表名
special
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
系别号
非空
name
字符型
系别名
非空
补充说明
5.8 表G
表名
teacherschedule
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
教师的id号
非空
外键
course
int
课程id号
非空
外键
banji
字符型
该班级号
非空
外键
room
字符型
教室号
非空
外键
coursename
字符型
课程名
非空
外键
period
int
学时
非空
外键
time
int
时间
非空
外键
补充说明
5.9 表H
表名
studentschedule
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
int
班级的id号
非空
外键
course
int
课程id号
非空
外键
banji
字符型
该班级号
非空
外键
room
字符型
教室号
非空
外键
coursename
字符型
课程名
非空
外键
period
int
学时
非空
外键
time
int
时间
非空
外键
teacher
int
教师名
非空
外键
补充说明
5.10 表I
表名
roomschedule
列名
数据类型( 精度范围)
说明
空/非空
约束条件
id
字符型
教室的id号
非空
外键
course
int
课程id号
非空
外键
banji
字符型
该班级号
非空
外键
coursename
字符型
课程名
非空
外键
period
int
学时
非空
外键
time
int
时间
非空
外键
补充说明
8. 安全性设计
用户只有在登陆成功的前提下才能查询, 学生和老师只有只读权限, 不允许修改, 管理员只有在登陆成功的前提下才能进行操作。
8.1 防止用户直接操作数据库的方法
本系统设有登陆模块, 在登录模块中, 用户输入账号和密码便可登录系统。密码输入错误 , 则重新登录。本系统只有管理员具有修改的权限, 教师和学生只有阅读的权限。
8.2 用户帐号密码的加密方法
无
8.3 角色与权限
角色
能够访问的表与列
操作权限
管理员
学生课表
修改权限
教室课表
修改权限
教师课表
修改权限
学生
学生课表
只读权限
教师
教师课表
只读权限
9. 优化
无
10. 数据库管理与维护说明
数据库运行后, 由于运行环境的不断变化, 数据库运行过程中物理存储也会不断地变化, 对数据库设计进行评价, 调整, 修改等维护工作是一个长期的任务也是设计工作的继续和提高。对数据库经常性维护的工作主要是由DBA完成, 它包括, 数据库的转储和恢复, 数据库的安全性, 完整性控制, 数据库性能的监督, 分析和改造, 数据库的重组织和重构造
展开阅读全文