您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 学校教务管理系统--数据库课程设计
学校教务管理系统I.需求分析:随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,就需要有学生教务信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。学校为方便教务管理,需开发一个教务管理系统。为便于学生,老师,教务管理人员信息查询,注册以及信息修改,学校把学生的信息,包括姓名、性别、年龄,成绩等信息输入教务管理系统的数据库,然后在管理终端可以对数据进行查询和修改操作。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求系统界面要简单明了,易于操作,程序利于维护。一、信息分析:(1)学校教务管理的数据库,包含以下信息:学校有若干个系,每个系有若干名教师和学生,每个教师可以担任若干门课程,并参加多个项目,每个学生可以同时选修多门课程,每门课程每学期可能有多名教师教授,课程分为必修、选修、任选三种。(2)学校的教务管理的信息包括:学生姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号、所属系名称、系主任,教师编号,教师姓名,教师职称,教师所授课程、课程编号,课程名,课程学分,项目编号,项目名称,项目负责人,学生选修课程及成绩。学生如果课程及格,可以取得该课程的学分。学生的各类型课程学分和总学分累计到一定程度,学生可以毕业。根据成绩高低,可以计算学分积。及格学生的学分积公式:课程学分积=(该课程成绩-50)/10×该课程学分。二、功能分析:(1)用户能够使用友好的图形用户界面实现对系、班级、学生、教师、课程、选课等内容进行增、删、改,以及对信息的查询。对于查询要实现比较强大的功能,包括精确查询、模糊查询以及统计查询。(2)具体查询在数据库中要实现以下的功能:1)所有来自某省的男生2)所有某课程成绩90的同学3)教授某课程的老师4)某班年龄最大的5名同学5)某年以后出生的男同学6)选修某课程的学生及其成绩7)没有授课的教师8)某学生所选课程的总学分9)教授某学生必修课程的老师情况10)某学生选修了哪些系的课程11)某系学生所学的所有课程12)按总学分找出某系学习最好的5名同学13)按总学分积找出某系学习最好的5名同学14)可以毕业的学生三、软、硬件配置程序运行的环境:具体运行环境为软件方面,操作系统为windows2000/XP,并且系统装有SQLServer2000数据库管理系统。硬件方面,CPU主频500MHz以上,内存128M或更高。硬盘剩余空间不能少于30M。四、工程预算及时间安排:工程预算:由于程序本身并不十分复杂,实现起来软硬件需求都不算高,具体花费在此就不计算了。时间安排:五、数据字典:系统开发阶段(总体不超过课程设计规定时间)系统维护阶段时间进度系统规划阶段系统分析阶段系统设计阶段系统实施阶段运行维护阶段图1.1时间安排①系表:列名数据类型约束系号Char(7)不为空、唯一系名称VarChar(30)不为空班级数Smallint----系主任VarChar(20)不为空、唯一②班级表:列名数据类型约束班级号Char(7)不为空、唯一班级名称VarChar(30)不为空所在系号Char(7)参照其它表③学生信息表:列名数据类型约束学号Char(7)不为空、唯一姓名VarChar(20)不为空性别Char(2)男或女、默认男年龄Smallint----所在班级号Char(7)参照其它表籍贯VarChar(20)----所在系号Char(7)----④教师信息表:列名数据类型约束教师编号Char(7)不为空、唯一姓名VarChar(20)不为空性别Char(2)男或女、默认男年龄Smallint----职务VarChar(30)----联系电话Char(8)所在系号Char(7)参照其它表⑤课程表:列名数据类型约束课程号Char(2)不为空、唯一课程名VarChar(30)不为空学分Smallint----学时Integer----类型Char(6)取值(必修课、选修课)、默认(必修课)⑥学生成绩表:列名数据类型约束学号Char(7)与课程号联合做主键、参照其它表课程号Char(2)与学号联合做主键、参照其它表成绩Numeric(4,1)=0and=100学分Smallint----⑦教师授课信息表:列名数据类型约束教师编号Char(7)联合主键、参照其它表课程号Char(2)联合主键、参照其它表开设该课程的班级号Clno(7)联合主键、参照其它表II.详细设计方案:一、概念设计:1、总体功能概念结构图:2、查找所给问题的实体系统中涉及到的实体:班级,学生,教师,课程,学院中的各个系。2.1查找实体的关联①班级、学生之间是一对多关系;②学生、课程之间是多对多关系;③系、班级、教师之间是一对多关系;④教师、课程、班级之间是多对多关系;2.2查找实体关键字①班级的关键字----班级号;②学生的关键字----学号;③教师的关键字---教师编号;④课程的关键字----课程号;⑤系的关键字----系号。2.3设计E-R图:1)总体功能流程图2)学生E-R图:班级信息维护学生信息维护操作员课程信息维护教师信息维护班级表学生信息表学生选课课程表教师信息表查询课程表成绩输入打印成绩单3)班级E-R图:4)课程E-R图:课程课程编号课程名称课程类型课程学分班级班号所在系号系主任班级名称学生学生基本信息学生班级信息学生课程信息学生成绩信息5)教师E-R图:6)全局E-R图:教师所授课程编号教师编号所在系号教师姓名二、逻辑设计:1、将E―R模型转换为等价的关系模式。教师(教师编号,教师姓名,教师职称,教师所授课程,教师所属系号);学生(姓名、学号、班级、性别、班号,籍贯、出生日期、所属系编号);班级(班级号,所在系号,班级名称);课程(课程号,课程名,学分,学时,类型);系(系号,系名称,班级数,系主任);成绩(学号,课程号,成绩,学分);教师授课(教师编号,课程号,班级号)。2、按需要对关系模式进行规范化。经过分析,教师表中的联系电话这一属性不符合第一范式,它是一个多值属性(需求分析得到教师的联系电话不止一个),所以现将联系电话属性拆分为三个属性----办公电话,移动电话和住宅电话。即:教师(工作证号码,姓名,性别,年龄,办公室号,职称,职务,办公电话,移动电话,住宅电话);再经分析,概念模型E-R图中所涉及的表都能满足第三范式的要求3、对规范化后的模式进行评价。经过上一步的调整之后,模式已经基本符合题目要求,可以直接将规范化以后的模型应用于物理设计。4、根据局部应用的需要,设计用户外模式。三、物理设计:1、数据格式化:根据逻辑设计的结果,得到适合SQLServer2000的数据格式和类型。系统中具体的数据如下列表所示:①Department:列名数据类型约束DnoChar(7)PrimarykeyDnameVarChar(30)NotnullDClassNumberSmallint----GrademasterVarChar(30)Notnull②Class:列名数据类型约束ClnoChar(7)PrimarykeySpecialityVarChar(30)NotnullDnoChar(7)ReferenceDepartment(Dno)③Student:列名数据类型约束SnoChar(7)PrimarykeySnameVarChar(20)NotnullSsexChar(2)In(‘男’,’女’),default(‘男’)SbirthdayDatetime----ClnoChar(7)ReferenceClass(Clno)SplaceVarChar(20)----DnoChar(7)Primarykey④Teacher:列名数据类型约束TnoChar(7)PrimarykeyTnameVarChar(20)NotnullTsexChar(2)In(‘男’,’女’),default(‘男’)TBirthdayDatetime----TfunctionVarChar(30)----ThomeTelChar(8)Like‘[0-9]’⑤Course:列名数据类型约束CnoChar(2)PrimarykeyCnameVarChar(30)NotnullCreditSmallint----CtimeInteger----CtypeChar(6)In(’必修课’、’选修课’)、Default(’必修课’)⑥Grade:列名数据类型约束SnoChar(7)Primarykey,referenceStudent(Sno)CnoChar(2)Primarykey,referenceCourse(Cno)GmarkNumeric(4,1)=0and=100CreditSmallint----⑦TC:列名数据类型约束TnoChar(7)Primarykey,referenceTeacher(Tno)CnoChar(2)Primarykey,referenceCourse(Cno)ClnoClno(7)Primarykey,referenceClass(Clno)2、表之间的联系:III.系统维护设计:一、安全性要求:在这个系统中应该有三种用户:第一种是学生,这部分用户对系统中的数据只有查询的权限,没有任何修改的权限;第二种是教师。这部分用户对系统中的数据不仅有查询的权限,对有关其所涉及的课程的学生成绩还具有添加、修改、删除的功能;第三种用户是系统的管理员。他具有最高权限,可以对系统中的任何数据作任何操作。一般由学院的特定的人专门承担此任务。二、使用方式要求:用户在可视化的环境中使用该系统,通过用户名和口令对用户的访问(及权限)进行限制。此系统平均应该能满足500人同时访问系统中的数据库,最高峰应能达到平均访问量得两倍。查询响应时间不应该对于3秒。三、可扩充性要求:系统中的数据库可以随学院规模的变化进行动态的扩充或缩减。功能根据学院不同时期的不同要求做出适当的增删。IV.SQL查询一、所有来自北京的男生:SelectsnameFromstudentWheressex=’男’andsplace=’北京’;二、所有成绩90的同学SelectStudent.sno,snameFromStudent,GradeWhereStudent.sno=Grade.snoAndGrade.Gmark90;三、教授数据库的老师SelectTeacher.Tno,TnameFromTeacher,TC,CourseWhereTeacher.Tno=TC.TnoAndTC.Cno=Course.CnoAndCourse.Cname=’DB’;四、03班年龄最大的5名同学五、某年以后出生的男同学六、选修某课程的学生及其成绩七、没有授课的教师八、某学生所选课程的总学分九、教授某学生必修课程的老师情况十、某学生选修了哪些系的课程十一、某系学生所学的所有课程十二、按总学分找出某系学习最好的5名同学十三、按总学分积找出某系学习最好的5名同学十四、可以毕业的学生V.参考文献《数据库系统概论》高等教育出版社王珊《SQLServer2000上机实验指导》清华大学出版社及其它相关参考书VI.课程设计心得体会:从此课程设计的过程中,使我充分认识到了一个道理:“好事多磨”,就是说做任何事之前一定要把要做的事规划好,对可能出现的问题预先作好解决的方案。在做设计之前,我对教务管理系统的认识只是停留在表面,缺乏本质和深入地研究调查,以至与在着手设计的过程中,各种意想不到的困难接踵而至。面对种种困难而又不知道怎样解决,无从下手的我后来重新对此次的设计做了认真细致的规划和调查,重新做了全面的分析,不断完善系统说明书。这使我在以后的设计之中作到了事半功倍的效果,整个设计流程清晰明了。当然,在此次的设计中最大的困难就是经常由于一些小错误而花费大量时间。人们常说:“办法总比困难多”,通过查阅大量相关资料,与老师和同学的不断交流使我对数据库有了较详细的认识,并能进
本文标题:学校教务管理系统--数据库课程设计
链接地址:https://www.777doc.com/doc-1858315 .html