完整版选课系统的数据库设计毕业设计定稿Word文档格式.docx
《完整版选课系统的数据库设计毕业设计定稿Word文档格式.docx》由会员分享,可在线阅读,更多相关《完整版选课系统的数据库设计毕业设计定稿Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
正文目录
内容摘要1
1.数据库系统描述1
1.1学生选课数据库设计的背景1
1.2学生选课数据库设计的目的1
2.可行性分析2
2.1技术可行性2
2.2高效、准确可行性3
2.3操作可行性3
3.需求分析3
3.1需求描述3
3.2需求分析任务3
3.3数据字典4
4.概要设计4
5.学生选课数据库系统设计的业务逻辑5
5.1E-R图以及关系模式5
5.2E-R图6
5.3范式分析7
6.创建表10
6.1数据库的数据插入语句13
6.2数据库的特定选择查询14
6.3数据库的更新查询15
7.数据库的安全管理措施,指定用户并进行相关授权15
7.1数据库的安全管理措施15
7.2数据库的授权操作16
(姚雪)
摘要:
本文依据广泛采用的是工程化6阶段开发设计过程与方法,对学生选课系统进行了可行性分析、需求分析、给出了数据字典,通过概要设计得出了系统功能结构,建立了系统的ER模型,随后给出了数据表设计及创建的SQL语句。
关键词:
选课ER模型数据表创建
1数据库系统描述
1.1学生选课数据库设计的背景
随着科技的不断发展,学生的选课信息已经摈弃了以往的手工文件管理阶段,进化成为了高科技、高效率的数据库应用程序来进行管理。
学生选课信息管理系统是基于SQLSERVER数据库为后台、VisualStudio2008开发应用软件作为前台的一种C/S模式的数据库应用程序。
使用学生选课信息管理系统可以更高效、准确地进行学生选课、查询、记录添加等各种操作,大大减少信息管理人员的负担。
网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。
但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题。
1.2学生选课数据库设计的目的
随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
学生选课系统作为一种现代化的教学技术,越来越受到人们的重视,是一个学校不可或缺的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够准确、及时、有效的查询和修改学生选课情况。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了极大的便捷。
学生在公共机房,或者宿舍的个人电脑上便可以通过校园网络来选课。
在选课期间内,学生能够使用选课系统灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则可以通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率,为广大师生及相关人员节省了极多的时间。
数据库对于一个应用系统的意义是相当重要的,一个设计良好的数据库系统一方面,能够给开发者带来便捷,更轻松的进行系统设计与编码;
另一方面,对于系统的后期维护也非常重要,一个良好的数据库系统能够保证系统的可扩充性,以及系统的移植性等问题。
全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。
随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。
2可行性分析
2.1技术可行性
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。
因此,比较适合于采用数据库管理。
在存储量、速度方面都能满足数据库运行的要求。
在技术难度方面完全可以实现。
本系统的设计是在WindowsXP中文版操作系统环境下目,利用多种数据库产品,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库产品为SQLServer,可用于开发Windows环境下的种类应用程序。
技术可行性考虑如下几方面:
1、在当前的限制条件下,该系统的功能目标能否达到;
2、利用现有的技术,该系统的功能能否实现;
3、对开发人员的数量和质量的要求并说明这些要求能否满足;
4、在规定的期限内,本系统的开发能否完成。
2.2高效、准确可行性
学生学籍选课管理系统省去了老师为学生展示学校为学生提供的选修课程,并作介绍,考试后把分数抄录多次以做备案和公告这些大量繁杂而由单一枯燥的劳动,可以让老师把精力放在教学和组织教学等更重要更具创造性的事情上,这就显著的提高了他们的工作效率。
2.3操作可行性
本系统可以运行在WindowsXP等操作系统上,一般系统都可以运行而且操作非常的简单,一看即懂,方便大家使用,即使不具备一定电脑知识的人也可以熟练掌握。
3需求分析
3.1需求描述
随着中国教育信息化时代的来临,各大校园对于内部信息的管理已经采用IT新潮的应用和管理系统技术来进行。
为了紧随信息化时代的脚步,不被时代所淘汰,学生的信息管理也应当由传统的手工管理模式进化为软件与数据库结合应用的管理模式,从而加强学生信息的管理能力,让学校整体管理水平得到较大的提升。
3.2需求分析任务:
⑴主要为学校管理者提供有效的管理工具
⑵完成对学生信息的输入,学生成绩的输入,系统用户的注册;
⑶生信息、成绩的删除、修改操作;
⑷方便的成绩查询,支持按条件查询;
⑸由于该系统的使用对象多,要求有较好的权限管理;
⑹由于操作人员的计算机知识普遍不高,要求有良好的人机界面;
3.3数据字典
数据元素
数据类型
长度
数据来源
学号
char
5
学生表
学生姓名
8
性别
2
所在系
20
课程号
3
课程名
操作员编号
4
操作员表
操作员姓名
12
密码
10
权限
4.概要设计
在21世纪的科技时代,科学技术突飞猛进,信息社会的高科技时代,商品经济化的高效益,计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。
为了适应现代社会人们高度强烈的时间观念,学生成绩管理系统为教学办公带来了极大的方便。
该学生成绩管理系统是以数据库查询语言编写。
系统管理员、教师、学生只需通过简单的操作,用户都可以了解本系统软件的基本工作原理。
用户只需进行输入一些简单的汉字、数字,或用鼠标点击即可达到自己想要的目标。
学生选课信息管理系统主要提供学生查询,学生可以通过该系统查阅与自己相关信息。
教师可以通过成绩管理系统查阅学生成绩信息,教师信息等相关操作。
系统管理员可以实现以上的所有功能,还有对学生的添加、删除、修改、教师的添加、删除、修改,数据库的还原等相关操作。
此外还需要配置一些管理人员,人员的数目是根据管理员的数量确定的。
管理人员在对应的学生成绩情况进行整理工作。
主要负责学生选课信息管理这一模块,下面基于详细介绍:
学生成绩管理系统分添系统、修改系统、删除系统、查询系统、推出系统。
根据模块化的思想,把系统分为六大模块,然后对每个模块具体分析.这样条
理更清晰.开发制作更容易.具体系统功能如下:
图4.1系统功能
5学生选课数据库系统设计的业务逻辑
5.1E-R图以及关系模式
在我们的数据库系统中共有6个实体:
学生、教师、管理员、专业、院系、课程。
(1)学生的属性:
学号、姓名、性别、生日、密码
(2)教师的属性:
工号、姓名、性别、生日、密码、职称
(3)管理员的属性:
工号、姓名、性别、生日、密码、权限标志
(4)专业的属性:
专业号码、专业名、辅导员、联系方式、专业介绍
(5)院系的属性:
系号码、系名称、系主任、联系方式、系介绍
(6)课程的属性:
课程号码、学时、学分、课程介绍
(7)控制设置属性:
选课控制、成绩录入控制
5.2E-R图:
各个实体的E-R图如下所示:
图1学生
图2教师
图3管理员
图4专业
图5系
图6课程
然后,将以上实体之间联系表示出来,画出数据库系统的E-R图,如图7所示:
图7数据库系统E-R
5.3范式分析
(1)分析关系模式学生(学号、姓名、性别、生日、密码)在关系模式学生(学号、姓名、性别、生日、密码)中,每一个属性都不能再分,故,属于1NF.
在关系模式学生(学号、姓名、性别、生日、密码)中,主键为学号,所以,姓名,性别,专业,都是非主属性。
根据候选键定义可知,学号完全决定姓名,性别,生日,密码,即每一个非主属性完全依赖于候选键,故,该关系模式属于2NF。
在关系模式学生(学号、姓名、性别、生日、密码)中,学号、姓名、性别、生日、密码,都是非主属性,且每一个非主属性不传递函数依赖于候选键学号,即,学号决定姓名,但姓名不决定性别,不决定生日和密码。
故,该关系模式属于3NF。
在关系模式学生(学号、姓名、性别、生日、密码)中,候选键为学函数依赖为学号—>
姓名,学号—>
性别,学号—>
生日,学号—>
密码故,该关系模式属BCNF。
由于在关系模式学生(学号、姓名、性别、生日、密码)中不存在多值依赖,故该关系模式不属于4NF。
综上所述,关系模式学生(学号、姓名、性别、生日、密码)为BCNF。
(2)分析关系模式教师(编号,姓名,性别,职称,所教科目)和课程(课程号码、学时、学分、课程介绍)
在关系模式教师(工号、姓名、性别、生日、密码、职称)和课程(课程号码、学时、学分、课程介绍)中,每一个属性都不能再分,故,属于首先满足1NF.主键分别为编号和课程号,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于2NF。
且每一个非主属性不传递函数依赖于候选键学号,故属于3NF。
而且,候选键编号和课程号决定一切非主属性,故,该关系模式属于BCNF。
由于关系模式中不存在多值依赖,故,不属于4NF。
即,关系模式教师(工号、姓名、性别、生日、密码、职称)和课程(课程号码、学时、学分、课程介绍)属于BCNF。
(3)分析关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)
在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,每一个属性都不能再分,故,先属于1NF。
在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,主键为工号,其他都是非主属性,每一个非主属性完全依赖于候选键,故,该关系模式属于2NF。
在关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)中,姓名,性别、生日、密码、权限标志都是非主属性,由于存在函数依赖,即,工号—>
姓名,性别—>
姓名,故该关系模式不属于3NF。
综上所述,关系模式管理员属性(工号、姓名、性别、生日、密码、权限标志)为2NF。
(4)分析关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)
在关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)中,每一个属性都不能再分,故,属于1NF.
在关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)中,主属性为专业号码和系号码每一个非主属性不完全依赖于主属性,故,该关系模式不属于2NF。
综上所述,关系模式专业属性(专业号码、系号码、专业名、辅导员、联系方式、专业介绍)为1NF。
(5)分析关系模式院系(系号码、系名称、系主任、联系方式、系介绍)
在关系模式院系(系号码、系名称、系主任、联系方式、系介绍)中,每一个属性都不能再分,故,先属于1NF。
在关系模式院系(系号码、系名称、系主任、联系方式、系介绍)中,主键为系号码,其他都是非主属性,每一个非主属性完全依赖于候选键,故,该关系模式属于2NF。
在关系模式院系(系号码、系名称、系主任、联系方式、系介绍)中,由于存在函数依赖,即,系名称——>
系号码,故,该关系模式不属于3NF。
综上所述,关系模式院系(系号码、系名称、系主任、联系方式、系介绍)为2NF。
(6)分析关系模式选课信息(学号、课程号码、教师工号、成绩)
在关系模式选课信息(学号、课程号码、教师工号、成绩)中,每一个属性都不能再分,故,属于首先满足1NF.
在关系模式选课信息(学号、课程号码、教师工号、成绩)中,主键分别为学号和课程号码,每一个非主属性完全依赖于候选键,故,这两个关系模式首先属于2NF。
综上所述,关系模式选课信息(学号、课程号码、教师工号、成绩)为3NF。
6.创建表
数据库的创建语句
(1)创建dept院系信息表
CREATETABLEdept(
DeptNumchar(10)NOTNULLPRIMARYKEY,
DeptNamechar(20)NOTNULL,
DeptChairmanchar(10)NOTNULL,
DeptTelchar(15)NOTNULL,
DeptDesctextNOTNULL,
);
(2)创建major专业信息表
CREATETABLEmajor(
MajorNumchar(10)NOTNULLPRIMARYKEY,
DeptNumchar(10)NOTNULL,
MajorNamechar(20)NOTNULL,
MajorAssistantchar(10)NOTNULL,
MajorTelchar(15)NOTNULL,
FOREIGNKEY(DeptNum)REFERENCESdept(DeptNum)
(3)创建student学生信息表
CREATETABLEstudent(
StudentNumchar(10)NOTNULLPRIMARYKEY,
MajorNumchar(10)NOTNULL,
StudentNamechar(10)NULL,
StudentSexchar
(2)NOTNULL,
StudentBirthdaydateNOTNULL,
StudentPasswordchar(20)NOTNULL,
FOREIGNKEY(MajorNum)REFERENCESmajor(MajorNum));
(4)创建teacher教师信息表
CREATETABLEteacher(
TeacherNumchar(10)NOTNULLPRIMARYKEY,
TeacherNamechar(10)NOTNULL,
TeacherSexchar
(2)NOTNULL,
TeacherBirthdaydateNOTNULL,
TeacherTitlechar(20)NULL,
FOREIGNKEY(DeptNum)REFERENCESdept(DeptNum)
(5)创建manager管理员信息表
CREATETABLEmanager(
ManagerNumchar(10)NOTNULLPRIMARYKEY,
ManagerNamechar(10)NOTNULL,
ManagerSexchar
(2)NOTNULL,
ManagerBirthdatedateNOTNULL,
ManagerRightsintNOTNULL
);
(6)创建course课程信息表
CREATETABLEcourse(
CourseNumchar(10)NOTNULLPRIMARYKEY,
CourseNamechar(20)NOTNULL,
CourseCreditfloatNOTNULL,
CourseClassintNOTNULL,
CourseDesccharNOTNULL,
(7)创建stucourse学生选课信息表
CREATETABLEstucourse(
StudentNumchar(10)NOTNULL,
CourseNumchar(10)NOTNULL,
TeacherNumchar(10)NOTNULL,
GradeintNULL,
FOREIGNKEY(StudentNum)REFERENCESstudent(StudentNum),
FOREIGNKEY(CourseNum)REFERENCESCourse(CourseNum),
FOREIGNKEY(TeacherNum)REFERENCESteacher(TeacherNum),
6.1数据库的数据插入语句
密码为’121’的一条记录。
Insert
Intostudent(StudentNum,StudentName,StudentSex,StudentBirthday,MajorNum,StudentPassword)
02’,密码为’123’的一条记录。
Insert
Into
student(StudentNum,StudentName,StudentSex,StudentBirthday,MajorNum,StudentPassword)
密码为’125’的一条记录。
Intostudent(StudentNum,StudentName,StudentSexStudentBirthday,MajorNum,StudentPassword)
6.2数据库的特定选择查询
(1)查询学生表中学生的学号姓名和专业号
SelectStudentNum,StudentName,MajorNum
Fromstudent
(2)查询学生表中性别为“女”的学生的学号
SelectStudentNum
WhereStudentSex=’女’
(3)查询教师表中性别号为“02”的教师的教师号
SelectTeacherNum
Fromteacher
WhereDeptNum=’02’
(4)查询学生表和专业表中专业号相同的学生的学号、姓名、专业号、专业名称
SelectStudentNum,StudentSname,ManagerNum,managername
Fromstudent,major
Wherestudent.managernum=major.managernum
(5)查询学生表和课程表中学号相同的学生的学号,姓名,课程号,教师号
SelectStudentNum,StudentSname,CourseNumTeacherNum
Fromstudent,course
Wheresrudent.studnetnum=course.Studnetnum
6.3数据库的更新查询
Updatestudent
Setmajornum=’03’
(2)更新课程表中课程号为“01”的课程学分为“2”。
Updatecourse
Setcoursecredit=’2’
Wherecoursenum=’01’;
Delete
7.数据库的安全管理措施,指定用户并进行相关授权
7.1数据库的安全管理措施
1.用一个用户名或者用户标识号来标识用户身份。
系统内部记录着所有合法用户的标识,系统鉴别此用户是否为合法用户,若是,则可以进入