数据库原理期末大作报告.docx
《数据库原理期末大作报告.docx》由会员分享,可在线阅读,更多相关《数据库原理期末大作报告.docx(16页珍藏版)》请在冰豆网上搜索。
![数据库原理期末大作报告.docx](https://file1.bdocx.com/fileroot1/2023-1/21/2eca258a-901b-4522-8da6-c9770abe1ba1/2eca258a-901b-4522-8da6-c9770abe1ba11.gif)
数据库原理期末大作报告
《数据库原理课程设计实验报告》
项目名称:
学生信息管理数据库设计
姓名:
专业:
学院:
1.需求分析
引言
学校是一个重要的教育部门,每年都有大量的人才从这里走出去。
对于一个现代化的学校来说,信息化管理是必须的,而老师作为学校的一个直接面对学生的环节,同样需要加强信息化管理。
如何把学生的个人信息方便简洁的记录下来,又要保证老师的工作量的问题,同时确保老师的教学负担不能过大,信息处理的高效,并保证系统的实用性强,这是本系统设计的目的。
1.1设计项目:
本次课程设计,我们小组选定东华理工大学学生管理系统为设计项目,将完成项目的需求分析,设计,开发,测试等任务,并产生各个阶段的文档。
1.2流程描述;
1.2.1新生注册:
(1)新生持录取通知书入校,到自己的学院接待处报道,老师根据该生报道情况进行登记,确定学生已经入校。
分配寝室,班级。
将入校证明交给学生,新生由负责人员带领到财务部门登记缴费。
收费人员根据学生被录取的专业,登入收费管理系统,输入学生信息,根据其专业本科类别,学生将银行卡上交,收费人员输入卡号划拨相应的金额,学生输入密码,并按“确定”结束。
完成后上交学生档案,并由收费处统一将档案交到学生处。
(2)学生处对学生档案按学院,系别,班级进行分类。
记录姓名,性别,籍贯,出生年月,家庭情况等相关情况,登记进表,记录学籍。
分配学号给每个学生。
教务处安排各班课表,上课教室,以及负责上课的老师,由各班班主任负责告知班级学生。
之后各班选取班委,进行领书等开学前的准备活动。
1.2.2登记成绩:
(1)通过各学期的考试情况,教务处把每次的考试成绩都记录到学生信息表中。
(2)学生通过老师提醒和信息栏可以报名参加各种活动和比赛,包括运动会和各类学科的竞赛,通过自身的努力所获得的奖状和证书,会使学生得到相应的加分,这些信息全部都要记录到学生的档案中。
这些奖状和证书的获得以便于学生获得加分项目,将对以后评优评先和奖学金的获得具有重要的参考价值。
(3)学校教务处根据国家规定按一定的比例分配给每个学院奖学金的获得人数,学院再根据一定比例将奖学金获得人数分配给各个专业,各个专业的辅导员和学生干部根据学生本年度的学习成绩和德智体美的各个方面的表现以及平时的个人表现来给全部学生进行排序,选出若干名优胜学生进行班级投票,从而选出获得奖学金的学生。
将获得奖学金的学生的学生信息记录到学生档案。
(4)在大学期间,有部分同学因为没有努力学习而导致专业课程没有通过,通过补考后依然没有通过而导致该生在下一学期对本课程的重新学习,这部分同学也需要记录到学生档案。
还有一部分同学在考试期间不遵守考试纪律,所作出的作弊行为,包括小抄和使用手机,这部分学生经过老师多次提醒仍然执迷不悟,违反考试纪律,学校会对这部分学生给予警告,记过和开除学籍等处分。
将这些被处分了的学生的学生信息记录到学生档案。
(5)如果本校学生在大学期间由于某种原因和别人发生争执,从而发生暴力事件,危及他人的生命和财产安全,学校会根据事件的严重性对该学生给予警告,记过和开除学籍等不同程度的处分。
这写被处分的学生的学生信息也会被记录到学生档案。
(6)通过考试成绩和奖惩情况,根据学校的学分绩点制的规定把学生的考试成绩转换成学分,从而制定学分表。
根据学生在校期间所获得的奖惩情况以及考试所修得的学分进行统计,看是否达到了毕业的标准。
1.2.3查询信息:
登入东华理工学校网址,进入教务在线,选择成绩查询,进入查询界面,输入学号和密码,选择学期查询成绩;也可以选择课表查询,进入查询界面,输入学号和密码,查看学生所在专业的课程;还可以选择学籍查询,进入查询界面,输入学号和密码,查看学生的学籍。
1.3由上可知,我们需要记录的信息是院系,班级,学生基本情况,学籍变更情况,奖惩情况。
1.4关于安全性和完整性的要求:
1)安全性要求
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,老师可以设置密码来限制别人访问系统的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
2)完整性要求
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用
check约束,或者通过使用触发器和级联更新。
1.5学生信息管理系统数据流程图:
2.概念结构设计
2.1E-R图
2.1.1
根据不同的对象,分别画出各分E-R图:
1)院系的E-R图:
2)班级的E-R图:
3)学生信息E-R图:
4)学籍变更记录的E-R图:
5)奖励记录的E-R图:
6)处罚记录的E-R图:
2.1.2另外涉及到代码的实体有
政治面貌
学籍变动
奖励类别
惩罚类别
2.1.3总体E-R图:
注:
为方便查看已省略实体属性
3.逻辑结构设计
3.1关系模型设计:
1)院系信息设计表:
字段表
数据类型(长度)
必添字段
说明
DepartID
文本
(2)
是
院系编号(主关键字)
DepartName
文本(20)
是
院系名称
DepartHead
文本(8)
否
院系领导
Telphone
文本(13)
否
领导联系电话
Description
备注
否
院系描述
2)班级设计信息表:
字段表
数据类型(长度)
必添字段
说明
ClassID
文本(6)
是
班级编号(主关键字)
ClassName
文本(20)
是
班级名称
DepartID
文本
(2)
是
所属院系(外关键字)
BeginDate
短日期
是
班级创建日期
Master
文本(8)
否
班主任
Mastertel
文本(13)
否
班主任联系电话
Description
备注
否
班级描述
3)政治面貌:
字段名
数据类型(长度)
必添字段
说明
PPID
文本(8)
是
政治面貌编号(主关键字)
PP
文本(8)
是
政治面貌类型
4)学生信息基本表:
字段表
数据类型(长度)
必添字段
说明
StudentID
文本(8)
是
学号(主关键字)
Name
文本(8)
是
姓名
Sex
文本
(2)
是
性别
ClassID
文本(6)
是
班级编号
Birthday
短日期
否
出生日期
Native
文本(16)
否
籍贯
PPID
文本(8)
否
政治面貌编号
5)学籍变动表:
字段名
数据类型(长度)
必添字段
说明
ChangeID
文本(8)
是
学籍变动编号(主关键字)
Change
文本(8)
是
学籍变动类型
6)学籍变更记录表:
字段表
数据类型(长度)
必添字段
说明
CID
自动编号
是
记录号(主关键字)
StudentID
文本(8)
是
学号
ChangeID
文本(4)
是
学籍变动编号
RecDate
短日期
是
记录日期
Description
备注
否
说明
7)奖励表
字段名
数据类型(长度)
必添字段
说明
RewordID
文本(8)
是
奖励类型编号(主关键字)
Reword
文本(8)
是
奖励等级
8)奖励记录表
字段表
数据类型(长度)
必添字段
说明
RID
自动编号
是
记录号(主关键字)
StudentID
文本(8)
是
学号
RewardID
文本(20)
是
奖励类型编号
RecDate
短日期
是
记录日期
Description
备注
否
奖励具体说明
9)处罚表
字段名
数据类型(长度)
必添字段
说明
PunishID
文本(8)
是
处罚类型编号(主关键字)
Punish
文本(8)
是
处罚类型
10)处罚记录表
字段表
数据类型(长度)
必添字段
说明
PID
自动编号
是
记录号(主关键字)
StudentID
文本(8)
是
学号
PunishID
文本(8)
是
处罚类型编号
RecDate
短日期
是
记录日期
Description
备注
否
处罚具体说明
4.物理设计
4.1数据存储方面
为数据库中各基本表建立的索引如下:
1.由于学生个人信息表中的属性姓名经常在查询条件中出现,且它们的值一般都是唯一,在两个属性上建立索引;
2.由于学生个人信息表中的主码学号经常在查询条件和连接条件中出现,且它们的值是唯一的,在两个属性上建立唯一性索引;
4.2系统功能模式
依据需求分析阶段看,学生信息管理系统主要分为学生个人信息管理,处罚信息管理,奖励信息管理和学籍变动管理等四个主要方面。
4.3模块设计
1)学生个人信息管理模块
2)处罚信息管理模块
3)奖励信息管理模块
4)学籍变动管理
5.数据库实施
5.1建立数据库、数据表
5.1.1建立数据库
createdatabasestudent
5.1.2建立数据表
1)院系信息表的建立:
createtableDepartment(
DepartIDchar
(2)notnullprimarykey,
DepartNamevarchar(20)notnull,
DepartHeadvarchar(8)null,
Telephonevarchar(13)null,
Descriptionntextnull,
)
2)班级信息表的建立:
createtableClass(
ClassIDchar(6)notnullprimarykey,
ClassNamevarchar(20)notnull,
DepartIDchar
(2)notnull,
BeginDatesmalldatetimenotnull,
Mastervarchar(8)null,
Mastertelvarchar(13)null,
Descriptionntextnull,
foreignkeyDepartIDreferencesDepartment(DepartID)
)
3)政治面貌表的建立:
createtableSPP(
PPIDchar(8)notnullprimarykey,
PPvarchar(8)notnull,
)
4)学生信息基本表的建立:
createtableStudents(
StudentIDchar(8)notnullprimarykey,
Namevarchar(8)notnull,
Sexchar
(2)notnull,
ClassIDvarchar(6)notnull,
Birthdaysmalldatetimenull,
Nativevarchar(16)null,
PPIDchar(8)notnull,
foreignkeyClassIDreferencesClass(ClassID)
foreignkeyPPIDreferencesSPP(PPID)
)
5)学籍变动表的建立:
createtableSChange(
ChangeIDchar(8)notnullprimarykey,
Changevarchar(8)notnull,
)
6)学籍变动记录表的建立:
createtableStudentch(
CIDchar(8)notnullprimarykey,
StudentIDchar(8)notnull,
ChangeIDchar(4)notnull,
Recdatesmalldatetimenotnull,
Descriptionntextnull,
foreignkeyStudentIDreferencesStudents(StudentID)
foreignkeyChangeIDreferencesSChange(ChangeID)
)
7)奖励表的建立:
createtableSReward(
RewardIDchar(8)notnullprimarykey,
Rewardvarchar(8)notnull,
)
8)奖励记录表的建立:
createtableStudentre(
RIDchar(8)notnullprimarykey,
StudentIDchar(8)notnull,
RewardIDchar(20)notnull,
Recdatesmalldatetimenotnull,
Descriptionntextnull,
foreignkeyStudentIDreferencesStudents(StudentID)
foreignkeyRewardIDreferencesSReward(RewardID)
)
9)处罚表:
createtableSPunish(
PunishIDchar(8)notnullprimarykey,
Punishvarchar(8)notnull,
)
10)处罚记录表的建立:
createtableStudentpu(
PIDchar(8)notnullprimarykey,
StudentIDchar(8)notnull,
PunishIDchar(8)notnull,
Recdatesmalldatetimenotnull,
Descriptionntextnull,
foreignkeyStudentIDreferencesStudents(StudentID)
foreignkeyPunishIDreferencesSPunish(PunishID)
)
5.2添加记录
1)添加院系记录:
Insertintodepartment
Values(‘DepartID’,’DepartName’,’DepartHead’,’Telephone’,‘Description’)
注:
如1)所示依次把班级记录,学生基本信息记录,学籍变动表记录,学籍变动记录表记录,奖励表记录,奖励记录表记录,处罚表记录,处罚记录表记录添加进数据库。
5.3查询数据
用select语句查询即可,格式为:
Select[all|distinct]<目标类表达式>[,<目标类表达式>]···
From<表名或视图名>[,<表名或视图名>]···
[where<条件表达式>]
[groupby<列名1>[having<条件表达式>]]
[orderby<列名2>[asc|desc]]
5.4修改数据
用update语句即可,格式为:
Update<表名>
Set<列名>=<表达式>[,<列名>=<表达式>]
···
[where<条件>];
5.5删除数据
用delete语句即可,格式为:
Delete
From<表名>
[where<条件>]
6.性能测试与确定
对该学生信息管理系统进行测试,通过以上所述操作验证每个功能是否符合要求。
7.心得体会
经过这次期末课程设计,我虽然熟悉了系统设计的整体步骤,但也发现了自己很多的不足。
而且放映PPT的时候的阐述也有很大的缺陷,这次把这个小型的学生信息管理系统做下来之后,发现对于数据库我们还有很多需要学习的,有很多知识我们还不是非常的了解的,所以还有很多的知识需要我去掌握,需要我去了解,而这个系统也有很多功能需要完善。
在做这个课程设计的过程中,我深刻的体会到了老师的辛苦,并觉得班主任,辅导员等老师应该拥有类似于这个学生信息管理系统的系统来减轻工作负担,而要拥有一个好的系统就需要利用更好知识来完善本系统,需要我们更用心的去学习SQLSERVER。
8.存在的问题及建议
8.1对于一些细节问题,容易忽视。
8.2对于已掌握的知识还不能够灵活运用,需要多试验,而且我们掌握的知识也还不够。
对一些基本概念的理解也还不足,需要我们学习更多知识,充分的理解其知识的概念及用法,联系更多的知识使自己在编程方面得到一定的提高。
8.3很多重要功能都没能实现或是实现的不够完美,这点需要完善。
8.4一些功能的实现不够严谨,比如输入的一些格式的要求以及无法识别一些特殊的字符和数字等。