资源描述
大学自动排课算法设计与实现
数据库设计阐明书
学 院
电子与计算机科学技术学院
专 业
软件工程
题 目
大学自动排课算法设计与实现
小构成员
林琳、罗文凤、顾晓、史东海
目 录
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完毕,它涉及,数据库转储和恢复,数据库安全性,完整性控制,数据库性能监督,分析和改造,数据库重组织和重构造
展开阅读全文