《数据库设计》课程设计.doc_第1页
《数据库设计》课程设计.doc_第2页
《数据库设计》课程设计.doc_第3页
《数据库设计》课程设计.doc_第4页
《数据库设计》课程设计.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

信息科学学院实习(实验)报告书学 期:_ 专 业: 信息管理与信息系统 课程名称: 姓 名:_班 级:_指导老师:_南京审计学院信息科学学院2010年11月一、 本次课程设计总结(课程设计所完成主要工作、收获体会)经过几天的设计,学生学籍管理系统基本开发完成,该系统是高校典型的信息管理系统,功能十分強大的管理系统,它集各种功能用于一身,在系统的各个模块中体现了它的功能,针对高校学生学籍工作方面进行设计的,同时该系统也是为了方便于管理员、教师和学生的一些信息操作,为高校节省了管理成本,提高学校的工作效率。该系统的界面简单大方,非常方便用户的操作,同时,也为以后系统的扩展留出了足够的空间。在本系统的设计过程中,首先通过对高校学籍管理系统功能进行详细的分析,得到系统功能模块图,然后根据系统功能分析,围绕它进行系统的设计,介绍开发环境和开发技术,再可行性分析、功能和性能需求,然后得出系统业务流图、数据流图、E-R图,并进行数据库的设计和模块化的实现。经过这次系统设计过程,加深了对系统的认识.完成本设计后,才知道平日里书本上所学的东西太少,仅是些概念知识,没运用到实践中来,知识是无法得到升华的。二、 数据库设计(一) 需求分析1. 系统目标 学校的学生学籍信息管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然。开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,及时,准确地获取需要的信息,充分发挥人员的工作潜力。因此,不难想象,正是咨询业的迅速发展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生学籍管理系统的任务就显得尤为重要。本系统是根据某学校的实际情况而设计的一套针对性和功能都比较强的学籍管理信息系统。2. 功能需求(1)学生档案的管理,即录入、修改、查询、输出学生档案信息,这些信息包括学生基本情况、学生简历情况、学生奖励情况、学生处分情况、学生家庭信息、学生体检情况。(2)学生学籍管理,录入、修改、查询、输出学生学籍信息,这些信息包括学生奖贷学金情况、学生注册、学生异动情况、学生军训情况、学生毕业情况。(3)学生成绩管理,录入修改、查询、输出学生入校成绩,各学期、各门课程的成绩信息,并支持按年级、班级等条件的统计、查询、报表输出。(4)基础数据管理,包括院系设置,专业设置,班级设置等。3. 功能模块结构4. 主要数据流图新生录取建立档案教学考试及格不及格补考重修不及格不及格学籍异动退学留级评定奖学金成绩单查看存档毕业毕业生登记毕业生登记表查看统计分析成绩系教务处家长学生用人单位学生处学生处 图1学籍管理业务流程图数据流程分析首先,我们根据学籍管理的业务流程图找出与学籍管理系统相关的主要外部实体:学生处、教务处、用人单位和学生。如图2所示:学生成绩单学生处用人单位学籍管理系统毕业生登记表新生名单成绩单教务处图2学籍管理信息系统数据流程图(顶层)接着,我们把学籍管理信息系统分为:档案管理、成绩管理、奖惩管理三个主要部分。与其相关的主要外部实体和数据流如图3所示:奖惩报告毕业生登记表成绩单成绩管理(P2)教务处成绩单学习文档学习文档奖惩管理系奖惩结论用人单位新生名单学生处档案管理学生学籍表家长成绩单学生注册成绩图3学籍管理信息系统数据流程图(第二层)下面为学籍信息管理系统的第三层流程图。我将成绩管理子系统分为了统计成绩、登记一览表、登记学籍表、统计不及格课程、评定奖学金、填写成绩单和登记重修成绩这几个主要部分。教务处通过成绩管理子系统把各任课老师所提供的各个学生的成绩进行统计和分析,并通过统计分析的结果判定学生是否可以评定奖学金、留级或退学,最后将统计分析结果传输给辅导员,并为学生和家长填制成绩单。通过成绩管理子系统的处理将会生成一份学习文档,为档案管理子系统和奖惩管理子系统的处理提供原始数据。学习文档教务处学生辅导员期末成绩单成绩统计学籍表成绩一览表重修成绩登记重修成绩统计成绩登记期一览表登记学籍表统计不及格课程判定留级或退学填写成绩单评定奖学金家长升级、补考图4学籍管理信息系统数据流程图(第三层成绩管理)图5和图6分别为奖惩管理系统和档案管理系统的数据流程图。建立奖惩档案学习文档奖励处理惩罚处理修改文档档案文件登记学籍表学籍表奖惩报告系图5学籍管理信息系统数据流程图(第三层奖惩管理)建立档案学习文档奖励处理退学处理留级处理修改文档删除文档档案文件填制毕业登记表登记学籍表用人单位学籍表新生名单学生处图6学籍管理信息系统数据流程图(第三层档案管理)4. 数据字典1. 数据项定义数据项是最小的数据组成单位,本学籍管理系统的部分数据项定义如下:(1)、姓名名称:姓名别名:N-说明:本校学生、教师以及相关人员的名称数据值类型:离散类型:文本长度:8编号:N- XXXX相关说明:姓氏名称(2)、学号名称:学号别名:Sn-No说明:本校学生编号数据值类型:离散类型:数字长度:10有关数据结构:学生成绩、学生卡总编号:2001编号:803065有关编号说明:XXXX X X X XXX 编号班号专业代号系代号年级(3)、成绩名称:成绩别名:Ss-No说明:本校学生期末考试成绩成绩数据值类型:离散类型:数字长度:3编号:S- XXXX取值含义:优:90100;良:8090;中:7079;及格:6069;不及格:60以下(4)、密码名称:密码别名:-No说明:登录系统的相关密码数据值类型:离散类型:数字字符长度:6位以上编号:- XXXX取值范围:;2. 数据结构定义数据结构主要描述的是数据之间的关系,一个数据结构可以有若干数据项组成,也可以有若干个数据结构组成,还可以有若干个数据项和数据结构组成。本学籍管理系统的部分数据结构定义如下:()、学生登记卡名称:学生登记卡 总编号:XXXX说明:新生入学时填写的卡片 编号:XXXXXX结构: 学号有关的数据流、数据存储: 姓名新生登记表曾用名学籍表入学时间出生日期性别民族家庭住址本人简历*数量:开始时间每年大约份终止时间单位职务3. 数据流定义数据流可以包含多个数据结构,可以来自某个外部实体、数据存储或某个处理。本学籍管理系统的部分数据流定义如下:(1)、期末成绩单名称:期末成绩单简要说明:学期结束时,任课教师填写的成绩单。数据流来源:教师数据流去向:统计成绩包含的数据结构: 科目名称 考试 考查 学生成绩 学号 姓名 成绩 任课教师总编号:XXX编号:XXXXXX数量:500份/学期(2)、新生登记表名称:新生登记表简要说明:新生入学时填写的表单。数据流来源:学生数据流去向:建立档案包含的数据结构:基本情况 姓名曾用名入学时间出生日期性别民族家庭住址本人简历开始时间终止时间单位职务总编号:XXX编号:XXXXXX数量:2500份/学期(3)、奖惩报告单名称:奖惩报告单简要说明:学期结束时,学校各系填写的学生学习状况奖励与处罚表单。数据流来源:系数据流去向:建立奖惩档案包含的数据结构:科目名称 考试 考查 学生成绩 学号班级 姓名 成绩奖惩情况奖励处罚 总编号:XXX编号:XXXXXX数量:10份/学期4. 处理逻辑定义处理逻辑的内容包括:编号、名称、处理的文字描述,输入、输出的数据流和处理的频率。本学籍管理系统的部分处理逻辑定义如下:(1)、填写成绩单总编号:XXX编号:XXXXX名称:填写成绩单说明:通知学生成绩,有重修科目的说明重修报名时间。输入:由成绩一览表流向填写成绩单输出:由填写成绩单流向学生(成绩通知单)处理:查成绩一览表,打印每个学生的成绩通知单,若有不及格科目,或不及格科目达到一定数量,需要留级的,在“成绩通知单”上填写重修科目、时间,若留级的,注明留级。(2)、填制毕业生登记表总编号:XXX编号:XXXXX名称:填制毕业生登记表说明:反映学生在校情况。输入:由档案文件流向填制毕业登记表输出:由填制毕业登记表流用人单位(毕业生登记表)处理:查档案文件,打印每个学生的学籍档案,把学生的在校情况、表现、奖惩等信息如实打印在毕业生登记表上,并修改或删除学生在校档案。5. 数据存储定义数据存储组要描写该数据存储的结构,及有关的数据流、查询要求。本学籍管理系统的部分数据存储定义如下:(1)信息量:500份学期有无立即查询:有学习成绩一览表名称:学习成绩一览表说明:学期结束,按班汇集学生各科成绩。结构: 班级 学生成绩* 学号 姓名 成绩* 科目名称 考试 考查 成绩总编号:XXX编号:XXXXX有关的数据流:登记一览表 to成绩一览表成绩一览表 to 登记学籍表成绩一览表 to P统计不及格课程成绩一览表 to 评定奖学金成绩一览表 to 填写成绩单(2)、档案文件(分为奖惩档案文件和档案文件,此处以奖惩档案文件为例。)名称:档案文件说明:反映学生在校期间的奖惩、退留级情况。结构: 班级 学号 姓名 未及格科目 科目名称 考试 考查 成绩学分科目数量奖惩处理奖励处罚总编号:XXX编号:XXXXX有关的数据流:建立奖惩档案 to档案文件修改文档to 档案文件档案文件 to登记学籍表(3)、学籍表(学籍表的结构比较复杂,所以我在此仅列出学籍表的大体数据结构。)名称:学籍表说明:反映学生在校期间的所有情况。结构:基本情况学生动态(退学、留级、在校)奖惩记录学习成绩毕业论文成绩总编号:XXX编号:XXXXX6. 外部实体定义外部实体是数据的来源和去向。 外部实体主要说明外部实体产生的数据流和传给该外部实体的数据流,以及该外部实体的数量。本学籍管理系统的部分外部实体定义如下:(1)、学生名称:学生说明:输出数据流:输入数据流: 填写成绩单 to 学生(成绩通知)总编号:XXXX编号:XXXXXX个数:约12000个(2)、用人单位名称:用人单位说明:输出数据流:输入数据流: 填制毕业登记表 to 用人单位(毕业生登记表)总编号:XXXX编号:XXXXXX个数:难以确定(3)、学生处名称:学生处说明:输出数据流: 学生处to建立档案输入数据流:总编号:XX编号:XXXX个数:1个(4)、教务处名称:教务处说明:输出数据流: 教务处统to计成绩输入数据流:总编号:XX编号:XXXX个数:1个(二) 概念结构设计(主要E-R图) 在学生信息管理中存在这样的关系:选择(一个学生只能选择一个专业,而一个专业可以供多个学生选择,故是多对一的关系)、学习(一个学生只能在一个院系学习,而一个院系可以供多个学生学习,故是多对一的关系)。 对于老师信息管理,我们可以将老师实体抽象出来,老师属于学院可以将学院作为一个实体。 在老师信息管理中存在这样的关系:拥有(一个老师只能在一个院系工作,而一个院系可以供多个多个老师工作,故是多对一的关系)。 对于教务信息管理,我们可以将课程实体抽象出来。 在教务信息管理中存在这样的关系:毕业(一个学生拥有一个毕业信息,而一个毕业信息只属于一个学生,故是一对一的关系)、选修(一个学生可以选修多门课程,而一门课程可以被多个学生选修,故是多对多的关系)、开设(一个专业可以开设多门课程,而一门课程可以被多个专业选择,故是多对多的关系)、授课(一门课程可以被多个老师讲授,而一个老师可以讲授多门课程,故是多对多的关系)。 以上是本系统中的基本的实体和关系,本系统是将其分步找出来加以描述,下面是本系统总体的E-R图:(三) 逻辑结构设计 1.数据库表结构设计 老师基本信息表序号字段别名数据类型数据长度码1tno学号char10Y2tname姓名varchar10N3tsex性别Char2N4profess职称varchar10N5dname所属院系varchar8N6tel电话intN 学生基本信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2sname姓名varchar10N3ssex性别Char2N4birthday出生日期timestamp20N5symbol政治面貌varchar8N6Id身份证号varchar20N7Intime入学时间varchar20N8birthplace籍贯varchar10N9homeaddr家庭住址varchar30N10postcode邮政编码intN 专业信息表序号字段别名数据类型数据长度码1mno专业号char10Y2sno学号varchar10N3mname专业名char10N4intime入学时间datetimeN 毕业信息表序号字段别名数据类型数据长度码1gno毕业证编号char10Y2sno学号varchar10N3sname姓名varchar10N4ssex性别char2N5dname所属院系varchar10N6intime入学时间datetimeN7ycredit已修学分floatN8xcredit需修学分floatN 院系信息表序号字段别名数据类型数据长度码1dmpno院系号varchar10Y2dname院系名称varchar10N3dmphead院长名varchar20N 课程信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2cname课程名varchar15N3credit学分smallintN 学生选课信息表序号字段别名数据类型数据长度码1sno学号varchar10Y2cno课程号varchar5Y3grade成绩floatN 老师授课信息表序号字段别名数据类型数据长度码1cno课程号varchar5Y2tno教工号char10Y3ctime课时smallintN2.数据库完整性约束(实体、参照和用户定义完整性,触发器等)触发器触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,任何用户对表的增、删、改操作均由服务器自动激活相应的触发器,在DBMS核心层进行集中的完整性控制。由于本系统的触发器比较多,在这里我只写出了其中的一部分触发器,具体如下所示。(1)数据更新-CREATE TRIGGER scupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE SC /更新学生选课表SCSET SNO = (SELECT SNO FROM INSERTED) /将SC表中的学号改成学生表改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改对应的学生学号-CREATE TRIGGER graduateupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE GRADUATE /更新学生毕业信息表GRADUATESET SNO = (SELECT SNO FROM INSERTED) /将GRADUATE表中的学号改成学生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改对应的学生学号-CREATE TRIGGER majorupdate ON dbo.student /建立学生信息表更新触发器FOR UPDATE ASUPDATE MAJOR /更新专业信息表MAJORSET SNO = (SELECT SNO FROM INSERTED) /将MAJOR表中的学号改成学生表修改后的WHERE SNO = (SELECT SNO FROM DELETED); /更改对应的学生学号-CREATE TRIGGER student1 ON dbo.major /建立专业信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET MNO = (SELECT MNO FROM INSERTED) /将STUDENT表中的专业号改成专业表修改后的WHERE MNO = (SELECT MNO FROM DELETED); /更改对应的专业号-CREATE TRIGGER student2update ON dbo.department /建立院系信息表更新触发器FOR UPDATE ASUPDATE STUDENT /更新学生信息信息表STUDENTSET DMPNO = (SELECT DMPNO FROM INSERTED) /将STUDENT表中的院系号改成专业表修改后的WHERE DMPNO = (SELECT DMPNO FROM DELETED); /更改对应的院系号-(2) 数据删除-CREATE TRIGGER teach1update ON dbo.teacher /建立教师信息表删除触发器FOR DELETE ASUPDATE TEACH /删除授课信息表TEACHSET TNO = NULL /删除TEACH表中的教工号删除WHERE TNO = (SELECT TNO FROM DELETED) /找到对应的教工号-CREATE TRIGGER sc1update ON dbo.course /建立课程信息表删除触发器FOR DELETEASUPDATE SC /删除选课信息表SCSET CNO = NULL /删除SC表中的课程号删除WHERE CNO = (SELECT CNO FROM DELETED) /找到对应的课程号-CREATE TRIGGER stu_majorupdate ON dbo.major /建立专业信息表删除触发器FOR DELETE ASUPDATE STUDENT /删除学生信息表STUDENT SET MNO = NULL /删除STUDENT 表中的专业号删除WHERE MNO = (SELECT MNO FROM DELETED) /找到对应的专业号-CREATE TRIGGER teacherupdate ON dbo.department /建立院系信息表删除触发器FOR DELETE ASUPDATE TEACHER /删除教师信息表TEACHER SET DMPNO = NULL /删除TEACHER表中的院系号删除WHERE DMPNO = (SELECT DMPNO FROM DELETED) /找到对应的院系号3.数据库安全设计(角色、权限分配)系统的使用对象是学生管理部门,如教务处工作人员、校院系领导、班主任、教师等。任课老师:输入并维护所教科目的学生成绩,计算本科的成绩排名、本科成绩在班上的排名。班主任:输入并维护本班级的基本信息,各科成绩及各科成绩的部分,计算各科成绩排名,总分排名 的情况。院系领导:对本年级学生基本情况的管理,对各班的成绩汇总,计算系中各科成绩的排名,总成绩排名等需求。教务处:学校全体成员的信息管理,对考试科目,时间及对所考科目的编号等进行具体的管理,对对任课老师班主任等输入的信息进行库存,对学生的信息进行必要的维护,可打印学生的所有信息。权限:为用户设置权限功能,可分为普通用户,一般用户,超级用户。普通用户只是查询不能修改,一般用户只能对授权范围内进行相应修改及删除,超级用户能修改删除有所信息。(四)数据库物理实现(写出数据定义SQL)1.数据库和表的代码实现(Create table)2. 实现数据库完整性约束 实体完整性是指关系的主关键字不能重复也不能取“空值。 如如学生信息表中,学号是主关键字,那么,该列不得有空值,否则无法对应某个具体的学生,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。 参照完整性是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。 在学生管理数据库中,如果将选课表作为参照关系,学生表作为被参照关系,以“学号作为两个关系进行关联的属性,则“学号是学生关系的主关键字,是选课关系的外部关键字。选课关系通过外部关键字“学号参照学生关系。 实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。用户定义完整性则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。3. 视图实现查看某用户的登录日志Create view vi_Admin_Log(UserName,IP,LoginTime)asSelect a.admin_User,l.log_IP,Log_TimeFrom tb_Admin as a,tb_Log as I where a.admin_ID=l.log_UsIDGoSelect * from vi_admin_Log where UserName=cacheGo建立专业课程视图Create view vi_Prof_Cour(Professional,Course,Credit,Note)asSelect f_Name,c.course_Name,c.course_credit,c.course_noteFrom tb_professional as p,tb_Course as c,tb_Prof_Cour as pcWhere f_ID=f_ID and c.course_ID=pc.course_IDGoSelect * from vi_Prof_CourGo建立学生成绩视图Create view vi_Info_Resu(Sno,Name,Prof,Class,Cour,RYea,Term,Score)asSelectI.info_No,_Name,f_Name,co.course_Name,r.resu_Year,r.resu_Term,r.resu_ScorFrom tb_Information as i,tb_Result as r,tb_Info_Resu as ir,tb_Professional as p,tb_Calss as c,tb_Course as coWhere _No=_No and r.resu_CoID=ir.resu_CoID and r.resu_ID=ir.resu_ID and co.course_ID=r.resu_CoID and f_ID=_Prof and c.class_ID=_ClassGoSelect * from vi_Info_resu4.实现系统功能的存储过程和函数存储过程存储过程是PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。(1)数据查询-存储过程名:教师信息查询入口参数:tno varchar(10)/输入教师的教工号出口参数:tno char(10), tname varchar(10), profess varchar(10), dname varchar(10), tel int, tsex char(2),/定义存放输出教师信息的变量CREATE PROCEDURE selectteacher /建立查询教师信息存储过程tnoASSELECT tno = tno FROM INSERTED /选择与输入教工号相等的所有记录SELECT * /选出符合条件的教师所有信息 FROM teacher GO(2)数据插入-存储过程名:学生信息插入入口参数:sno varchar(10), id varchar(20), intime varchar(20),birthplace varchar(10),

温馨提示

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

评论

0/150

提交评论