数据库学生选课系统分析与设计.doc_第1页
数据库学生选课系统分析与设计.doc_第2页
数据库学生选课系统分析与设计.doc_第3页
数据库学生选课系统分析与设计.doc_第4页
数据库学生选课系统分析与设计.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

北京理工大学珠海学院课程设计任务书 2011 2012 学年第 1 学期学生姓名: xxx 专业班级: 09信息管理与信息系统 指导教师: xxx 工作部门: 商学院 一、课程设计题目学生选课系统的数据库设计选课系统的设计1)统计出至少有三名学生选修的课程的平均分,统计项包含课程编号和平均分2)在选课数据库中,统计出选修课程超过或等于2门以上的学生信息3)统计出平均分在90分以上的学生的信息,并将结果按平均分降序排列l 为每个实体表和关系表创建合适的索引(聚簇索引、复合索引)、主码、外码;l 创建学院类别取值范围为商学院、外国语学院、计算机学院、信息科技学院,并与相应的列绑定;l 通过触发器定义选课的成绩不能从选课中修改,修改专业的同时修改班级人数,在学生表中删除学生的同时,删除选课表中的信息;l 创建视图studentview(学生信息表),sc_view(学生成绩表) ,cs_view(学生课程表);l 存储过程exec Pro_基本信息功能的验证,存储过程exec Pro_班级信息的验证:(查询不同“班级编号”的所有学生信息)l 事务的创建(同时更新“姓名”和“所属班级”列信息,否则数据保持不变)摘 要随着社会的发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,为此,我们开发了学生选课管理系统。本人结合学生选课管理的实际需要,完成了对学生选课管理系统的需求分析、功能模块划分、数据库模式分析等,并由此设计了后台数据库以及前台应用程序。文中首先对课题背景,数据库基础理论和SQL语言进行了简单的讨论;接着,学生选课管理系统进行了详细分析,划分了具体的功能模块;最后,给出了学生选课系统应用程序的设计过程,以及每个功能模块的核心代码。系统可以实现学生选课的一些重要功能,如:课程的添加、删除,信息查询、选课、生成课表,以及学生选课管理人员、用户个人信息的维护等。关键词 管理系统;数据库; SQL Server 2000Abstract With the development of society, the number of students and the type of course increased sharply, the traditional courses management mode can not meet current demand, therefore, we develop the students courses management system. I according to students of the practical need of courses management, complete the course for students of the management system requirements analysis, function module partition, database model analysis, etc, and has designed the backend database and foreground application. This paper first to this background, database basic theory and SQL language are discussed development tools, students course selection management system are analyzed in detail, dividing a specific function module; Finally, we give the students elective course system application design process, and the core of each function module code. The system can realize the course of some important function students, such as: course add, delete, information query, courses, and the formation of schedule, and the students courses management personnel, and the maintenance of customer information. Key words :management system; Database; SQL Server 2000 31目 录1引言52. 需求分析阶段62.1 引言62.2 需求分析阶段的目标与任务82.2.1处理对象82.2.2处理功能及要求82.2.3.安全性和完整性要求92.3 需求分析阶段成果92.3.1 体会与收获92.3.2 学生选课管理系统业务流程图92.3.3 选课管理系统数据字典102.3.5 处理逻辑描述123 概念设计阶段123.1 引言123.2 任务与目标123.3 阶段结果134逻辑设计阶段164.1逻辑设计的任务和目标164.2数据组织164.2.1将E-R图转换为关系模型164.2.2模型优化164.2.3数据库模式定义175数据库实施阶段195.1建立数据库、数据表、视图、索引195.1.1 建立数据库195.1.2 建立数据表195.1.3 建立视图205.1.4 建立索引225.1.5 建立触发器236数据统计257实习心得271引言 本文以高校选课管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原则。采用结构化的功能模块设计系统功能,可读性好,易于扩充。基本功能全面,系统可读性好,易于维护、更新,安全性好。2. 需求分析阶段2.1 引言 进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。每个学校都有图书馆,最初由于图书数量和种类较少,人工手动管理比较方便和灵活。随着社会的发展,图书的数量和种类越来越多,人工手动管理会降低工作的效率,希望建立一个图书管理系统,是为了解决人工手动管理图书信息在实践的问题,从而达到系统化、规范化、标准化的水平。该系统的建立不但给管理者带来了方便,也节省了工作时间从而提高了工作效率。 需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。学生选课排课系统用于根据教学计划、教师资源、教师资源等,制定每学期的课程表及相关信息,面对的用户包括系统管理员、教师和学生。因此该系统的功能模块应分为系统管理员需求、教师需求、学生需求三个部分。管理员可以通过超级用户身份登录,对系统进行全面的管理维护, 老师、学生以不同用户的身份进入不同的界面,执行不同的操作。图2.1.1简要需求分析图系统管理员需求分析系统管理员负责整个系统的维护,其需求最为复杂,包括对学生、教师、选课进行管理和统计,及系统状态的查看、维护并生成选课报表、排课报表。所涉及的信息包括课程信息、教师信息和学生信息。因此系统管理员具有该系统的最高权限,能够编辑各信息模块,如插入一个新生的信息,增添一门课程的信息,删除退休教师的信息等。教师需求分析在该系统中,为方便教师工作,要求教师能够核实自己信息、查询所授课程的信息、查看自己教学班的信息,以及最后登记学生的成绩等。图2.1.2教师需求学生需求分析该系统为学生主要提供选课服务,因此学生可以直接查看选课情况,学生可以根据本人学号和密码登录系统,进行相关操作。此外还应附带其他服务,如核实个人信息,查看教师信息、课程信息以便选课,查看自己选课结果,查询考试成绩等。图2.1.3学生需求2.2 需求分析阶段的目标与任务2.2.1处理对象学生信息:学号,姓名,性别,年龄,所属班级,家庭住址,民族,出生日期,电话,登陆密码教师信息:教师编号,姓名,性别,年龄,籍贯,民族,电话,登陆密码班级信息:班级编号,班级名,班级人数,所属系别,辅导员课程信息:课程代码,先行课,授课老师,学时数,开课时间,授课地点 选课信息:学生学号,学生姓名,教师编号,教师姓名,课程代码,课程名,成绩 管理员信息:管理员代码,管理员姓名,性别,籍贯,年龄,联系电话,电子邮件。2.2.2处理功能及要求1能够存储一定数量的课程信息,并方便有效的进行相应的课程信息数据操作和管理,这主要包括:1) 课程信息的录入、删除及修改。2) 课程信息的多关键字检索查询。能够对一定数量的学生、管理员进行相应的信息存储与管理,这其中包括:1) 学生信息的登记、删除及修改。 2) 管理员信息的增加、删除及修改。 3) 学生资料的统计与查询。3能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4对查询、统计的结果能够列表显示。2.2.3.安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。2) 完整性要求 系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2.3 需求分析阶段成果2.3.1 体会与收获系统需求分析主要是通过对本校选课系统的操作和料及同学的咨询,了解我校选课系统的管理规则和运行机制,并通过上网搜索有关学生选课管理系统的知识,了解到了学生选课管理的现状,以及在管理中的一些问题。由于是第一次做这样的需求调查,开始总是觉得无从下手,不知道自己该了解、该清楚那些方面的知识,在绘制系统业务流程图时,也遇到了很多的问题,但通过同学的帮助与指导,和自己一遍一遍的分析和完善,才逐步把业务弄清楚,最终顺利完成了需求分析阶段的任务。2.3.2 学生选课管理系统业务流程图学生选课的业务流程图:学生教务处选课总名单选课表2辅办教学计划表开设课程表选课管理系统时间安排表教室安排表课程和教师名单班级选课名单个人课程表学院选课名单 选课信息汇总1课程名单教师院系教务员选课表1退课表选课信息汇总2 图2.3.12.3.3 选课管理系统数据字典(a) 数据项:系统涉及的数据项有42项 数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI01StuID学生学号char(8)学号DI02StuName学生姓名varchar(10)姓名DI03Tel学生联系电话varchar(13)电话DI04Sage学生年龄smallint年龄DI05Ssex学生性别char(2)性别DI06Semail学生电子邮件varchar(20)电子邮件DI07Sintday出生日期datetime入学日期DI08Sgrade所属班级varchar(20)班级DI09Snation民族varchar(20)民族DI10Sadd学生住址varchar(40)地址DI11GradeID班级编号char(6)班号DI12GName班级名称varchar(20)班名DI13GNum班级人数Int班级人数DI14Gassist辅导员varchar(10)辅导员DI15Gdept所属系别varchar(20)系别DI16Gacademy所属学院varchar(20)学院DI17TID教师编号char(6)编号DI18TName教师姓名varchar(10)姓名DI19Temail教师电子邮件varchar(20)电子邮件DI20Tsex教师性别varchar(2)性别DI21Tage教师年龄smallint年龄DI22Tnation民族varchar(20)民族DI23Tadd籍贯varchar(40)籍贯DI24Temail电子邮件varchar(20)电子邮件DI25Ttel教师联系电话varchar(13)电话DI26CID课程代码char(6)代码DI27CName课程名称varchar(20)课程名DI28Cnum学时数varchar(2)学时数DI29Ccapa课程容量varchar(3)容量DI30Cdate开课时间datetime时间DI31Croom开课地点char(5)地点DI32C_XKL课程性质varchar(6)课程性质DI33CID授课代码char(6)代码DI34MID管理员代码char(6)代码DI35MName管理员姓名varchar(10)姓名DI36Msex性别varchar(2)性别DI37Mtel联系电话varchar(13)电话DI38Madd籍贯varchar(40)籍贯DI39Memil电子邮件varchar(20)电子邮件DI40SCID选课编码char(5)选课号DI41StuID学生学号char(8)学号DI42TID教师编号varchar(10)编号DI43CID课程代码varchar(20)代码DI44Credit选课成绩varchar(3)成绩 (b)数据结构:表1.2 数据结构列表数据结构编号数据结构名数据结构含义组成DS-1Student学生信息StuID、StuName、Tel、Sage、Ssex、Semail、Sintay、Sgrade、Snation、SaddDS-2Grade班级信息GradeID、GName、GNum、Gassist、GdeptGacademyDS-3Teacher教师信息TID、TName、Temail、Ttel、Tsex、Tage、Tnation、TaddDS-4Course课程信息CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、TIDDS-5Manager管理员信息MID、Mname、Msex、Mtel、Madd、MemilDS-6SC选课信息SCID、SCsname、CID、TID、Credit2.3.5 处理逻辑描述表1.3 处理逻辑列表处理编号处理功能处理过程PR-1判断学生、教师查询涉及的功能模块学生信息模块、班级信息模块、教师信息模块、课程信息模块、管理员信息模块、选课信息模块。先确定查询所涉及的功能模块;然后,根据要查询的内容,确定查询数据流向;最后显示查询结果。PR-2判断学生、教师修改要涉及的模块,同时把相应的修改数据传到相应的模块之中学生信息模块、班级信息模块、教师信息模块、课程信息模块、管理员信息模块;先确定更新所涉及的功能模块;然后,把更新信息传送到相应的模块中;最后,进行相应的更新操作。3 概念设计阶段 3.1 引言 系统开发的总体目标是实现学生选课管理的系统化和自动化,缩短学生的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高学生选课管理效率的目的。主要任务是对学生信息、管理员信息、课程信息、选课信息、教师信息基本信息的操作及外理。 概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。3.2 任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,即各子模块的E-R图; (3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; (4)生成全局E-R图,通过消除冲突等方面。 在本选课管理系统中,从第3层数据流程图下手。分析各3层数据流图和数据字典,知道整个系统功能围绕“学生”、“管理员”和“教师”的处理。根据实体与属性间的两条准则:作为“属性”,不能再具有需要描述的性质。“属性”不能与其他实体具有联系。3.3 阶段结果(1)根据不同的对象,分别画出各分ER图:(2)合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图如下所示:(3)各ER图各实体的属性如下所示:学生:Student(StuID、StuName、Tel、Sage、Ssex、Semail、Sintday、Sgrade、Snation、Sadd)班级:Grade(GradeID、GName、GNum、Gassist、GdeptGacademy)教师:Teacher(TID、TName、Temail、Ttel、Tsex、Tage、Tnation、Tadd)课程:Course(CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、TID)管理员: Manager(MID、Mname、Msex、Mtel、Madd、Memil)各ER图中联系的属性如下所示:选课信息: SC (SCID、StuID、TID、CID、Credit)4逻辑设计阶段4.1逻辑设计的任务和目标 以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数据组织4.2.1将E-R图转换为关系模型具体的基本E-R图向关系模型的转化如下:学生:Student(StuID、StuName、Tel、Sage、Ssex、Semail、Sb_day、Sgrade、Snation、Sadd)班级:Grade(GradeID、GName、GNum、Gassist、GdeptGacademy)教师:Teacher(TID、TName、Temail、Ttel、Tsex、Tage、Tnation、Tadd)课程:Course(CID、Cname、Cnum、Ccapa、Cdate、Croom、C_XKL、C_Ter)管理员: Manager(MID、Mname、Msex、Mtel、Madd、Memil)各ER图中联系的属性如下所示:选课信息: SC (SCID、SCsname、Sctname、Sccname、Credit)(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性,主属性与外键属性一起构成主码)4.2.2模型优化 关系模式Student, Grade,Room, Teacher,Maneger不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF中存在着一些数据冗余,现将三个关系模型进行合并,消除冗余,优化为: 选课信息:SC (SCID、SCsname、Sctname、Sccname、Credit)4.2.3数据库模式定义表4.2.1 学生信息表列名数据类型可否为空说明StuIDcharnot null学生学号StuNamevarcharnot null学生姓名Telvarchar学生联系电话Sagesmallint学生年龄Ssexchar学生性别Semailvarchar学生电子邮件Sintdaydatetime入学日期GradeIDchar所属班级Snationvarchar民族Saddvarchar学生住址表4.2.2 班级信息表列名数据类型可否为空说明GradeIDcharnot null班级编号GNamevarcharNotnull班级名称GNumint班级人数Gassistvarchar辅导员GdeptvarcharNot null所属系别Gacademyvarchar所属学院表4.2.3 教师信息表列名数据类型可否为空说明TIDcharnot null教师编号TNamevarcharnot null教师姓名Temailvarchar教师电子邮件Tsexvarchar教师性别Tagesmallint教师年龄Tnationvarchar民族Taddvarchar籍贯Ttelvarchar教师联系电话表4.2.3 课程信息表列名数据类型可否为空说明CIDcharnot null课程代码CNamevarcharnot null课程名称Cnumvarcharnot null学时数Ccapavarcharnot null课程容量Cdatedatetime开课时间Croomchar开课地点C_XKLvarcharnot null先行课TIDcharnot null教师编号表4.2.4 管理员信息表列名数据类型可否为空说明MIDchar(6)not null管理员代码MNamevarchar(10)not null管理员姓名Msexvarchar(2)性别Mtelvarchar(13)联系电话Maddvarchar(40)籍贯Memilvarchar(20)电子邮件表4.2.5 选课信息表列名数据类型可否为空说明SCIDcharnot null选课编码StuIDcharnot null学生学号TIDcharnot null教师编号CIDcharnot null课程代码Creditvarchar选课成绩5数据库实施阶段5.1建立数据库、数据表、视图、索引5.1.1 建立数据库create database S_C;5.1.2 建立数据表学生类别信息表的建立: create table Student( StuID char(8) not null primary key , StuName varchar(10)not null, Tel varchar(13), Sage smallint, Ssex char(2)default 男 check (Ssex in (男,女), Semail varchar(20), Sintday datetime, Sgrade varchar(20), Snation varchar(20), Sadd varchar(40), )班级类别信息表的建立: create table Grade( GradeID char(6) not null primary key, GName varchar(20) not null, GNum int not null, Gassist varchar(10), Gdept varchar(20), Gacademy varchar(20) )教师类别信息表的建立: create table Teacher( TID char(4) not null primary key, TName varchar(10) not null, Temail varchar(20), Tsex char(2), Tnation varchar(20), Tadd varchar(20), Ttel varchar(13) )课程类别信息表的建立: create table Course( CID char(6) not null primary key, CName varchar(20)not null, Cnum varchar(2), Ccapa varchar(3), Cdate datetime, Croom char(5), C_XKL varchar(6), )管理员类别信息表的建立: create table Manager( MID char(6) not null primary key, MName varchar(10) not null, Msex char(2), Mtel varchar(13), Madd varchar(40), Memil varchar(20) )选课类别信息表的建立: create table SC( SCID char(5) not null primary key, StuID char(8) not null, TID char(4), CID char(6) not null , Credit smallint, check ( Credit between 0 and 100), foreign key (StuID) references Student(StuID), foreign key (TID) references Teacher(TID), foreign key (CID) references Course(CID) ) 5.1.3 建立视图 1. 基本表的数据查看(基于视图查询):1) 查看studentview(学生信息表)表中的数据2) 查看 sc_view(学生成绩表)表中的数据3) 查看 cs_view(学生课程表)表中的数据 5.1.4 建立索引1)创建Student合适的索引2)创建Course合适的索引3)创建SC合适的索引5.1.5 建立触发器1)在Student表中将“学号为“09080405”的学生调入“所属班级”为“050305”中,同时更改班级人数:2)将学号为“09070401”的学生的所属班级改为“080704”,同时更改班级信息的班级人数:3)在学生表中删除学生的同时,删除选课表中的信息4)通过触发器定义学生成绩不能从选课表中改变5.16存储过程功能的验证:1) 存储过程exec Pro_基本信息功能的验证:2) 存储过程exec Pro_班级信息的验证:(查询不同“班级编号”的所有学生信息

温馨提示

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

评论

0/150

提交评论