学生信息管理系统数据库课程设计.docx
1概述学生信息管理系统是学校管理的重要工具,是学校不可或缺的部分。随着在校大学生 人数的不断增加,教务系统的数量也不断的上涨,。学校工作繁杂、资料众多,人工管理信 息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。并且这种传统的方式 存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。然而,本系统 针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理,与世界接轨 的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我 们使用电脑的高效率才处理数据信息成为可能。学生学籍管理系统的出现,正是管理人员 与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面, 高效安全的操作使得我们对成千上万的信息的管理得心应手。通过这个系统,可以做到信息 的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把 计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有 着显著意义。2需求与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便, 易用性强。该系统实现的大致功能:用户登陆。提供了学生学籍信息的查询,相关科目的成 绩查询和排名,修改登录密码等功能。教师管理。提供了对学生学籍信息的查询,添加,修 改,删除;学生成绩的录入,修改,删除,查询班级排名。修改密码等功能。管理员管理。 拥有最高的权限。允许添加教师信息和课程信息等。其提供了简单、方便的操作。3概要设计3.1功能模块图功能模块图,如下图3.1所示图3.1功能模块图3.2数据流图数据流图,如图3.2所示管理员教师信息课程信息L学生信息学生 程信息r 成绩图3.2数据流程图4数据库设计4.1实体及其属性(1)学生实体及其属性,如下图4.1所示图4.1学生实体(2)教师实体及其属性,如图4.2所示图4.2教师实体(3)管理员实体及其属性,如图4.3所示图4.3管理员实体(4)课程实体及其属性,如图4.4所示图4.4课程实体(5) 班级实体及其属性,如图4.5所示4.2局部E-R图4.2.1学生班级局部E-R图学生-班级局部E-R图如下图4.7所示:图4.7学生-班级局部E-R图4.2.2教师课程局部E-R图教师-课程局部E-R图如下图4.8所示:图4.8教师-课程局部E-R图4.2.3学生课程局部E-R图图4.9学生-课程局部E-R图4.3全局E-R图4.4关系表教师信息表如下表4-1所示:表4-1教师信息表字段名类型空值约束条件教师IDvarchar(8)not null主键教师姓名varchar(8)not null登录密码varchar(8)not null课程信息表如下表4-2所示:表4-2课程信息表字段名类型空值约束条件课程号varchar(8)not null主键课程名称varchar(12)not null教师IDvarchar(8)not null外键班级信息表如下表4-3所示:表4-3班级信息表字段名类型空值约束条件班级号varchar(8)not null主键班级名称varchar(8)not null所属学院varchar(6)班级人数nchar(4)管理员信息表下表4-4所示:表4-4管理员信息表字段名类型空值约束条件管理员IDvarchar(10)not null主键登录密码varchar(10)not null成绩信息表下表4-5所示:表4-5成绩信息表字段名类型空值约束条件学号varchar(15)not null主键,外键课程号varchar(8)not null主键,外键成绩smallintnot null学籍信息下表4-6所示:表4-6学籍信息表字段名类型空值约束条件学号intnot null主键姓名varchar(30)not null性别char(2)班级号varchar(30)not null外键籍贯char(10)登录密码moneynot null5关键技术实现5.1创建数据库创建数据库,如下图5.1所示create database bcadentcn(n.am£ = studs t_datef ilename=, f: cmst j.dert_dete .ndf )Loe; CTlname =student_lagrf ilename=' f; cm'-.st.sdert_L g. Ldf图5.1创建数据库5.2创建基本表5.2.1教师信息表创建create table 教师信息表( 教师 ID varchar(8) primary key , 教师姓名 varchar(8) not null unique, 登录密码 varchar(8) not null, )5.2.2课程信息表创建create table课程信息表( 课程号 varchar(8) primary key, 课程名称 varchar(12) not null, 教师 ID varchar(8) not null foreign key(教师 ID) references 教师信息表(教师 ID) )5.2.3班级信息表创建create table班级信息表(班级号 varchar(8) not null primary key, 班级名称 varchar(8) not null unique, 所属学院varchar(8), 班级人数nchar(4) )5.2.4学籍信息表创建create table 学籍信息表(学号 varchar(15) primary key,姓名 varchar(8) not null ,性别 varchar(4),班级号 varchar(8) not null ,籍贯 varchar(5),登录密码 varchar(6) not nullforeign key (班级号)references班级信息表(班级号)5.2.5成绩信息表创建create table成绩信息表(学号 varchar(15),课程号 varchar(8),成绩 smallintprimary key(学号,课程号)foreign key (学号)references 学籍信息表(学号),foreign key (课程号)references课程信息表(课程号) )5.2.6管理员信息表创建create table课程信息表(管理员 ID varchar(8) primary key,登录密码 varchar(12) not null)5.3视图的创建5.3.1 “教师课程详细信息''视图创建create view教师课程详细信息asSELECT教师信息表.教师ID,教师信息表.教师姓名,课程信息表.课程号,课程信息表.课程名称, 教师信息表.登录密码FROM教师信息表JOIN课程信息表ON教师信息表.教师ID二课程信息表.教师ID视图创建结束的结果图如下图5.2所示:FROM成绩信息表JOIN 学籍信息表ONJOIN 班级信息表ONJOIN 课程信息表 ONe螂号MELDVYEMH3reMUQLEKRnEi£ (SQL Mek 33!KHMineMl_J Dalab-ssssoai程林M200:El 二DQ2D03询-|茶M2HI X schoolDD204041日 |_| Studsrt003005jswtl序设计涕 J 口占诂&皿Di占gwmwDD4EW签学Cfl4 _J TatalwDOE知D07MSGJ 2j Syrtsm TbWc>QQ5来ITWS>沪-* .并浩涕D 3 dba.g富鲜006无幸W9:Drir.-国6H dba.EfcsS-Xg¥| AWMJUMl!.«££Explore*_MELDWIAMh 并曲。.祢耐具程讲蝴* MEUDWEAMH JFEXU.- iQLQuMylqr MELDWElS的 _J Viebl _J S)iteni臼dbo.技肝第程.洋唯柯皂III回dba.学生立闵!息图5.2教师详细信息视图5.3.2 “学生成绩信息”视图创建create view学生成绩信息 asSELECT学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,课程信息表.课程名称,成绩信息表.成绩 成绩信息表.学号二学籍信息表.学号班级信息表.班级号二学籍信息表.班级号课程信息表.课程号二成绩信息表.课程号学生成绩信息视图创建结束的结果图如下图5.3所示:xplorcr平 *MELDV¥EAMH3FE.t -如口;生质阕SS! MELDVYE血UH非d如簌而喋宙?!«三兰 MEL手号赴名戚!ELDWEAMH3 FEXUS QLfXPRE SS (SQL Server j Databases用有检阳Z01L0566LQ1张三男£j System Dirt&basts| schocl20110556102半四P,2O1L055&LD2李四国批杞年&93。StudentS _ Database Diagrams2fllt£1556tD3王兰女2CHL0H6LK王兰女坦N«月岳;日勺W日 £j TablesB System Falbles2fllK15fi61D4脚:S20110556105李用.女甘招与的弟黑祥出E9王 ji J db口成铤信息芨1 dm,三建员缶息表a 口 dM栽J暗息我± J漂但佳与哀± J北G了三13岂康S Views5 21 System Views&田db藏诚更程详中恰旦3却的口学生说制§皂S 刀 Snonms2flll£5fi61D6周宿宥女201105661£6.国 BfiW女2flll£5fi61D7王月大以抬 <芯黑祥口B7坦言*四201ia5a&lD7王月女3011£5561Da£ft:男即祥口而甘摺市67血E蜀B1E6王柑S.301K15661D9M1P0女川祥口56蛔如56JOliaS&UKjlJZB女总 £AUiiUniii-l95AtjKl&E5.4存储过程创建5.4.1 “单科成绩排名”创建create proc dbo.单科成绩排名kechenname char(8),classname char(8)asselect学籍信息表.学号,姓名,成绩from成绩信息表join课程信息表on课程信息表.课程号二成绩信息表.课程号join学籍信息表on学籍信息表.学号二成绩信息表.学号join班级信息表on班级信息表.班级号二学籍信息表.班级号where 课程名称=kechenname and 班级名称=classnameorder by 成绩 desc5.4.2 “全班排名''创建create proc dbo.全班排名class char(8)asselect学籍信息表.学号,姓名,avg(成绩)as平均分,sum(成绩)as总分from成绩信息表join学籍信息表on成绩信息表.学号二学籍信息表.学号join班级信息表on班级信息表.班级号二学籍信息表.班级号where班级信息表.班级名称classgroup by学籍信息表.姓名,学籍信息表.学号order by avg(成绩)desc,学籍信息表.学号5.5触发器创建5.5.1创建教师信息表课程信息表之间的触发器。创建触发器,使教师中某教师信息修改后,相应的在课程信息表中也要将相应教师的 信息修改。创建触发器如下图5.4所示:MELDVZEAMH3FEX .fll -凸tid JSf去MELDV?EAMH3FEX .HI - 口匕0.#. 卓塞 MELDWEAlhore b ce-仁官1.口口己丁_±1an 事攵!I而信.电充巨 Tue -JtpcLaca aa l£ 匚口己乏匚【事史!|而工口izle-claTHt2 )ID_nldl cftar £2seleor- 1.1 rf ID_n.ev 司吹师 TP ±ram inaiirce-di seleat i?教!J市工 1>_函臼 盲版 jj市cite dele匚mu:pdt_.;果辛十后.息.表 .匕 液师匚0 3李师5iu.该如J币:I町敢J币工end ciraxr-fejLiJ d > aonrpZ »t.a J kuc o* afuLl v . | 图5.4教师信息表-课程信息表之间的触发器5.5.2创建成绩信息表的触发器为成绩信息表创建触发器,使得成绩在0-100分之间。创建过程如下图5.5所示cxe at et- trigger_s careS 成由责(言皂表 f cr insext. -.ipdatems dealare 咨成绩 _ new siaallint5 elect 成绩 new成绩Emm insez te d ir 。成绩_口吧and 。成绩_员已m<z=j.qc!Jds ginSnnt,操作成returnendPrint 成绩超出口-圣口力间,请重新输人!- rolIback ti-aznsactiong1Ccunmand.ts) ccieIeted success£uJ_ly.图5.5在成绩信息表创建触发器如下图5.6中在成绩信息表中插入两条信息zLriseit into成绩信息表p 2O2L3LO563LOjL p / . OOS * p 59 11 J j zlE巳工匚incc成绩信息表values ( 2OXXO5S6XOJL . / . ; . / . J.3O . J ;_誓 MessageE操作.成功!(3. row ( s J aEf e cted)成绩起出ALE之间=请重新St-A!Msg 3609r Lee 1 1ST StaXe 1T Line 29事务在触发器中结束口批处理已中止,:,图5.6在成绩信息表中插入两条子信息5.6数据库的备份和恢复5.6.1数据库备份数据库的备份信息如下图5.7所示BACKUP DATABASE student TO DISK = N'f:cmStaff.bak'N YI匚LL/ tf T匚U YII。U UD,呼甄叫P蛛住什:酒1后切rvicLL/ v t cjrvin jr CjMJ.,.- nyyii urBACKUP DATABASE student TO DISK = Npf : cmStaf f . bak1IVIE LLZ¥ T E>rrrj Messages已为数据库r studentp 文件r Student_data r (位于文件1上)处理了 1S4已牛 已为数握库'student',文件t位于支件1上)处理了 3页;.BACKUP DATABASE 成功处理了 187 页,花费 0.399 秒;3.831 MB/秒"图5.7数据库备份5.6.2数据库还原数据库的还原如下图5.8所示RESTORE DATABASE student FROM disk= N'f:cmStaff.bak'图5.8数据库还原MELDVVEAMH3FEXJ.TablesVieA'c.DVYEAMH3FFXUSQlEXPRESS &QI 郭n * System Databasesj schoolI Student3 O Dotab6数据库安全性控制新建两个数据库用户madmin和cai,manager用户能够查看和删除student数据库中的 学生信息,而Writer用户能够插入和更新student数据库的学生信息。用户madmin的权限 如下图6.1所示,用户cai的权限如下图6.2所示MELDWEAMH3FEXU.-LQU&ry 1.4qF Summarygrant select. delete cn 学牛信息表 tc raddiainj filezjiagez-Ccnnnani s J ccurp-1 eted successful 1 yMELDWEAMH5FEXU.-lQLQu&ryl.sql*| Summarygrant, inseit. upd己七己二l 学牛信息表 tc caij Mess eCcirnnnd (a) ccsm-leted. gucaesarully.图6.2用户cai的权限7总结与展望课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力 的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计虽然很辛苦,实 在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很 多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下 都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知 识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到 的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处, 对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以 前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够 的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务, 从而提高自己的实际动手能力和独立思考的能力。8参考文献1 石玉强,闫大顺等.数据库原理及应用.北京:中国水利水电出版社,2009.2 石玉强等.数据库原理及应用实验指导.北京:中国水利水电出版社,2010.