数据库原理及应用课程设计指导书1.docx
《数据库原理及应用课程设计指导书1.docx》由会员分享,可在线阅读,更多相关《数据库原理及应用课程设计指导书1.docx(24页珍藏版)》请在冰豆网上搜索。
![数据库原理及应用课程设计指导书1.docx](https://file1.bdocx.com/fileroot1/2023-8/4/872e798f-0322-4353-8cd4-41696e3275a3/872e798f-0322-4353-8cd4-41696e3275a31.gif)
数据库原理及应用课程设计指导书1
重庆文理学院
数据库原理及应用
课程设计指导书
软件工程学院
二○一六年九月
一、课题名称:
图书管理系统(实验室物资管理系统,学生选课管理系统,学生学籍管理系统,学生成绩管理系统,学生公寓管理系统,机房管理系统等),同学们也可以提出自己的课题名,但必须得到任课老师的同意。
二、要求:
1需求分析内容:
用户需求说明;
顶层上下文数据流图,选择画出一个一层的数据流图;
画出功能模块图
画出前台界面
2概念设计内容:
画出完整的E-R模型图;
包括实体、联系以及实体、联系的属性。
3逻辑设计:
把E-R图转换为关系表。
实体类型的转换
联系的转换
4SQL功能测试:
功能测试;
完整性测试;
触发器测试。
三、作业提交要求:
1课程设计说明书
2数据库建立、功能查询等的SQL语句(要有必要的说明)。
四、成绩评定
1成绩分为优、良、中、及格、不及格五个等级。
2成绩评定分三个部分,一是考勤成绩,二是课程设计报告成绩,三是答辩成绩。
考勤占20%
课程设计报告40%
答辩占40%
五、《数据库原理及应用》课程设计报告样例见附件一
六、课题选择见附件二
七、任务安排
实验次数
任务
说明
一
需求分析(确定系统的功能,绘制系统的功能模块图、业务流程图及界面)
对功能模块图、业务流程图、界面要有必要的说明
二
概念模型设计(E_R图)、逻辑结构设计
使用PowerDesigner完成
三
建立系统数据库、测试数据的录入、完整性约束
数据表的建立、完整性约束、触发器、数据录入采用SQL语句实现
四
功能测试
根据需求分析时设计的界面编写相应的SQL语句
附件一
成绩
《数据库原理及应用》
课程设计报告
课题:
专业:
姓名:
学号:
软件工程学院
2016年
综合教务系统的分析和设计
一、需求分析
1、系统目标:
实现一个基于web的综合教务管理系统,完成班级信息管理,学生信息管理,课程信息管理和学生选课管理等功能。
2、系统功能需求:
本系统的用户分为超级用户和普通用户两类,超级用户负责系统维护,包括对班级信息,学生个人信息,课程信息的录入,修改,查询,删除等。
普通用户即选课学生则只具有为自己选课的权限。
(1)功能划分:
用户通过身份验证后进入主界面。
主界面为超级用户提供6项选择:
学生信息管理,课程信息管理,班级信息管理,选课,口令修改和退出系统。
普通用户有4项功能选择:
选课,课程查询,口令修改和退出系统。
(2)管理员身份登录:
●登录:
根据用户名和密码判断是否是合法用户以及用户的类型。
●班级信息管理:
给出所有班级的列表,超级用户可以实现增加,修改,查找,删除班级信息,维护指定班级所有学生信息,为指定班级设定必修课和选课学分限制等功能。
在维护指定班级学生信息功能中,超级用户可以实现增加,修改,删除学生信息,察看某一学生选课情况,为学生更改口令等功能。
在指定班级必修课功能中,以课表形式列出班级所有必修课的课程信息,实现为一个班级增加或删除必修课的功能。
a)增加新班级:
在右下角的相应文本框中输入增加的班级名称,最大、最小学分限制,点击确定后,如果没有重复的班级名称,而且最大学分限制大于最小学分限制,则成功加入新的班级。
b)修改原有班级:
在右下角的相应文本框中输入修改的班级名称,点击确定后,下方文本框中会出现原有的最大最小学分限制。
输入新的学分限制后,如果该班级的所有学生已经选课的总学分符合新的学分限制标准,则修改成功。
c)删除原有班级:
在右下角相应文本框中输入欲删除的班级名称,点击确定后,如果该班级所有学生都已经被删除,并且该班级所有必修课都已经被删除,则可以将该班级删除。
●学生信息管理:
给出所有学生的列表,超级用户可以增加,修改,删除,查找学生信息,察看某个学生选课情况,为学生修改口令等功能。
本项功能与班级信息维护功能中的维护指定班级学生信息功能相似,不同的是本项功能中将列出所有班级的所有学生信息。
a)增加新学生,在右下角的文本框中输入相应的学生学号,姓名,生日,班级,性别信息,点击确定按钮,如果存在相应的学生班级,并且学生学号不重复,则可以成功的添加新学生到该班级。
b)修改学生信息:
在右下角的文本框中输入相应的学生学号,点击确定按钮,则可以在相应文本框中看到该学生原有的个人信息。
可以进行修改。
注意修改的班级必须为已经存在的班级,学号不能与已经存在的学号重复。
c)删除学生信息:
在右下角的文本框中输入相应的学生学号,点击删除按钮,则可以删除相应的学生个人信息,注意在选课表中,该学生的所有选课信息必须全部删除。
●课程信息管理:
加入,修改,删除课程纪录,察看某门课的选课情况,查询指定的课程信息。
a)增加新课程:
在右下角的相应文本框中输入课程号,课程名称等信息,然后点击确定按钮,如果在数据库中没有重复的课程编号,则可以完成添加一门新课程到数据库中。
注意在输入增加的上课时间时,用分号分隔开不同的上课时间。
b)修改原来课程信息:
在右下角的课程号文本框中输入欲修改的课程编号,点击确定按钮后,在相应文本框中出现原有的相应课程信息。
修改后点击确定按钮,则完成对课程信息的修改。
注意:
在修改学分时,如果造成某些已经选了该课的学生的学分超过学分限制,则不能完成对该门课程信息的修改。
或者在修改上课时间时,造成某些已经选修了该课的学生上课时间的冲突,则不能完成相应的修改。
c)删除原有课程:
在右下角的文本框中输入相应课程号,点击确定按钮,则完成对该课程的删除操作。
注意如果有学生选择课该门课程,则不能完成该门课程的删除操作。
●选课管理:
以课表的形式列出学生选课情况,学生可以为自己选修或者退选课程,而超级用户可以为任何学生选修或者退选课程。
每个班级都有选课的学分限制,不允许学生选择课程的总学分超过所在班级的选课最大学分限制,而当退出选课功能时,如果选取课程总学分未达到所在班级选课最小学分限制则给出警告信息(因为学生可以多次进入选课界面选课)。
a)增加班级必修课:
在右下角输入欲增加的课程号和增加课程的班级编号,点击确定按钮,就可以完成增加该班级的一门必修课。
如果在数据库中存在重复的信息,或者相应的课程号,班级编号不存在,则不能完成向该班级增加必修课。
b)删除班级必修课,在右下角输入欲删除的课程号和删除课程的班级编号,点击确定按钮,就可以完成删除该班级的一门必修课。
如果在数据库中不存在相应的信息,或者输入的课程号,班级编号不存在,则不能完成从该班级删除必修课。
c)增加学生选课信息:
在右下角输入欲增加课程的学生编号和课程编号,点击确定按钮,则完成为该学生增加一门课程。
如果在数据库中存在重复的信息,或者学生、课程号不存在,或者该学生的总学分限制了增加课程,或者与该学生已经选择的课程上课时间有冲突,都不能完成为该学生增加课程的信息。
d)删除学生选课信息:
在右下角输入学生学号和欲删除的课程编号,点击确定按钮,则完成为该学生删除一门课程。
如果数据库中不存在相应信息,或者相应的学号,课程号不存在,则不能完成为该学生删除课程。
●用户管理:
用户需要输入原口令,并且两次输入新口令一致后,系统即用新口令代替旧口令。
增加账号:
输入该账号对应的学号,并输入新的账号、密码。
选择增加用户的角色,包括有管理员,学生。
如果是增加管理员,则无须输入学号。
注意在输入的时候,如果数据库中有重复的信息,或者学生的学号在数据库中不存在,就会无法输入相应的信息。
a)修改账号:
输入相应的账号,并点击确定按钮,在相应的文本框中会出现该账号对应的学号,账号,密码。
修改后点击确定按钮,则完成对账号信息的修改。
注意如果修改后的信息在数据库中有重复,或者学生的学号在数据库中不存在,就会无法修改相应的信息。
b)删除账号:
输入相应的账号,并点击确定按钮,则完成对该账号信息的删除。
●退出系统:
当用户退出系统时,如果选取的课程总学分未达到所在班级选课最小学分限制,则给出警告信息。
(3)学生身份登录:
●登录:
根据用户名和密码判断是否是合法用户以及用户的类型。
●课程信息查询:
默认界面是课程信息查询界面,此时将数据库中所有的课程信息列出
a)右上边可以输入相关的课程信息进行查询,包括有课程编号,课程名称,授课教师,可以进行模糊查询,在其中输入任意几项,点击确定按钮,可以在右下方查询到相应的课程信息。
b)模糊查询指在相关的文本框中输入相应信息的一部分,也可以查到类似的信息。
例如对于上面的课程,在课程名称一栏中输入“语言”,则会列出c++语言和java语言的相关课程信息。
●选课管理:
学生本人添加,删除选择的课程,并自动显示已经选择的总学分数
a)选择新课程:
在右上方输入要添加的课程编号,点击确定按钮,则在下方自动添加上新选择的课程。
注意:
如果选择的新课程与已经选择的课程有重复,或者时间上有冲突,或者选择的总学分超出了该班级的学分限制,则不能添加新的课程。
b)删除旧课程:
只要点击右下方该课程相应的删除按钮,就可以删除该课程。
注意:
为该班级自动添加的必修课不能由学生删除。
●用户管理:
学生只能修改自己的密码,在右上方显示学生的个人信息。
(4)系统流程图:
二、数据库的概念设计
1.系统的概念模型:
选课系统概念模型的E/R图
上图是选课系统的概念模型的E/R图,该系统涉及的实体集有:
班级实体集:
具有属性班级名称和选课学分限制。
学生实体集:
具有属性学号、姓名、性别和生日。
课程实体集:
具有属性课程号、课程名、学分、授课教师、接纳人数。
上课时间实体集:
具有属性时间。
一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:
M的联系。
一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M:
N的联系。
一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M:
N的联系。
一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:
N的联系。
三、将概念模型转换成关系模型
1.将E-R模型转换为关系模式
(1)班级实体集可以转换为关系:
CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)
CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集可以转换为关系
STUDENT(STUDENTID,NAME,SEX,BIRTHDAY)
STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日
(3)课程实体可以转换为关系
COURSE(COURSEID,COURSENAME,CREDIT,TEACHER,ACCEPTION)
COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。
(4)班级和学生之间的联系是1:
M的联系,所以没有必要为其建立一个关系,可以通过扩展学生关系来表示:
STUDENT(STUDENTID,NAME,SEX,BIRTHDAY,CLASSNAME)
CLASSNAME表示学生所在班级名。
(5)班级和课程之间的必修联系可以转换为关系:
CLASSCOURSE(CLASSNAME,COURSEID)
CLASSNAME表示班级名称,COURSEID表示课程号。
(6)学生和课程之间的选修联系可以转化为关系:
STUDENTCOUSE(STUDENTID,COURSEID)
STUDENTID表示学号,COURSEID表示课程号。
(7)课程和上课之间的联系可以转化为关系:
COURSETIME(COURSEID,TIME)
COURSEID表示课程号,TIME表示上课时间。
2.数据库表结构设计:
把关系模型转化为表结构:
班级信息表(class):
包含所有的班级信息,定义如下:
域名
含义
数据类型
例子
备注
CLASSNAME
班级名称
字符类型
计71
主键
MAXCREDIT
最大学分限制
数值类型
30
MINCREDIT
最小学分限制
数值类型
20
建立班级信息表的SQL语句
学生信息表(student):
包含所有学生的个人信息,定义如下:
域名
含义
数据类型
例子
备注
STUDENTID
学号
字符类型
971329
主键
NAME
姓名
字符类型
王强
SEX
性别
字符类型
男
BIRTHDAY
生日
日期类型
79/07/15
CLASSNAME
班级名称
字符类型
计71
外键
建立学生信息表的SQL语句
课程信息表(course):
包含所有课程信息,定义如下:
域名
含义
数据类型
例子
备注
COURSEID
课程号
字符类型
000001
主键
COURSENAME
课程名称
字符类型
数值分析
CREDIT
学分
数值类型
4
TEACHER
任课教师
字符类型
刘强
ACCEPTION
接纳人数
数值类型
28
建立课程信息表的SQL语句
班级必修课表(classcourse):
包含所有班级的必修课信息,定义如下:
域名
含义
数据类型
例子
备注
CLASSNAME
班级名称
字符类型
计71
外键
COURSEID
课程号
字符类型
000001
外键
建立班级必须课信息表的SQL语句
学生选课表(studentcourse):
包含所有学生的选课信息,定义如下:
域名
含义
数据类型
例子
备注
STUDENTID
学号
字符类型
971329
外键
COURSEID
课程号
字符类型
000001
外键
建立选课信息表的SQL语句
上课时间表(coursetime):
包含所有课程的上课时间,定义如下:
域名
含义
数据类型
例子
备注
COURSEID
课程号
字符类型
000001
外键
COURSETIME
上课时间
数值类型
21
表示星期2第1节
COURSETIME是一个整数,整除10的商表示星期几上课,余数表示当天的第几节课。
建立上课时间信息表的SQL语句
用户账号表(user):
包含所有用户的账号和口令信息,定义如下:
域名
含义
数据类型
例子
备注
USERID
用户账号
字符类型
ADMIN
USERPASSWD
用户密码
字符类型
ADMIN
USERAUTH
用户权限
数值类型
0
STUDENTID
用户学号
字符类型
971329
USERAUTH用0,1表示用户权限,0表示管理员,1表示普通用户。
其中普通用户的STUDENTID为学生的学号。
建立用户账号信息表的SQL语句
3.实现数据完整性:
通过各种约束,缺省,规则和触发器实现数据的完整性。
由于教务系统的重要性,和各个数据之间的复杂相关性,保证数据的完整性显得更为重要。
不能让用户随意的删除,修改数据。
(1)CHECK约束保证最大限选学分要大于最小限选学分。
相关的SQL语句
(2)创建规则保证学生的年龄在18岁到35岁之间(出生日期在1965-1-1到1982-12-31日之间),不会输入错误数据。
相关的SQL语句
(3)创建触发器,保证在添加学生信息的时候,自动将该班级的必修课添加到选课表中。
相关的SQL语句
以上只是该教务系统中实现数据完整的部分方法。
实际上要考虑的还有很多方面,实现手法也是多种多样。
在此留给学生自己思考。
四、基于SQL的系统功能测试(根据SQL语句判断数据库设计是否与需求设计吻合)
1.给定用户名和密码判断该用户是否合法
相关的SQL语句
2.给定课程名称查询该课程的相关信息
相关的SQL语句
3.
……..
(与需求分析中设计的界面相关的SQL语言)
附件二
题目
(1)图书销售管理系统的设计与实现
调查一个书店的图书销售业务,设计的图书销售系统主要包括进货、退货、统计、销售、查询功能。
①进货:
根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。
输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。
②退货:
顾客把已买的书籍退还给书店。
输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。
③统计:
根据销售情况输出统计的报表。
一般内容为每月的销售总额、销售总量及排行榜等信息。
④销售:
输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。
⑤查询:
允许用户设置条件进行进货、退货、统计、销售和库存书籍的信息查询。
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(2)通用工资管理系统的设计与实现
考察某中小型企业,要求设计一套企业工资管理系统,其中应具有一定的人事档案管理功能。
工资管理系统是企业进行管理的不可缺少的一部分,它是建立在人事档案系统之上的,其职能部门是财务处和会计室。
通过对职工建立人事档案,根据其考勤情况以及相应的工资级别,算出其相应的工资。
为了减少输入帐目时的错误,可以根据职工的考勤、职务、部门和各种税费自动求出工资。
为了便于企业领导掌握本企业的工资信息,在系统中应加入各种查询功能,包括个人信息、职工工资、本企业内某一个月或某一部门的工资情况查询,系统应能输出各类统计报表。
(3)报刊订阅管理系统的设计与实现
通过对某企业的报刊订阅业务进行分析、调查,设计该企业的报刊订阅管理系统。
主要实现以下功能:
①录入功能:
录入订阅人员信息、报刊基本信息;
②订阅功能:
订阅人员订阅报刊(并计算出其金额);
③查询功能:
按人员查询、按报刊查询、按部门查询有关订阅信息,对查询结果能进行预览和打印;
④统计功能:
按报刊统计、按人员统计、按部门统计,对统计结果能进行预览和打印;
⑤系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(4)医药销售管理系统的设计与实现
调查从事医药产品的零售、批发等工作的企业,根据其具体情况设计医药销售管理系统。
主要功能包括:
①基础信息管理:
药品信息、员工信息、客户信息、供应商信息等;
②进货管理:
入库登记、入库登记查询、入库报表等;
③库房管理:
库存查询、库存盘点、退货处理、库存报表等;
④销售管理:
销售登记、销售退货、销售报表及相应的查询等;
⑤财务统计:
当日统计、当月统计及相应报表等;
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(5)电话计费管理系统的设计与实现
对邮电局电话计费业务进行调查,设计的系统要求:
①能用关系数据库理论建立几个数据库文件存储用户信息、收费员信息和收费信息等资料;
②具有对各种数据文件装入和修改数据的功能;
③能在用户交费同时打印发票;
④能通过统计制定未来邮局服务计划方案;
⑤有多种查询和统计功能。
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(6)宾馆客房管理系统的设计与实现
具体考察本市的宾馆,设计客房管理系统,要求:
①具有方便的登记、结帐功能和预订客房的功能,能够支持团体登记和团体结帐;
②能快速、准确地了解宾馆内的客房状态,以便管理者决策;
③提供多种手段查询客人的信息;
④具备一定的维护手段,有一定权利的操作员在密码的支持下才可以更改房价、房间类型、增减客房;
⑤完善的结帐报表系统;
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(7)学生学籍管理系统的设计与实现
调查学校学生处、教务处,设计一个学籍管理系统。
要求:
①建立学生档案,设计学生入学、管理及查询界面;
②设计学生各学期、学年成绩输入及查询界面,并打印各项报表;
③根据各年度总成绩,查询、输出学生学籍管理方案(优秀、合格、试读、退学);
④毕业管理;
⑤系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(8)车站售票管理系统的设计与实现
考察市长途汽车站、火车站售票业务,设计车站售票管理系统。
要求:
①具有方便、快速的售票功能,包括车票的预订和退票功能,能够支持团体的预订票和退票。
②能准确地了解售票情况,提供多种查询和统计功能,如车次的查询、时刻表的查询等;
③能按情况所需实现对车次的更改、票价的变动及调度功能;
④完善的报表系统;
⑤具备一定的维护功能,如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(9)汽车销售管理系统的设计与实现
调查本地从事汽车销售的企业,根据企业汽车销售的情况,设计用于汽车销售的管理系统,主要功能有:
①基础信息管理:
厂商信息、车型信息和客户信息;
②进货管理:
车辆采购、车辆入库;
③销售管理:
车辆销售、收益统计;
④仓库管理:
库存车辆、仓库明细、进销存统计;
⑤系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(10)仓储物资管理系统的设计与实现
通过调查一个仓储企业,对仓库的管理业务流程进行分析。
库存的变化通常是通过入库、出库操作来进行。
系统对每个入库操作均要求用户填写入库单,对每个出库操作均要求用户填写出库单。
在出入库操作同时可以进行增加、删除和修改等操作。
用户可以随时进行各种查询、统计、报表打印、帐目核对等工作。
另外,也可以用图表形式来反应查询结果。
(11)企业人事管理系统的设计与实现
通过调查本地的企业,根据企业的具体情况设计企业人事管理系统。
主要功能有:
①人事档案管理:
户口状况、政治面貌、生理状况、合同管理等;
②考勤加班出差管理;
③人事变动:
新进员工登记、员工离职登记、人事变更记录;
④考核奖惩;
⑤员工培训;
⑥系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
(12)选修课程管理系统的设计与实现
调查学校教务处,设计用于管理全校学生选修课活动的系统。
主要功能有:
①全校选修计划课程管理;
②全校选修开课课程管理;
③全校学生选课管理;
④全校选修课成绩管理;
⑤打印报表;
⑥系统维护,如数据安全管理(含备份与恢复)、操作员管理、权限设置等;
要求:
①设计学生选课录入界面及学生选课查询界面;
②设计课程输入界面和学生选课表及课程选修情况查询界面;
③根据学生库和课程库,输出学生课程表(选课冲突时按学号分配课程);
(13)学生可以提出课题,得到老师同意即可。
严禁中途换题,要求换题者一律成绩为零。