数据库教务管理系统综合实验报告_第1页
数据库教务管理系统综合实验报告_第2页
数据库教务管理系统综合实验报告_第3页
数据库教务管理系统综合实验报告_第4页
数据库教务管理系统综合实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、华北科技学院计算机系综合性实验实验报告课程名称数据库系统A实验学期2011至2012学年第2学期学生所在系部计算机学院年级2010专业班级网络B101班学生姓名学号任课教师实验成绩计算机系制数据库系统A»课程综合性实验报告开课实验室:软件开发实验室(一)2012年6月6I实验题目I教务管理系统数据库设计一、实验目的利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。二、设备与环境(1)硬件设备:PC机一台(2)软件环境:安装Win

2、dows操作系统,安装数据库管理系统SQLServer2008等。三、实验内容1.需求分析首先,通过调查,教务管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下:1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销等功能。2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息(包括学生基本信息,教师基本信息,课程基本信息等

3、)。4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。5)教师对成绩的录入以及自己信息的查询与维护。其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务管理系统要具备以下信息要求:教务管理系统涉及的实体有:教师一一工作证号、姓名、电话、工资、邮箱;学生一一学号、姓名、性别、年龄、系代号等;班级一一班号、最低总学分等;系一一系代号、系名和系办公室电话等;课程一一课序号、课名、学分、最大人数等;其中,这些实体之间的联系如下:每个学生都属于一个班,每个班都属于一个系,每

4、个教师也都属于一个系。每个班的班主任都由一名教师担任一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一门课其课序号是不同的(课序号是唯一的)。一名同学可以选多门课,一门课可被若干同学选中。一名同学选中的课若已学完,应该记录有相应成绩。本单位学生、教师都有重名,工作证号、学号唯一。另外,对于教务管理系统需求分析的安全性及完整性要求,首先,安全性方面,系统应对不同用户设置不同的权限,例如,学生用户不能随意更改自己的成绩信息等,从而保障数据库数据的安全。其次,完整性方面,要求各种信息记录的完整性,关键信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性等

5、。2 .概念结构设计在概念结构设计中,我采用自底向上设计概念结构的方法。即第一步抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。该教务管理系统中的局部概念模型(E-R图)如下:(1)、一个系内的关系模式图:学生年龄 )最低总学分属于n工作证号1n)run °工资)教师系系办公室电话)属于(电话)(2)、选课系统的关系模式图:CED(性别广1(系代号 )评成绩一)(4)、教师与班级部分的关系模型图:该教务管理系统中的全局概念模型(E-R图)为:期末成绩最后成绩期中成绩)选修平时成绩)课程 一 ._名额)总评溺二)3 .逻辑结构设计(1)关系模式的设计与优化E-R图向关

6、系模型的转换:a. “教师”实体对应的关系模式:教师(工作证号,姓名,工资,电话,邮箱,系代号)代码表示为:Teacher(Tno.Tname.Salary.Tel.Email.DnO其中,工作证号为其候选码,又因为教师与系别之间是n:1的工作关系,经过与系别关系模式的合并后,系别号Dno成为教师关系模式的外码,存在的关系依赖为Tno一(Tname,Salary,Tel,Email,Dno)不存在对候选码的部分依赖与传递依赖,所以满足BCNF。b. “学生”实体对应的关系模式:学生(学号,姓名,性别,年龄,班号,系代号)代码表示:Student(Sno,Sname,Ssex,Sage.Clas

7、s.Dno)其中,学号为其候选码,又因为学生与班级之间是n:1的属于关系,经过与班级关系模式的合并后,班号Class成为学生关系模式的外码,存在的关系依赖为Sno一(Sname,Dno),ClassDno,存在对候选码的传递依赖,所以满足2NF.c.系(系代号,系名,系办公室电话)代码表示:Sdept(Dno,Dname,Dphone)系代号为候选码,存在的函数依赖为Dno一(Dname,Dphone),且不存在部分依赖与传递依赖,所以满足BCNF。d. “选修”联系对应的关系模式:选课(学号,课序号,最后成绩,平时成绩,期中成绩,期末成绩,总评成绩)代码表示:SC(Sno,Cno,Grade

8、.Daigrade.Midbrade.Lasgrade.Fingrade)此为m:n联系“选修”所对应的关系模式。Sno和Cno均为外码。存在的函数依赖为完全函数依赖(Sno,Cno)一.Midbrade.Lasgrade.Fingrade),且不存在部分依赖与传递依赖,所以满足BCNFe. “课程”实体对应的关系模式:课程(课序号,课名,学分,名额,工作证号)代码表示:Course(Cno,Cname,Credit,Cnum,Tno)其中,课号为其候选码,又由于课程与教师之间是n:1的授课关系,所以经过关系模式的合并后,教师的工作证号被合并为课程关系模式中的外码。存在的函数依赖为Cno一(C

9、name,Credit,Cnum,Tno),且不存在对候选码的部分依赖和传递依赖,所以,满足BCNF。f. “班级”实体对应的关系模式:班级(班号,最低总学分,工作证号,系代号)代码表示:Class(Class,Ccredit,Tno.Dno)其中,班号为其候选码,又由于班级与系别之间是n:1的“属于”关系,经过“班级”与“系别”两个实体关系模式的合并后,系号被合并为班级对应的关系模式的外码。而班级与教师之间是n:1的“负责”关系,所以按照规定,教师的工作证号也被合并为班级的外码。存在的函数依赖为Class一(Ccredit,),其中ClassTno,而Tno-Dno,即存在对候选码的传递依赖

