大学自动排课算法设计实现分析数据库设计.docx
《大学自动排课算法设计实现分析数据库设计.docx》由会员分享,可在线阅读,更多相关《大学自动排课算法设计实现分析数据库设计.docx(15页珍藏版)》请在冰点文库上搜索。
![大学自动排课算法设计实现分析数据库设计.docx](https://file1.bingdoc.com/fileroot1/2023-6/1/69f2e80f-d3f3-4d33-8b18-9dac4e804d46/69f2e80f-d3f3-4d33-8b18-9dac4e804d461.gif)
大学自动排课算法设计实现分析数据库设计
大学自动排课算法设计与实现
数据库设计说明书
学院
电子与计算机科学技术学院
专业
软件工程
题目
大学自动排课算法设计与实现
小组成员
林琳、罗文凤、顾晓、史东海
1.文档介绍
1.1文档目的
此份文档的目的就是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库应用系统,使之能够有效的存储和管理数据,满足各中用户的应用需求。
1.2文档范围
A.待开发的软件系统为:
大学自动排课算法设计与实现。
B.该软件可以帮助学校负责排课的相关人士完成排课任务。
C.开发本软件主要是为了帮助学校负责排课的相关人士解决“教师”、“教室”、“时间”等资源搜索的问题。
通过计算机运算速度快的特点,在大数据量的情况下寻找资源的最优或近似最优的组合,以减少人的工作量。
但特殊情况还需人为进行调节,不属于本系统所能处理的范围。
1.3读者对象
该文档主要面向系统分析员、数据库设计人员,应用开发人员,数据库管理员,用户代表。
1.4参考文献
数据库系统概论(第四版)
作者:
王珊、萨师煊
:
高等教育出版社
出版日期:
2008年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
1n
图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完成,它包括,数据库的转储和恢复,数据库的安全性,完整性控制,数据库性能的监督,分析和改造,数据库的重组织和重构造