《数据库系统课程设计--实例.pdf》由会员分享,可在线阅读,更多相关《数据库系统课程设计--实例.pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大连交通大学数据库课程设计I 摘要数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求;信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径.校园网信息系统建设的重要性越来越为成人高校所重视.利用计算机支持教学高效率,完成教学管理的日常
2、事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。在软件开发的过程中,随着面向对象程序设计和数
3、据库系统的成熟,数据设计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述。本系统利用IBM DB2企业版本开发出来的。DB2 是 IBM 公司开发的关系关系数据库管理系统,它把SQL 语言作为查询语言。本文的分为5 章。其中第1 章主要是课题简介及设计的内容与目的。第2 章是需求分析,此阶段是数据库设计的起点。第3 章是概念设计,它是将需求分析的用户需求抽象为信息结构,这是整个数据库设计最困难的阶段。第4 章是逻辑结构设计,它将概念模型转换为某个DBMS 所支持的数据模型。
4、第5 章是数据库的实施与运行,它包括数据的载入及数据库的运行。关键词:SQL 语言;IBM DB2;数据库设计;教学管理系统大连交通大学数据库课程设计II 目录 第一章绪论.11.1 课题简介.11.2 设计目的.11.3 设计内容.1第二章需求分析.22.1 需求分析的任务.22.2 需求分析的过程.22.3 数据字典.2第三章概念结构设计.83.1 概念结构设计的方法与步骤.83.1.1 概念结构设计的方法.8 3.1.3 概念结构设计的步骤.8 3.2 数据抽象与局部视图设计.83.3 视图的集成.9第四章逻辑结构设计.114.1 E-R 图向关系模型的转换.114.2 数据模型的优化.
5、114.3 数据库的结构.12第五章数据库的实施与运行.165.1 数据的载入.165.2 数据库的运行.19总 结.23参考文献.24大连交通大学数据库课程设计1 第一章绪论1.1 课题简介随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套教学管理系统,在下面的各章中,我将以这套教学管理信息系统为例,谈谈其开发过程和所涉及到的问题。1.2 设计目的
6、应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用课程实践:实践和巩固在课堂教学中学习的关于DB2 的有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1.3 设计内容运用基于E-R 模型的数据库设计方法和关系规范化理论
7、做指导完成从系统的分析到设计直至系统的最终实现,开发教学管理信息系统,完成教学管理信息系统的全部功能,包括学生管理子系统,教师管理自系统,后勤管理子系统。首先做好需求分析,并完成数据流图和数据字典,其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R 图。然后就是逻辑结构设计,将E-R 图转换为计算机系统所支持的逻辑模型。最后利用IBM DB2完成具体的实例。大连交通大学数据库课程设计2 第二章需求分析2.1 需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。重点是调查,收集与分析用户在数据管理中的信息要求
8、,处理要求,数据的安全性与完整性要求。为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。2.2 需求分析的过程(1)调查教学组织机构的总体状况。本教学系统主要由教师管理系统,学生管理系统以及教务管理系统。(2)熟悉各部门的业务活动状况。调查各部门的业务活动情况,对现行系统的功能和和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。(3)根据(1
9、)(2)调查的结果,对教学管理中各应用的信息要求和操作要求进行详细分析,从中得到:该教学系统的各个应用从数据库中得到哪些信息,这些信息的具体内容和性质是什么,要求完成什么样的处理功能,对某些处理要求的相应时间,既对数据的安全,完整性的要求。(4)确定系统的边界。确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成。由计算机完成的功能就是新系统完成的功能。2.3 数据字典经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1 所示。下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需求。大连交通大学数据库课程设计3 学籍处理1教务处上级主管部门教师任课数据
10、库学生学籍管理数据库学生工作部院系学生奖励通知学生处分通知学生课外活动信息专业教学秘书制定教学计划2教务处课程管理数据库教学计划院系教师任课信息表教师基本信息管理3教务处教师数据库人事处教师信息表教室设施管理4教务处教室数据库排课5教务处课表数据库学生学生登记表学生学籍变动通知院系教学计划教师教师课表学生教室管理员院系教室课表学生课表班级课表成绩管理7学生成绩数据库网上学生选课6学生统计报表处理8教务处教师任课数据库校领导统计数据库教师开课统计表学生情况统计表学生异动情况统计表网上信息查询9教务处图 2.1 某校教学管理业务流程图调查用户需求教务处需求z学籍处理:新生入学档案的录入毕业学生档案
11、的处理学生档案的处理包括插入,删除以及修改学生基本信息的查询z统计功能:大连交通大学数据库课程设计4 按专业,系以及班级统计人数按专业,系以及班级统计学生的成绩以及排名按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正毕业的学生。按专业,系以及班级查询未注册学生的基本信息及人数z教师信息系统的管理:教师档案的录入教师基本信息的查询教师基本信息的更新包括修改,添加和修改z教室设备的管理:教室基本信息的录入教室基本信息的查询包括占用情况教室基本信息的更新修改,添加和修改z制定教学计划:根据专业教学秘书提供和教师的任课信息表制定教学计划把教学计划输入课程管理数据库和教师任课数据库z排课:根据
12、教学计划为每个专业排课每个专业的学生可以查询自己的课程教务处可以根据教学计划修改课程表将课程表分发给老师,学生,教室管理员和院系z通知:通知学生放假及开学时间通知学生培养计划通知教师教授课程及任课教材发放学生的成绩单学生z交费功能:每年按规定的时间缴纳学费大连交通大学数据库课程设计5 如果接到学校的补缴费用通知应该补缴z注册:每年在规定的时间内向教务处注册z查询功能:查询考试成绩及班级排名查询课程信息查询教学培养计划查询任课老师的信息查询上课地点及上课时间查询放假及开学通知教师z工资领取:按规定的时间领取工资z考核学生:按照教学大纲的要求对学生考核监督学生的学习进度z查询:查询教学培养计划查询
13、课程表查询学生的总体成绩查询学生所用的教材各系需求z分班功能:按照男女生平衡的原则进行分班。z查询功能:按学生姓名,学号及班级查询查询每个班级成绩最优及最差学生z统计功能按班级统计男、女生人数,各地区人数及总人数按专业统计男、女生人数,总人数统计各班各科的总成绩及总成绩大连交通大学数据库课程设计6 分析用户需求在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向下的结构化分析方法(SA 方法)。首先,定义全局概念结构的框架,如图2.2 所示。0教学管理系统2学生管理系统1教师管理系统3后勤管理系统4学籍管理系统5课程管理系统图 2.2 教学系统总框架图各子系统需要进一步细化。以教
14、师管理系统为例进一步细化,如图2.3 所示。图 2.3 教学管理系统细化以其中的查询功能为例进一步细化,如图2.4 所示。图 2.4 查询功能依此类推,将所有子系统全部细化。将所有用户需求分析完毕之后,就要开大连交通大学数据库课程设计7 始构造数据字典了。经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选课表、教室表、占用表、教师表,教授表。数据结构定义如表2.1 所示。表 2.1 数据结构定义 数据结构名含义说明组成系表定义了系的有关信息系号,系名,系主任班级定义了班级的有关信息班号,班名,班主任,系号学生表定义了学生的有关信息学生号,姓名,性别,省份,备注,年龄,班级号课程
15、表定义了课程的有关信息课程号,课程名,学分,教师号选课表定义了选课的基本信息学号,课程号,成绩教室表定义了教室的有关信息教室号,教室名,教室位置占用表定义了班级使用教室的有关信息班级号,教室号,上课时间,占用学时教师表定义了教师的有关信息教师号,姓名,职称,性别,年龄教授表定义了教师教授班级的信息教师号,班级号,课程号,教授时间,大连交通大学数据库课程设计8 第三章概念结构设计3.1 概念结构设计的方法与步骤3.1.1 概念结构设计的方法设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本教学系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶
16、向上地进行需求分析然后再自底上上地进行概念设计。3.1.3 概念结构设计的步骤概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构。3.2 数据抽象与局部视图设计按照图2.2 教学学管理系统总框架图,设计局部E-R 图。图 3.1 教师管理系统局部概念结构E-R 图 大连交通大学数据库课程设计9 图 3.2 学生管理系统局部概念结构E-R 图 图 3.3后勤管理系统局部概念结构E-R 图 3.3 视图的集成描述进行视图集成的具体过程,最后得到图2.5 总体概念结构E-R 图。大连交通大学数据库课程设计10 图 3.4 总体概念结构E-R 图大连交通
17、大学数据库课程设计11 第四章逻辑结构设计4.1 E-R 图向关系模型的转换将图 3.4 总体概念结构E-R 图转化成关系模型。系表(系号,系名,系主任)主键:系号班级表(班号,班名,班主任,系号)主键:班号外键:系号学生表(学生号,姓名,性别,年龄,班级号)主键:学生号外键:班号课程表(课程号,课程名,学分,教师号)主键:可称号外键:教师号选课表(学号,课程号,成绩)主键:学号可称号外键:学号课程号教室表(教室号,教室名,教室位置)主键:教室号占用表(班级号,教室号,上课时间,占用学时)主键:班级号教室号教师表(教师号,姓名,职称,性别,年龄,工资)主键:教室号教授表(教师号,班级号,课程号
18、,教授时间)主键:教室号班级号4.2 数据模型的优化数据库德逻辑结构设计的结果不是唯一的。为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。关系数据模型的优化通常以规范化理论为指导,方法为:(1)确定数据依赖。分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。根据需求分析可知:a)系表的数据依赖 :系号-系名,系号-系主任 b)班级表的数据依赖:班号-班名,班号-班主任,班号-系号 c)学生表的数据依赖:学生号-姓
19、名,学生号-性别,学生号-省份,学生号-年龄,学生号-班级号,学生号-专业 d)课程表的数据依赖:课程号-课程名,课程号-学分,课程号-任课教师号 e)选课表的数据依赖:(学生号,课程号)-姓名 大连交通大学数据库课程设计12 f)教室表的数据依赖:教室号-教室名,教室号-教室位置 g)占用表的数据依赖:(班级号,教室号)-上课时间,(班级号,教室号)-占用学时 h)教师表的数据依赖:教师号-姓名名,教师号-职称,教师号-性别,教师号-年龄,教师号-工资 i)教授表的数据依赖:(教师,班级号)-授课时间,(班级号,教室号)-课程 (2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联
20、系。(3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。不需要进一步,进行模式分解。4.3 数据库的结构给出数据库基本表总体结构图。(如下图,下图为DB2 实验总体结构图)图 4.1 各表的结构大连交通大学数据库课程设计13 根据总体结构图设计各表的结构。表 4-1 系表的结构 字段名数据类型长度约束描述Xno Char 10 主键系号Xname Char 10 不为空系名Xdirector Char 10 外键系主任表 4-2 班级表的结构 字段名数据类型长
21、度约束描述Cno Char 10 主键班级号Cname Char 10 不为空班级名称Xno Char 10 外键系号Cdirector Char 10 外键班主任表 4-3 学生表的结构 字段名数据类型长度约束描述Sno Char 10 主键学号Sname Char 10 不为空姓名Ssex Char 2 不为空性别Saddr Char 10 不为空省份Sage Smallint 5 不为空年龄Smajor Char 10 不为空专业Cno Char 10 外键班级号表 4-4 课程表 的结构 字段名数据类型长度约束描述Courceno Char 10 主键课程号Courcename Cha
22、r 10 不为空课程名称Ccredit Smallint 5 不为空学分Courcedirector Char 8 外键教师号表 4-5 选课表的结构 大连交通大学数据库课程设计14 字段名数据类型长度约束描述Sno Char 10 外键学号Courceno Char 10 外键课程号Grade Char 10 不能为空成绩表 4-6 教室表的结构 字段名数据类型长度约束描述Rno Char 10 主键教室号Rname Char 10 不能为空教室名Raddr Char 10 不能为空教室位置表 4-7 占用表的结构 字段名数据类型长度约束描述Cno Char 10 外键班级号Rno Char
23、 10 外键教室号Stime Datetime 14 上课时间UseTime Char 10 占用学时表 4-8 教师表的结构 字段名数据类型长度约束描述Tno Char 10 主键教师号Tname Char 10 不为空姓名Tsex Char 10 不为空性别Tpos Char 10 不为空职称Tage Smallint 5 不为空年龄Tsal Smallint 5 不为空工资大连交通大学数据库课程设计15 表 4-9 教授表的结构 字段名数据类型长度约束描述Tno Char 10 外键教师号Cno Char 10 外键班级号Courceno Char 10 外键课程号Teachtime D
24、atetime 14 不能为空教授时间大连交通大学数据库课程设计16 第五章数据库的实施与运行5.1 数据的载入一般的数据库系统中,数据量都很大,而且数据来源于部门的各个不同的单位,数据的组织方式,结构和格式都与新设计的数据库设计有一定的差距,因此数据组织,转换和入库的工作是相当费时费力的。本教学系统数据库,采用SQL 语句输入一小部分数据。下面各个图片是数据入库的截图:5.1 教师表的数据载入图 5.2 系表的数据载入图 大连交通大学数据库课程设计17 5.3 班级表的数据载入图 5.4 学生表的数据载入图 5.5 课程表的数据载入图 大连交通大学数据库课程设计18 5.6 选课表的数据载入
25、图5.7 教室表的数据载入图5.7 占用表的数据载入图大连交通大学数据库课程设计19 5.9 占用表的教授表载入图 5.2 数据库的运行数据入库以后就是数据库的运行。在这一阶段要执行数据库的各种操作,测试本数据的设计是否满足用户的设计需求。如果不满足,还需要重新修改调整,直到满足用户的需求为止。在数据库的运行过程中还要注意测试系统的各种性能指标,分析是否达到设计的目的。一下各图是各个数据库的运行图:5.10 学生表的查询图大连交通大学数据库课程设计20 5.11 特定条件的查询图5.12 特定条件的查询图大连交通大学数据库课程设计21 5.13多表的查询图5.14 满足条件的多表查询图大连交通
26、大学数据库课程设计22 5.13 满足条件的多表查询并排序图大连交通大学数据库课程设计23 总 结 经过近一个月的努力,终于设计出一个达到程序设计要求的数据库。其功能完整,用户界面良好,但是也存在着某些缺陷。需要进一步的得到改善纠正。总的来说基本达到了用户的基本要求。这一段时间的工作努力,最后的结果固重要,但更重要的是它让自己了解了数据库设计的一般过程。在接受客户的一个项目的时候,首先是进行系统分析。既首先分析其以后的销售情况以及技术可行性。如果二者可行,我们接下来做的就是总体设计。我们首先必须听取客户的要求,将其提出的功能按某种方式划分为几种模块。这就是整体设计。在对每一个模块进行细化形成最
27、为简单的模块。然后是考虑每一细化模块的算法并将其用语言刻画出来。这就是详细设计。这就迈出了最为关键的一步。剩下的就是编译测试阶段。这是编程的必经阶段,也是我们劳动结果的验金石。只有得到我们期望的结果我们才算真正完成了任务。最后是软件的维护。在软件的使用过程中不可避免地会出现一些错误,因此维护便是必不可少的。这便是完成一个项目必经的过程。克服困难,坚持不懈是一个成功人士的所必需的品质。同样作为一个软件编程者更是必不可少的。只有敢于对困难说不,我们才能成为真正的软件编程者。不懈上帝是公平的,又付出就有回报。眼前的困难只是你前进路上的绊脚石。只要我们不怕痛,我们就能坚持的走下来,最终走向胜利。更重要
28、的是它让我意识到团结互助的重要性。我们人类毕竟是社会动物。谁也不能成为上帝无所不能。只要是人他就必须需要别人。无论从物质还是精神上都不能摆脱对人的依赖。我们必须学会了与人交往,与人合作。这也是从事软件业所必须要学会。众所周知,软件是众人互相协作的产业,一个人不可能独立的完成一个大型软件的编程工作。信息产业在于它的速度,即使一个人能完成一个项目,它也不可能在时间上满足社会的需求。因此与人沟通与人协作也是十分重要的。在这一年的学习中,我终于体会到DB2 功能的功能丰富,表达能力强,使用灵活方便,应用面广。但是在其优势后面必然也隐藏着劣势,那就是对程序员的要求特别高。随着社会的发展,人类需要处理的数据越来越多,对数据管理的要求也越来越重要。软件的发展也从面向程序发展成为面向数据。大连交通大学数据库课程设计24 参考文献1 王珊,陈红 数据库系统原理教程 清华大学出版社,1998,7 2 石树刚、郑振梅编著。关系数据库,北京:清华大学出版社,1994 3 郑人杰等编辑。使用软件工程第二版,北京大学清华大学出版社1997 年4 萨师煊、王珊。数据库系统概论(第三版)。北京:高等教育出版社,2000 5 IBM公司。DB2通用数据库实用指南