版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学籍管理系统设计报告1.需求分析1.1系统功能设计能够完善院系、教师信息管理系统能够查询学生、教师间的关系,查询某个学生被哪些教师教过能够便于学生信息的查询、更新和修改等操作对于学生成绩管理,便于查询学生每门课程成绩,查询学生必修课平均成绩和选修课的平均成绩对于学籍管理方面,系统负责进行统计,老师和领导能够知道理应被给予处分、开除的学生信息查询学生所选修的课程及成绩,并给出必修课平均成绩和选修课平均成绩;1.2系统模块设计学籍管理系统包括系统管理模块、学生信息模块、学生成绩管理模块、院系和教师、课程信息模块。其中系统管理系统中,系统管理人员可以学生信息模块包含学生各方面的根本信息,如院系,专业,班级,姓名,学号,性别等;院系和教师、课程模块包含院系根本信息,比方院系代号,院系名称等,教师根本信息,比方教师号,名字,教师性别,工龄,工资等,课程信息,比方课程号,课程名称,课程类型,学分;学习成绩管理模块,学生可以查询各科成绩,系统管理员或者教师对成绩进行录入、修改、删除操作等。1.3数据项数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的字段别名、数据类型、数据长度、是否属于主码,是的标注Y,不是标注N。表教师信息表序号字段别名数据类型数据长度码1tno教工号char10Y2tname姓名varchar10N3tsex性别Char2N4profess职称varchar10N5dname所属院系varchar8N表学生根本信息表序号字段别名数据类型数据长度码1sno学号integer10Y2sname姓名varchar10N3ssex性别char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7Intime入学时间varchar20N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N表1.3.3班级信息表序号字段别名数据类型数据长度码1clno班号varchar16Y2number人数intN表专业信息表序号字段别名数据类型数据长度码1mno专业号char10Y2mname专业名char10N表1.3.5院系信息表序号字段别名数据类型数据长度码1dmpno院系号varchar10Y2dname院系名称varchar10N3dmphead院长名varchar20N表课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN4ctp课程类型varchar5N表1.3.7教学方案表序号字段别名数据类型数据长度码1ctp课程类型varchar5Y2semester学期varchar15Y3credit学分smallintN表1.3.8学生,教师,课程班级间学习联系表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar5Y3grade成绩floatN4tno教工号char10Y5clno班号varchar16Y1.4数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由假设干个数据项组成,也可以由假设干个数据结构组成,或假设干个数据项和数据结构混合组成。经过数据项和用户需求的分析,此学籍管理系统可分为5个组,具体如下表所示:表数据结构表数据结构名含义说明组成局部学生根本信息管理描述学生根本信息学号+姓名+性别+出生日期+身份证号+入学时间+政治面貌+家庭住址+籍贯+民族老师根本信息管理描述老师根本信息教工号+姓名+性别+职称+所属院系+学生、老师相关信息管理描述学生选课信息,老师授课信息学号+课程号+成绩课程号+教工号+班号学生成绩管理描述学生平均成绩、总成绩的计算,统计相关信息学号+课程号+成绩系统管理描述用户修改密码,帮助查询信息,统计成绩,是否升留级1.5数据流数据流图是结构化方法的需求分析最根本的工具,数据流图从数据传递和加工的角度,以图形化的方式刻画数据流从输入到输出的移动和变换的过程。在数据流图中具体的物理元素都已去掉,只剩下数据的存储、流动、加工和使用情况。第一层:第二层:第三层:第四层:第五层:2.概念结构设计2.1分开的ER图如下:图院系实体图专业实体图教师实体图2.1.4班级实体图2.1.5学生实体图课程实体图表示院系与专业间关系图且为1:n类型图表示教师与院系间的雇佣关系,且为1:n类型图表示专业开设班级间的关系,且为1:n类型图表示此专业开设的课程,且为m:n类型图表示教师与学生、课程、班级间的教学关系图2.1.12表示此专业在一学期与教学方案间的关系教学方案为弱实体图2.1.13表示学生与班级间的关系,且为n:1类型2.2总的ER图如下:3.逻辑结构设计逻辑结构设计就是把概念结构设计阶段设计好的根本E-R图转换为与系统功能设计相对应的逻辑结构,即关系模型。将E-R图转换为关系模型实际上就是要将实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原那么:〔1〕一个1:1联系可以转换为与任意一端对应的关系模式合并,需要在关系模式的属性中参加另一个关系模式的码和联系本身的属性。〔2〕一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,那么与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。〔3〕一个n:n联系转换为一个关系模式。与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一局部。将概念结构设计阶段设计好的根本E-R图转换为关系模型,如下所示:学生〔学号,专业号,院系号,姓名,性别,出生日期,身份证号,入学时间,政治面貌,家庭住址,籍贯,民族,班号〕此为学生实体对应的关系模式教师〔教工号,姓名,性别,职称,所属院系,院系号〕此为教师实体对应的关系模式班级〔班号,班级人数,专业号〕课程〔课程号,课程名,学分,课程类型〕此为课程实体对应的关系模式院系〔院系号,院系名称,院长名〕此为院系实体对应的关系模式专业〔专业号,专业名称,院系号〕此为专业实体对应的关系模式学习〔学号,课程号,教工号,班号,成绩〕此为教师、学生、课程三者关系对应的关系模式。开设〔专业号,课程号〕此为专业开设课程关系对应的关系模式。教学方案〔专业号,学期,课程类型,学分〕此为专业制定教学方案关系对应的关系模式4.应用程序设计数据库实施过程一般步骤:〔1〕定义数据库结构:用DBMS提供的数据定义语言〔DataDefinitionlanguage,DDL〕严格描述数据库结构。〔2〕组织数据入库〔数据库〕:数据库结构建立完成后,便可以将原始数据载入到数据库中。通常数据库应用系统都有数据输入子系统,数据库中数据的载入,是通过应用程序辅助完成的。这里所说的数据载入,是用于程序设计、程序调试需求的局部数据,这些数据要经过挑选后再输入数据库中,要保证其有利于程序设计、适合程序调试。〔3〕编写和调试应用程序:编写和调试应用程序与组织数据入库事实上是同步进行的,编写程序时可用一些模拟数据进行程序调试,待程序编写完成方可正式输入数据。〔4〕数据库试运行:应用程序测试完成,并且已输入一些“真实〞数据,就开始了数据库试运行工作,也就进入到数据库联合调试阶段。在这个阶段,最好常对数据库中的数据进行备份的操作,因为,调试期间系统不稳定,容易破坏已存在的数据信息。4.1数据库的建立CREATEDATABASEStudent4.2根本表的建立4.2.1教师信息表的建立CREATETABLETeacher(Teacher_numberCHAR(10),Teacher_nameVARCHAR(10),Teacher_sexCHAR(2),ProfessVARCHAR(10)DepartmentVARCHAR(8)PRIMARYKEY(Teacher_number),Check(Sex=‘男’orSex=‘女’));4.2.2学生根本信息表的建立CREATETABLEStudent(Student_numberINTEGER(10),Student_nameVARCHAR(10),Student_sexCHAR(2),BirthdatTIMESTAMP(20)symbolVARCHAR(8)IdVARCHAR(20)IntimeVARCHAR(20)BirthplaceVARCHAR(10)HomeaddressVARCHAR(30)PRIMARYKEY(Student_number),Check(Sex=‘男’orSex=‘女’));班级信息根本表CREATETABLEClass(Class_numberVARCHAR(16),NumberINTNOTNULL,PRIMARYKEY(Class_number));4.2.4专业信息表CREATETABLEMajor(Major_numberCHAR(10),Major_nameCHAR〔10),PRIMARYKEY(Major_number));4.2.5课程信息表CREATETABLECourse(Course_numberVARCHAR(5),Course_nameVARCHAR〔15),CreditSMALLINT,Course_typeVARCHAR(5),PRIMARYKEY(Course_number));4.2.6教学方案表CREATETABLETeaching_Program(Course_typeVARCHAR(5),SemesterVARCHAR〔15),CreditSMALLINT,PRIMARYKEY(Course_type,Semester),FOREIGNKEY(Course_number));4.2.7院系信息表CREATETABLEDepartment(Department_numberVARCHAR(10),Department_nameVARCHAR〔10),President_nameVARCHAR〔20)PRIMARYKEY(Department_number));4.2.8课程表CREATETABLESchedule(Student_numberVARCHAR(10),Course_numberVARCHAR〔5),GradeFLOATNOTNULL,Teacher_numberCHAR(10),Class_numberVARCHAR(16),PRIMARYKEY(Department_number));4.3视图的建立教师信息的视图CREATEVIEWTCAS(Teacher_number,Teacher_name,Teacher_sex,Profess,Department)(SELECT*FROMTeacher);4.3.2学生根本信息的视图CREATEVIEWSDAS(Student_number,Student_name,Student_sexBirthdat,symbol,Id,Intime,Birthplace,Homeaddress)(SELECT*FROMStudent);4.3.3班级信息的视图CREATEVIEWCLAS(Class_number,Number)(SELECT*FROMClass);4.3.4课程信息的视图CREATEVIEWCourAS(Course_number,Course_name,Credit,Course_type)(SELECT*FROMCourse);4.3.5专业信息的视图CREATEVIEWMAAS(Major_number,Major_name)(SELECT*FROMMajor);4.3.6院系根本信息的视图CREATEVIEWDPAS(Department_number,Department_name,President_name)(SELECT*FROMDepartment);4.3.7课程表信息的视图CREATEVIEWSchAS(Student_number,Course_number,Grade,Teacher_number,Class_number)(SELECT*FROMSchedule);4.4约束的设计与实现数据库的完整性〔DatabaseIntegrity〕是指数据库中数据的正确性、有效性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一局部存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性那么纳入应用软件设计。数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。而在关系模型中有四类完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。实体完整性〔EntityIntegrity〕:此学籍管理系统中的各类表都设立了主键,即主码,都不能为空值〔NULL〕。“学号,教工号,专业号,院系号,课程号,学期,,课程类型〞这些作为各表的主属性都不能为空值。域完整性〔DomainIntegrity〕是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGNKEY约束和DEFAULT、NOTNULL定义都属于域完整性的范畴。参照完整性〔ReferentialIntegrity〕:假设属性组F是关系模式R1的主键,同时F也是关系模式R2的外键,那么在R2的关系中,F的取值只允许两种可能:空值或等于R1关系中某个主键值。例如,在教师信息表中,院系号作为外码,而在院系信息表中属于主码,因此在教师信息表中院系号取在院系信息表中的值。用户定义完整性〔User-definedIntegrity〕:包括字段的值域、字段的类型和字段的有效规那么〔如小数位数〕等约束,是由确定关系结构时所定义的字段的属性决定的。而在本系统中,用户定义完整性规那么为:课程表中的成绩属性只能取〔0-100〕之间的数,学生和教师的性别只能为“男〞或者“女〞,学生和教师的年龄不能为负,课程表和教学方案中的课程类型只能为“必修课〞或者“选修课〞。4.5触发器的设计和实现触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。由于本系统所用的触发器较多因此列举局部主要的。Student表的触发器:对于学生根本信息表,当对学生信息修改〔如:添加、删除和更新数据〕时,班级信息表,学生、教师和课程、班级间关系都要相应的发生改变。〔对于此类型的触发器,如教师表,专业表的触发器均可参照学生表的触发器设计与实现〕。对一学期学分不满足教学方案的学生信息存储过程:根据本专业所制定的教学方案要求,〔如2000年入学的学生大三上学期必修课30学分,限选课10学分〕当学生的学分少于规定的要求将学生的信息进行查询存储。更新学生成绩信息存储过程:CREATEPROCEDUREUpdateSC@学号integter(10),@课程号varchar(5), @分数float,ASupdateSCset分数=@分数where学号=@学号and课程号=@课程号GO4.5.4对有不及格科目的所有学生的信息查询的存储过程CREATEPROCEDUREselectstuendt_1ASSELECT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年山东黄河生态发展集团有限公司招聘(16人)笔试备考试题及答案解析
- 2025天津某服务技术有限公司面向社会招聘3人考试参考题库及答案解析
- 2026年环境影响评价工程师之环评技术导则与标准考试题库500道及参考答案【综合题】
- 2026存款保险基金管理有限责任公司校园招聘8人考试备考试题及答案解析
- 2026福建福州工业园区开发集团社会招聘2人考试备考试题及答案解析
- 2026广西桂林医科大学博士后招聘考试参考题库及答案解析
- 保安服务安全培训心得课件
- 2026河南漯河市交通运输局所属事业单位人才引进2人笔试参考题库及答案解析
- 2026年阜阳市颍上县某国企外包驾驶员岗位招聘2人笔试备考题库及答案解析
- 地貌的观察课件高一上学期地理人教版
- 咯血诊治专家共识解读
- 肺功能低下病人的麻醉处理原则
- 数字媒体艺术设计专业认知
- 国家开放大学《中国法律史》期末机考题库
- 物理●山东卷丨2024年山东省普通高中学业水平等级考试物理试卷及答案
- 国开电大《公司金融》形考任务1234答案
- 废旧锂电池拆解、破碎及梯次利用项目可行性研究报告模板-立项拿地
- 绿化劳务协议合同协议
- 稳心颗粒治疗心律失常
- 培训采购服务合同协议
- 胃穿孔的相关试题及答案
评论
0/150
提交评论