10、,所以只满足2NF。(2)设计合适的视图在将E-R图向关系模型转换后,还应根据局部应用的需求,对不同级别的用户定义不同的视图,这样不仅可以在视图中重新定义某些属性名,使用户使用更方便,而且还可以通过视图保证系统的安全性。在本次的教务管理系统数据库中,我针对使用该数据库最频繁的学生和教师用户建立了相关视图,其中包括对系别、教师、课程的分配视图;对学生学号、成绩、等相关信息的查询和教师基本信息的查询等三个视图,这样,对这些经常使用的查询,用户就可以通过视图来查询,大大简化了用户的使用。创建的三个视图的截图如下:教师授课安排视图:MicrosaH SQLM-amagEment Etu匚;口学生成绩查

11、询视图:教师基本信息查询视图:良性但同幅图国重凶15日但 月灿1亘H迫叶器凶 工具)窗口的 社怎© Sflkih)p三亘=:ijiU EEHM C-J?OGLt. gafiJSt - dbo DTC- MicTDiafi SQL Serw-r MeruBgsffrTK-nit Studio文件蛹根国桓图乜点目0 S3f(D)亘世设小耨凶二超口业中©我吃红迁应,雪七 一ffi U盂魂和图dbchd口 m|T| dbci.ccurjc国 dbo £CHj J dba.scepTHl m dbc-Etud-grtFTI n dbc tracher文件出 如幅El利阕便

12、疑目图 WQl 5i设计骷刃 丁耳7)宓匚郎0 社叵 帮Afi MiiizriD-saft £QL &e-rwe-r UnnaeiiTksnrt studio14BQMH11 国=1 (M ;、Il _J dbu.MptITl 3 dbc stud erfm,茎维涅雷Bl g dbc.DTCiii 7T dhc Vstu de-1 县 K dbc.V teazher(W粕目赃图,翼统堀图HI .El dbo.DTC中 1n J-Jtw-l V S.11H rJLI 1-J".1fl5 5?)Th«m计宜忖毛科第61土丐燕Efl京熨士工祖学院面曾二1*叮见工

13、强诉7SK56兵工旺,强岂理岑,E葛志同*£钾秆造二理京i J dboSC-溟si La 5r 逅包上一 *: 1SrernEaireT3de里即大学谱义3讦苴机网购底1环旗二与素引5外语国士,.,误h算炯据原. 法的啕h戴掘耳大学弟语亡也厚应计大学点攵电工祥耳:瑾者w 二dbc St5.1 Z3 dlbc-sdepl国 _3 db'Atuder'Li'i 1 dbc .tn achcrIJ 3S!IEUSERMTC-JTOfiLCB, _7 dbo V twchwWM212J-87»«54JI®- 2,强删掂更 喟国群 田临利

14、安志吊计呼机月络所. 4料揖度5高等I恸写大学奥暹5C 30101C5D1O1ceooiCM%韦巧苑卢仲文>inneTrane计算同系空法需班事要堂工理季庆工理系 机电工程系a L3星”陋4 二 dbc DF*' 乙 dbc.v_EudEtLi |. - dbG V_te*ihef用3 E区闽 H;=Sbr-iir-MLUSERMIC-J7OGLCB dbo.V_stu<lent0 2010 LCJD212部珈 葛石刚曾红王宙避C101171T044 .物理设计该数据库中每一个关系模式的主码分别为系统自动设置的索引,如学生关系模式中的学号,教师关系模式中的工作证号,系别中的

15、系别号等,同时,通过对实际操作的思考,为了查询某系的老师的方便,我们还需要在Teacher表中建立一个“系代号”Dno的索引;又因为查询操作很多都通过学生姓名查找的,所以还需要在Student表姓名列sname上建立一个索引等,这样大大简化查询操作。5 .数据库的实现(1)创建库、表在该教务管理系统中包括了学生表、教师表、选课表、系别表、班级表、课程表、教师与班级的联系表等多个表。在此,我以学生表为例进行说明表的创建。一个完整的表必须包括对实体完整性、参照完整性、用户定义完整性的三种完整性的定义。在学生表中,首先考虑表的实体完整性要求,在该学生表中学号被设为主码,用PRIMARYKEY定义,且

16、该表含有多个属性,所以学号就是表级约束条件,从而完成了学生表的实体完整性的定义。其次,对于学生表的参照完整性,系号(Dno)、班号(Class)是该学生表的外码,同时它还是班级系别Sdept表、Class表的主码,所以对其用FOREINGKEY短语进行定义,并用REFERENCES语指明该外码是参照那些表的主码,从而完成对表的参照完整性的定义。最后,是表的用户定义完整性,在该学生表中,结合实际情况我们不难想到应该定义一个姓名Sname为非空的约束条件和性别Ssex只能为“男”或“女”二者选其一的约束条件,其中姓名的非空用UNIQE定义即可,而性别用CHEC醺句定义即可。此外,除了对这三种完整性

17、性要求的定义外,再加上该表中的一些其他的属性列如年龄Sage的创建,从而共同完成了学生表的创建。创建学生表的代码为:CREATETABLEstudent(SnoCHAR(10)PRIMARYKEYSnameCHAR(20)NOTNULL,SsexCHAR(2)CHECK(SsexIN阴','女'),SageSMALLINT,DnoCHAR(10),ClassCHAR(10),FOREIGNKEY(Class)REFERENCESClass(Class);创建的学生表截图如下:孟博叼&小m心明言四:凶金田爆冷dd=:找皿上.T-C=二i囱;二才百席平,口*U5ER

18、M0CJ7OGLEB_-dha.studerrt沁-.7cMlcU仁口"-XSnoSrdtneSsfiClauDno1-1nniH且*更30打M01QiaitH前世S.U<D3A01aiDiiJOltR2iDifliis031301印MHI品"0X3aj0211312去三信文23D2U20203021135用2203dJ<X3401111除圭隼戈JI通通1Z。财吴说皿310。/M。副巾1国交女九*K02Q1芋1硒文»Q加0STUIda修格且21D7D307口制1人卢韦段用22口7D107gUS£RM1C-J?OGL«.SQLSe-i

19、.t-第ESIi-型Ji面HIU必麻窿声lbJKS|flrpcrtSenwri*,neport&AFM-rTtinnpDBaljU1*薛看理知il一打宦=装甲电F1=3j.EM$_Jdbs.dasiQfloii!”I-L;FLil15百日丹0s日丁品i盘1HhTHij冏>4,UJj:AfljQ4LU1MJj3,14,H|11(标识耐另外,在创建表的同时还要注意有时需要创建两个表之间的级联,例如,此教务管理系统中SC表是参照学生表的学号和课程表的课号建立的,所以应该在SC表中建立其与Student表与Course表的级联;课程表又是参照教师表中的教师工作证号建立的,所以应该建立一个

20、course表与教师teacher表的级联;班级表也是参照教师表中的教师工作证号建立的,所以也应该建立一个class表与教师teacher表的级联,这样当参照表发生改变时能同时在目标表中也发生相应改变,保证数据库中数据的正确有效性。(2)创建用户该教务管理系统的主要用户有学生用户,老师用户,教务管理员和系统管理员等四种,所以需要创建这四种类型的用户,并授予其相应的权限。对于学生用户就只能授予其查询学生基本信息student表的权限,老师相关信息视图V-teacher表的权限,查询学生成绩视图V_student表的权限,以及查询教师授课分配图DTC表的权限;教师则具有查询学生基本信息Studen

21、t表的权限,查询教师授课的视图DTC表的权限,还具有修改自己基本信息teacher表的权限,还有登记插入学生成绩信息即修改SC表的权限;教务管理员具有修改本系一切相关信息的权力,包括查询、删除、增添、修改,而系统管理员具有创建各种表、视图、触发器及存储过程并对各个用户进行相应授权的权力。(3)使用触发器、存储过程等相关技术。在教务管理数据库中,鉴于存在教师的退休及学生退学或毕业的情况,所以必然会有删除这些信息的操作,为了方便起见,所以有必要设计一个“删除教师信息”触发器以及“删除学生信息”触发器。同时教务管理系统的数据库必然涉及到学生选课退课的问题,所以还需要设计一个关于选课退课系统的“选课”

22、触发器与“删除选课”触发器。“删除教师信息”与“删除学生信息”触发器的过程大致相同,就“删除教师信息”触发器来说,当删除教师时如果该教师在course表中有其授课信息,则当删除该教师后必会引起course表不可用,所以创建的该触发器当所要删除的教师号存在于course表里时,系统就应该给出“course表里有该教师的课程,请先删除course表里的记录!”的提示信息;就“删除学生信息”触发器来说,如果该学生退学时在选课表里仍有其选课记录,则当删除该学生信息后,在SC表里的相关选课记录必然成为无效,所以在此设置了一个判断即将退学的学生是否能删除的触发器,当退学学生在SC表里有该学生的记录时应该给

23、出“SC表里有该学生的选课课程,请先删除SC表里的记录!”的信息提示。“删除教师信息”触发器操作演示如下所示: fti ar id soft gL Server占 "bndz。Zfr(D 明BlE祀T。 台询叫 康目皿1词口工】 二县CD 宙匚出社区阴 利上1圜J. 唯世国凿岛击遑3 lJ &岂_0.:E嬖君碧侬,f执行区k , 小£3型臼f叱心圉幻|厚声八 ,时兼空消首程第-ax连登二出缶小! _1翳扼酎星典,| t*part£*rv4r* &<p«rt£<rvcrT<npLU-1辞帝宣学手稿.也比Q一串国-

24、Lj及* ipun=3T,德集,b« ts*Eh*rt_ SUUJvcrrl - a, - at«r (55JJ*,Xr r不?£5卜百消耳BW餐盅有该教师的避卷谙先删除CWU转表盅布蒜厂<1行受的1:三三江法的蜃务器L、对岳资遁君坦芟*亘 U4cel) (LE. U LTVC zaerD' 'A luiLi z trat or .疗势苫蓬蒙抗 H J JQ 行eniIn«“选课”与“删除选课”触发器的过程大致相同,就“选课”触发器来说当所选课程的课程号存在于课程表里时,系统就会将该条的选课记录添加到SC表中,并给出“选课成功”的信

25、息提示,同样删除选课与此类似,当要删除的选课的课程号存在于SC表时,系统就会将该条的选课记录从SC表中删除,并给出“删除选课成功”的信息提示。演示执行“选课”触发器的操作结果截图如下:这样在进行这些相关数据的处理时就可以通过触发器来控制,如果触发动作体执行失败,激活触发器的事件就会终止执行,触发器的目标表或触发器可能影响的其他对象不发生变化。除了创建相应触发器外,教务管理系统中还用到了数据库的存储过程,在本数据库中我建立了关于指定某个学号的“学生成绩查询”的存储过程,这样学生只需要输入自己的学号就可以查询出自己所选的科目以及其相应的成绩,存储过程的编译及其实现过程如下截图所示:种特殊的存储过程

26、,触发器以及存储过程就是一段代码,存储过程执一遍后,驻留在高速缓冲中,再使用只需调用,无需编译,它们就像一个编译好的函数一样,只需调用即可,这样存储过程降低了客户机和服务器之间的通信量,方便了用户的使用。这次大作业中,我从需求分析到概念结构设计,到逻辑结构设计,再到物理结构设计,最后到数据库的实施和维护,每一步都认真的分析和实施。在一些步骤中可能思考的不够缜密,对某些方面可能有些疏漏之处,这就要求我们查询更多的信息,理论充分联系实际,多多参与实际数据库的创建,在实践中积累经验,不断学习,提高自己在数据库方面的能力。教师评价评定项目ABCD评定项目ABCD需求分析清楚完整性设计概念结构符合需求数

27、据库编程的使用逻辑结构设计合理操作熟练索引设计义字流畅安全性设计报告规范其他:评价教师签名:年月曰相关代码如下:-一、创建表- -建立系别表CREATETABLEsdept(DnoCHAR(10)PRIMARYKE,YDnameCHAR(20)UNIQUE,DphoneCHAR(20),);- -建立教师表createtableteacher(TnoCHAR(10)PRIMARYKE,YTnameCHAR(20)notnull,Salarychar(10),TelCHAR(20),Emailchar(20),DnoCHAR(10)UNIQUE,FOREIGNKEY(Dno)REFERENCES

28、Sdept(Dno);- -建立班级表CREATETABLEclass(ClassCHAR(10)PRIMARYKE,YCcreditBIGINT,TnoCHAR(10),DnoCHAR(10),FOREIGNKEY(Tno)REFERENCESTeacher(Tno)ONUPDATECASCADE,FOREIGNKEY(Dno)REFERENCESSdept(Dno);建立学生表CREATETABLEstudent(SnoCHAR(10)PRIMARYKE,YSnameCHAR(20)NOTNULL,SsexCHAR(2)CHECK(SsexIN男('','女'

29、;),SageSMALLINT,DnoCHAR(10),ClassCHAR(10),FOREIGNKEY(Class)REFERENCESClass(Class);- -建立课程表CREATETABLEcourse(CnoCHAR(10)PRIMARYKE,YCnameCHAR(20)UNIQUE,CreditSMALLINT,TnoCHAR(10),CnumCHAR(10),FOREIGNKEY(Tno)REFERENCESTeacher(Tno)ONUPDATECASCADE,);- -建立选课表CREATETABLESC(SnoCHAR(10),CnoCHAR(10),GradeSMAL

30、LINTCHECK(Grade>=0ANDGrade<=100),DaigradeSMALLINTCHECK(Daigrade>=0ANDDaigrade<=100),MidbradeSMALLINTCHECK(Midbrade>=0ANDMidbrade<=100),LasgradeSMALLINTCHECK(Lasgrade>=0ANDLasgrade<=100),FingradeSMALLINTCHECK(Fingrade>=0ANDFingrade<=100),PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sn

31、o)REFERENCESStudent(Sno)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(Cno)REFERENCESCourse(Cno)ONDELETECASCADEONUPDATECASCADE,);- -二、创建视图- -教师授课的分配视图createviewDTCasselect,Dname,Tname,Cnamefromsdept,teacher,coursewhere=and-学生的学号、成绩等信息查询的视图createviewV_studentasselect,Sname,cname,Credit,gradefromstudent,SC

32、,coursewhere=and-教师基本信息查询的视图createviewV_teacherasselectTname,Dname,Telfromteacher,sdeptwhere=-三、创建索引-在教师表中系代号列上建立索引createuniqueindexteadnoonteacher(Dno);-在学生表姓名列上建立索引createuniqueindexstusnameonstudent(sname);-四、创建用户并对用户的权限做相应设置-创建学生用户createloginu1withpassword='111'use教务管理系统createuser学生forlog

33、inu1-对学生用户进行授权grantselectonstudentto学生grantselectonV_studentto 学生grantselectonDTCto学生grantselectonV_teacherto学生-创建教师用户createloginu2withpassword='111'use教务管理系统createuser教师forloginu2-对教师用户进行授权grantselectonstudentto教师grantselectonDTCto教师grantselect,updateonteacherto教师grantselect,insert,update(grade,daigrade,midbrade,lasgrade,fingrade)onSCto教师-创建教务管理员用户createloginu3withpassword='111'use教务管理系统createuser教务处forloginu3-对教务管理员用户进行授权grantselect,update,insert,deleteonteacherto教务处grantsele

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论