昆工数据库原理大作业课程设计
- 格式:doc
- 大小:395.06 KB
- 文档页数:27
数据库原理课程设计报告2010 年12 月 25 日一、需求分析系统描述:随着计算机技术的快速发展,计算机在日常生活中的应用越来越广泛,无论是国防,军事,科技,医疗卫生,教育,计算机总是不可或缺的。
在如今这个飞速发展的信息化世界,每时每刻都有海量的数据在产生,传输和存储。
最为贴近我们学生生活的,比如大量的学生信息的管理,用传统的纸笔已经不现实,正式基于这一点,本人开发了这个简单的学生宿舍管理系统,以方便的对学生宿舍的学生信息进行管理,提高宿舍管理员的工作效率。
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
我们针对如此,设计了一套学生宿舍管理系统。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库的存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
由于现在的大学生数量较多,并且对于一个大学,管理好学生的宿舍是至关重要的,所以开发一个较好的宿舍管理系统是很有必要的,而且在开发的基础上,设计一个较好的数据库是很重要的,并且对于每一个访问数据库的成员也是很重要的,在此基础上,数据库设计的结构同样是很重要的,基于数据库的开发必然涉及到前台的开发,在这里使用MFC进行前台开发,利用对话框来实现可视化连接数据库以及对数据库的操作,可以以一种直观的角度来实现对数据库操作,同时,这也是现在可视化发展的需要,由于现在绝大多数用户使用的是windows操作系统,可视化的编程显得尤为重要,而且用可视化的界对数据库实现操作,具有直接、简单、简洁等一系列功能与作用,在从数据库的角度来说,管理好一个宿舍,也就相当于管理好一个学校,学校是由学生组成的,对于学生的基本信息,要有一个系统的信息管理系统,也只有这样,才能使得管理员有较好的管理方向,也只有管理好,才能实现宿舍系统的可用性与实用性,在此的基础上,才能实现对于学生的基本信息管理,开发环境:CPU:Intel Pentium4 2.1GHz内存:2G操作系统:Microsoft Windows XP后台数据库在Microsoft SQL Server 2000 中文企业版前台最终用户接口程序在 Microsoft Visual C++ 6.0 Enterprise推荐用户配置:CPU:Intel Pentium3 1.2 GHz 或更高内存:256MB 或更高操作系统:Windows 2000 Server 或更高数据库系统:Microsoft SQL Server 2000管理员可进行的操作:宿舍管理员数据流图:查询学生信息 增加学生记录删除学生记录 修改学生信息二、概念结构设计E-R 图:N 1N1三、逻辑结构设计模式设计:属性名存储代码 类型 长度 备注 登记编号ID int 4 登记编号 姓名Name Nvarchar 10 姓名 学号Sno Nvarchar 20 学号 年龄 Age Nvarchar 10 年龄登记编号学号 年龄 登记时间 系别 寝室号 姓名 学生 寝室 寝室号 空闲床位数 寝室电话寝室长入住 宿舍管理员 管理系别Dept Nvarchar 20 系别联系电话Phone Nvarchar 20 联系电话入住时间Date Datetime 8 入住时间属性名存储代码类型长度备注寝室号DVDID Int 4 寝室号寝室长DVDName Nvarchar 50 寝室长空闲床位数Num Int 4 寝室还可容纳人数寝室电话Note Nvarchar 100 寝室电话关系模式:学生(登记编号,姓名,学号,年龄,系别,联系电话,寝室号,入住时间)寝室(寝室号,寝室长,空闲床位数,寝室电话)四、数据库的物理设计为了提高在表中搜索元组的速度,在实际实现的时候应该基于某些属性建立索引。
《数据库原理》课程设计一、课程设计目的1、培养学生运用所学课程《数据库原理》的理论知识和技能以及对数据库组织、管理和使用能力。
2、掌握数据库应用系统的整个设计过程(包括需求分析、概念结构设计、逻辑结构设计与物理设计与实施)二、实施时间本课程设计时间为一周。
三、课程设计的具体要求1.从附录一中按要求选择一个题目进行数据库设计。
2.数据库的设计:根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作:●概念结构设计的E-R图●数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外键);●确定表之间的关联(一对一、一对多、多对多)●运用数据库理论确定每个表至少属于3NF。
四、编写课程设计报告1、封面2、课程设计任务书3、中文摘要,关键字4、目录5、前言:前言主要对本课题的目的和意义进行简要的说明。
6、系统分析与设计(1)需求分析,收集有关数据;(2)数据库的E-R图;(3)数据库的逻辑结构;(4)符合3NF标准。
7、结论。
对本系统作一个全面的评价:包括有何特点、存在的问题、改进意见等。
8、结束语。
通过做课程设计,你有何感想,学到了什么?9、参考文献。
五、课程设计的验收设计中期(具体时间待定)检查E-R图及表结构。
学生的课程设计说明书编写好之后,应交指导教师审阅,教师根据学生的设计资料,设计结果进行评定并给出成绩。
评分标准:1.数据库结构正确性(30%)。
2.数据库结构复杂性,由题目等级决定(30%)。
3.设计报告完成的质量(30%)。
4.出勤(10%)。
5.成绩采用五级分制评定。
六、其他1、论文要求上交纸质版及电子版。
2、纸质版论文要求使用论文模板,左侧装订,可以使用订书钉或拉杆夹。
论文中出现的表格及图要求居中,表格的标题至于表格之上,图的标题至于图之下。
3、电子版文件名命名规则:学号姓名.doc。
设计题目四:仓库管理系统(题目等级60)3、系统功能的基本要求:产品入库管理,可以填写入库单,确认产品入库;产品出库管理,可以填写出库单,确认出库;借出管理,凭借条借出,然后能够还库;初始库存设置,设置库存的初始值,库存的上下警戒限;可以进行盘库,反映每月、年的库存情况;可以查询产品入库情况、出库情况、当前库存情况,可以按出库单、入库单,产品、时间进行查询;2、数据库要求:在数据库中至少应该包含下列数据表:库存情况表;出库单表;入库单表;出库台帐;入库台帐;借条信息表,反映,借出人,借出时间,借出产品,借出数量,还库时间等。
《数据库原理》课程大作业数据库设计课题名称:网上选课系统数据库设计学号:姓名:专业年级:成绩:日期:目录1 绪论 (1)2 应用系统功能分析 (1)2.1 业务操作流程 (1)2.2 系统功能设计 (1)3 数据库设计 (2)3.1 需求分析 (2)3.2概念结构设计 (5)3.3 逻辑结构设计 (7)3.4 物理结构设计与实施 (8)4 结束语 (9)4.1 收获和体会 (9)4.2 总结与展望 (10)1 绪论随着科学技术的发展,计算机已经运用到很多方面,网上选课在各个高校已经不可或缺。
信息的自动处理以及网络式的信息交互方式已经被人们广泛应用,使的办公更加的方便快捷和人性化。
网上选课系统种类繁多,只有一个稳定高效的选课系统才能真正的为我们带来方便。
教学计划必需随着社会和科技的不断地而进行修订,使得学校安排学生选课、排课的任务日趋繁琐、复杂。
简化选课难度,提高选课质量势在必行。
目前,各高校已相继建成了覆盖全校的高速校园网,并与Internet互联,具备了通过网络来管理教学的硬件环境。
传统的人工选课方法在流程上存在很多弊端,全部由人工完成,工作量太大,有时会出现错误。
对学生来说选课不方便信息不灵活,可能会选错或者选课与上课时间有冲突,等都不利于选课的开展。
而且老师对学生的录入,成绩管理发放更不方便。
因此为了进一步提高学生选课管理的效率,保证学院学生选课工作的顺利有序进行,信息化和网络化的推行也是正被广泛应用并被实践证明是目前最有效的途径。
为了方便广大师生,我们需要运用所学自己设计一种网上选课系统数据库软件用来管理好选课信息。
选课系统将使选课管理更加规范,提高信息管理的速度和准确性。
2 应用系统功能分析本系统为三类用户使用:系统管理员,老师和学生。
因此应当具有的功能:可让管理理员对学生信息,老师信息,课程信息,教室信息进行有效的管理,包括增加、删除、查询、修改等基本维护功能。
可让管理员和教师对特定班级进行必修课的设定。
《数据库原理》课程设计一、课程设计的性质、目的和意义《数据库原理》课程设计是实践性教学环节之一,是《数据库系统原理》课程的辅助教学过程,是计算机科学与技术专业的必修课。
通过课程设计,结合实际的操作和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具和数据库管理系统软件,规范、科学地完成一个小型数据库的设计与实现,把理论课与实验课所学内容综合为一,并在此基础上强化学生的实践意识、提高其实际动手能力和创新能力,从而为后续课程的学习,毕业设计环节以及将来的实际工作打好坚实的基础。
二、课程设计的具体内容数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容。
1.系统需求分析需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。
用户对数据库的需求包括:⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。
⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求。
本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。
数据库原理课程设计大作业题目:学籍管理系统数字媒体学院数字媒体技术专业学号: 206学生姓名:沈玉婷指导老师:周頔二○一二年五月一、开发计划1.1 设计背景分析随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学生成绩信息进行管理,有着手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生成绩管理的效率,也是企业的科学化,正规化管理,和世界接轨的重要条件。
因此,开发这样的一套成绩管理系统成为很有必要的事情。
学生成绩管理系统提供了强大的学生成绩管理管理功能,方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方面学生对自己各科成绩查询,学习的交流。
开发一个学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
为广大教师和学生提高工作效率,实现学生成绩信息管理工作流程的系统化,规范化和自动化。
现在我国的大中专院校的学生成绩档案管理水平普遍都不是很高,有的还停留在全用纸介质基础上,这种管理方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。
在今天信息时代这种传统的管理方法必然会被计算机为基础的信息管理系统所代替,一个高效的学生成绩管理系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全、学生在能方便的查看自己的成绩。
1.2 开发环境1、页面开发环境:VS2008集成开发环境2、开发语言:C++.NET3、后台数据库:SQL Server20084、开发环境运行平台:Windows 7二、系统需求分析学校每年新生入学,毕业生离校和各种其它变动,如学籍变动,个人信息修改。
数据库原理的课程设计一、教学目标本课程旨在让学生了解和掌握数据库原理的基本概念、设计方法和操作技能。
通过本课程的学习,学生应能理解数据库的基本原理,掌握数据库的设计和应用,具备一定的数据库系统开发和管理能力。
1.理解数据库的基本概念、特点和分类。
2.掌握数据库设计的基本方法和步骤。
3.熟悉数据库管理系统的原理和操作。
4.能够使用数据库管理系统进行数据库的创建、修改和删除。
5.能够进行数据库的查询、更新和优化。
6.能够参与数据库项目的开发和维护。
情感态度价值观目标:1.培养学生的团队合作意识和解决问题的能力。
2.培养学生对数据库技术的兴趣和热情,认识其在现代社会的重要性和应用前景。
二、教学内容本课程的教学内容主要包括数据库的基本概念、数据库设计、数据库管理系统的原理和操作。
1.数据库的基本概念:介绍数据库的定义、特点和分类,让学生了解数据库的基本概念。
2.数据库设计:讲解数据库设计的基本方法和步骤,包括需求分析、概念设计、逻辑设计和物理设计,让学生掌握数据库设计的基本流程。
3.数据库管理系统的原理和操作:介绍数据库管理系统的原理,包括数据库的创建、修改和删除,以及数据库的查询、更新和优化,让学生熟悉数据库管理系统的操作。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过教师的讲解,让学生掌握数据库原理的基本概念、设计方法和操作技能。
2.案例分析法:通过分析实际案例,让学生理解和应用数据库原理,提高解决实际问题的能力。
3.实验法:通过实验操作,让学生亲身体验数据库的设计和应用,巩固所学知识。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选择权威、实用的数据库原理教材,作为学生学习的主要参考资料。
2.参考书:推荐一些相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的课件和教学视频,提高学生的学习兴趣和效果。
4.实验设备:准备充足的数据库服务器和客户端设备,保证学生能够进行实验操作。
《数据库原理》课程设计报告专业:测控技术与仪器班级:测控071班学号:200710402112 200710402115姓名:杜文龙王京京题目名称:物资管理系统完成日期:2009年12月25日昆明理工大学信息工程与自动化学院2009年12月物资管理系统一、课程设计目的:1.加深对讲授内容的理解《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。
2.通过课程设计,掌握数据库系统设计与开发的方法及步骤数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。
同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。
在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。
3.培养学生自学以及主动解决问题的能力通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。
二、课程设计基本要求:1.课程设计应由学生本人独立完成,严禁抄袭。
2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等。
熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。
3.按时上机调试,认真完成课程设计。
4.认真编写课程设计报告。
三、需求分析信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。
云南大学软件学院实验报告课程:数据库原理与实用技术实验学期:任课教师:专业:学号:姓名:成绩:期末大作业:Electronic Ventor 数据库设计一、实验目的(1)掌握数据库设计的基本方法(2)掌握各种数据库对象的设计方法(3)熟练掌握DBA必须具备的技能二、实验内容1、根据项目的应用和项目的需求说明文档,进行详细的需求分析,给出需求分析的结果。
(1)客户可以在网站上注册,注册的客户要提供客户的姓名、电话、地址,以方便售后和联系,姓名即作为用户名,和密码一起用于注册和登录,客户编号可唯一识别用户,卡号可网上支付。
其中地址、电话以方便联系和寄货;(2)网站管理员可以登记各种商品,供客户查询,订购。
登记商品时要提供商品的名称、价格,商店中现有商品量,商品编号可唯一识别商品;(3)类别表示商品所属类别,类别编号可唯一识别类别,其中包含了,商品类别名称和制造厂商,可以对商品进行分类售卖;(4)客户可以在网上下订单,也可以到实体店购物,其在订单上所选择的支付方式不同(信用卡、借记卡、现金,现金代表实体店购物),网站管理员可以查看订单,并及时将订单的处理情况更新(比如货物已寄出的信息,订单状态:0:未处理,1:已处理,2:已发货);订单编号可唯一识别订单,订单中包含订单产生时间,订单状态,支付方式和支付总额;(5)实体商店有自己的店名,卖多种商品,每个商店都有固定的地址,顾客可以到店中买商品,(注:在实体店中购买商品的顾客一律将顾客名默认为佚名),当商店中的库存量小于10时会有提醒到仓库中拿货;(6)配送单中包含查询号可唯一识别配送单,配送人,联系方式;(7)仓库中仓库编号可唯一识别仓库,其中每个仓库都有区号,代表其地址。
(8)各实体间关系1)一个客户可以购买多种商品,一种商品可以被多个客户购买;2)一个商品属于且仅属于一种类别,一种类别的商品可以包含多个商品或没有;3)一种商品放在多个商店中销售,一个商店至少销售一种或销售多种商品;4)一个订单对应一个客户,一个客户对应多个订单;5)一个订单对应至少有一件商品或多件,一个商品对应多个订单;6)一个订单可以有一个商品配送单7)一个仓库可以存放多种商品,一种商品可以存放在一个仓库;2、数据库逻辑设计:用文字简要描述实体之间的联系,画出E-R图(标出各联系中实体的基数)。
数据库原理课程设计报告一、需求分析此工资管理数据库针对一些中小型企业而建立的,主要是方便企业的管理,并进行工资的发放管理。
数据库实现的五大主要功能:1、数据增加功能(1)员工基本信息的输入:员工编号、姓名、性别、年龄、部门、职务参加工作时间、政治面貌。
(2)员工工资信息的输入:实发工资、应发工资、职务津贴、奖罚金额。
(3)企业部门信息的输入:部门编号、部门名称、部门主管、部门人数。
2、数据删除功能数据的删除只有管理员才有此权限,当员工不在该企业工作,管理员对其信息进行级联删除,即删除员工与该企业相关的信息。
当部门被撤销是,管理员可以对其信息进行删除等。
3、数据修改功能(1)当企业人员的信息发生变化,如职称的改变、工作部门的变动、工资的变化、调离本单位等,管理员应能够修改员工的信息或将其从员工信息表中删除,员工也可以自己修改自己的信息。
(2)当一个部门的名称发生改变时,企业中所有该项部门的名称应一致的改变,即级联修改。
(3)当工资选项有所改变时,工资实体的属性应该相应的变化。
4、数据查询功能当管理员和员工登录系统时都可以进行数据的查询,管理员可以对系统的一切信息进行查询,但是员工制可以查询自己的信息,以及所在部门的信息。
二、概念结构设计(1)员工实体及属性(2)部门实体及属性(3)出勤实体及属性(4)津贴实体及属性(5)工资实体及属性(6)实体及其联系图三、逻辑结构设计1.数据字典的建立以及数据库和表的建立(1)员工关系表的数据字典:建立员工关系表的SQL语句截图(2)员工部门表的数据字典建立员工部门表的SQL语句截图(3)出勤表的数据字典建立出勤表的SQL语句截图(4)津贴表的数据字典建立津贴表的SQL语句截图(5)工资表的数据字典建立工资表的SQL语句截图(6)工资管理数据库建立的SQL语句及建立好的数据库截图2.视图的建立(1)建立名为EmployeeIDView的视图,限制条件为员工号为:(2)建立名为PracticalSalaryView的视图,限制条件为员工3.对员工信息表、部门信息表、工资表的部分属性建立唯一索引四、数据库的安全性和完整性2.创建新的用户,用户名为wurongchao安全性与完整性方面的要求:针对不同的用户设计使用权限,角色等,根据需要设计触发器,用截图的方式给出安全性和完整性的设计情况。
《数据库原理》课程设计报告学号:20111040****姓名:***班级:自动化***昆明理工大学信息工程与自动化学院2013年12月<一>前言一、课程设计目的:1.加深对讲授内容的理解《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。
2.通过课程设计,掌握数据库系统设计与开发的方法及步骤数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。
同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。
在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。
3.培养学生自学以及主动解决问题的能力通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。
二、课程设计基本要求:1.课程设计应由学生本人独立完成,严禁抄袭,如果发现最后的设计基本相同者(系统需求分析与功能设计、数据库的概念设计、逻辑设计,数据库的实现与运行等内容基本相同),一经验收教师认定其抄袭行为,则成绩均为不及格。
2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等。
熟悉数据建模工具与数据库管理系统SQLServer软件的使用。
3.按时上机调试,认真完成课程设计。
4.认真编写课程设计报告。
三、意义:数据库技术是近年来计算机科学技术中发展最快的领域之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。
《数据库原理及应用》课程设计重视实践环节,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。
第二章需求分析1 需求分析的任务需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。
为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。
新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。
2 需求分析的过程(1)调查教学组织机构的总体状况。
本教学系统主要由教师管理系统,学生管理系统以及教务管理系统。
(2)熟悉各部门的业务活动状况。
调查各部门的业务活动情况,对现行系统的功能和和所需信息有一个明确的认识。
包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。
(3)根据(1)(2)调查的结果,对教学管理中各应用的信息要求和操作要求进行详细分析,从中得到:该教学系统的各个应用从数据库中得到哪些信息,这些信息的具体内容和性质是什么,要求完成什么样的处理功能,对某些处理要求的相应时间,既对数据的安全,完整性的要求。
(4)确定系统的边界。
确定整个系统中哪些由计算机完成,哪些将来由系统完成,哪些由人工完成。
由计算机完成的功能就是新系统完成的功能。
3 数据字典经过可行性分析和初步需求调查,抽象出该子系统业务流程图,如图2.1 所示。
下面,结合该实例具体情况,给出教务处、后勤部和各个系各部门的具体需求。
图2.1 某校教学管理业务流程图⑴调查用户需求①教务处需求学籍处理:新生入学档案的录入毕业学生档案的处理学生档案的处理包括插入,删除以及修改学生基本信息的查询统计功能:按专业,系以及班级统计人数按专业,系以及班级统计学生的成绩以及排名按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正毕业的学生。
按专业,系以及班级查询未注册学生的基本信息及人数教师信息系统的管理:教师档案的录入教师基本信息的查询教师基本信息的更新包括修改,添加和修改教室设备的管理:教室基本信息的录入教室基本信息的查询包括占用情况教室基本信息的更新修改,添加和修改制定教学计划:根据专业教学秘书提供和教师的任课信息表制定教学计划把教学计划输入课程管理数据库和教师任课数据库排课:根据教学计划为每个专业排课每个专业的学生可以查询自己的课程教务处可以根据教学计划修改课程表将课程表分发给老师,学生,教室管理员和院系通知:通知学生放假及开学时间通知学生培养计划通知教师教授课程及任课教材发放学生的成绩单②学生交费功能:每年按规定的时间缴纳学费如果接到学校的补缴费用通知应该补缴注册:每年在规定的时间内向教务处注册查询功能:查询考试成绩及班级排名查询课程信息查询教学培养计划查询任课老师的信息查询上课地点及上课时间查询放假及开学通知③教师工资领取:按规定的时间领取工资考核学生:按照教学大纲的要求对学生考核监督学生的学习进度查询:查询教学培养计划查询课程表查询学生的总体成绩查询学生所用的教材④各系需求分班功能:按照男女生平衡的原则进行分班。
查询功能:按学生姓名,学号及班级查询查询每个班级成绩最优及最差学生统计功能:按班级统计男、女生人数,各地区人数及总人数按专业统计男、女生人数,总人数 统计各班各科的总成绩及总成绩 ⑵ 分析用户需求在调查完了用户需求之后,就要开始分析用户需求。
在此,我们采用自顶向 下的结构化分析方法(SA 方法)。
首先,定义全局概念结构的框架,如图2.2所示。
图2.2 教学系统总框架图经分析之后,本系统要用到九个基本表:系表,班级,学生表,课程表,选 课表、教室表、占用表、教师表,教授表。
数据结构定义如表2.1 所示。
表2.1 数据结构定义数据结构名 含义说明 组成系表 定义了系的有关信息 系号,系名,系主任 班级 定义了班级的有关信息 班号,班名,班主任,系号 学生表 定义了学生的有关信息学生号,姓名,性别,省份,备注,年龄,班级号课程表 定义了课程的有关信息 课程号,课程名,学分,教师号 选课表 定义了选课的基本信息 学号,课程号,成绩 教室表 定义了教室的有关信息 教室号,教室名, 教室位置 占用表定义了班级使用教室的有关信息 班级号,教室号,上课时间,占用学时教师表 定义了教师的有关信息 教师号,姓名,职称,性别,年龄 教授表 定义了教师教授班级的信息 教师号,班级号,课程号,教授时间教学管理系统 学生管理系统 后勤管理系统 教师管理系统 学籍管理系统 课程管理系统教师号第三章概念结构设计1 概念结构设计的方法与步骤2 概念结构设计的方法设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。
本教学系统采用的是自底向上的方法。
即首先定义全局的概念结构的框架,然后逐步细化。
根据自顶向上地进行需求分析然后再自底上上地进行概念设计。
2.1 概念结构设计的步骤概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。
第二步是集成局部视图,得到全局的概念结构。
2.2 数据抽象与局部视图设计按照图2.2 教学学管理系统总框架图,设计局部E-R 图。
姓名性别系号职称学生号姓名系主任系名教师学生院系教授属于图3.2 学生管理系统局部概念结构E-R 图2.3 视图的集成描述进行视图集成的具体过程,最后得到图2.5 总体概念结构E-R 图。
系号班号学生号院系班级学生课程号课程系名班级名系主任班主任姓名性别年龄门数课程名学分属于属于选修第四章逻辑结构设计1 E-R 图向关系模型的转换将图3.4 总体概念结构E-R 图转化成关系模型。
系表(系号,系名,系主任)主键:系号班级表(班号,班名,班主任,系号)主键:班号外键:系号学生表(学生号,姓名,性别,年龄,班级号)主键:学生号外键:班号课程表(课程号,课程名,学分,教师号)主键:可称号外键:教师号选课表(学号,课程号,成绩)主键:学号可称号外键:学号课程号教室表(教室号,教室名,教室位置)主键:教室号占用表(班级号,教室号,上课时间,占用学时)主键:班级号教室号教师表(教师号,姓名,职称,性别,年龄,工资)主键:教室号教授表(教师号,班级号,课程号,教授时间)主键:教室号班级号2 数据模型的优化数据库德逻辑结构设计的结果不是唯一的。
为了提高数据库应用系统的性能,还应该根据应用需要适当的修改,调整关系模式,这就是数据模型的优化。
规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用来预测模式可能出现的问题,使数据库设计工作有了严格的理论基础。
关系数据模型的优化通常以规范化理论为指导,方法为:(1)确定数据依赖。
分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。
根据需求分析可知:a) 系表的数据依赖:{系号->系名,系号->系主任}b) 班级表的数据依赖:{班号->班名,班号->班主任,班号->系号}c) 学生表的数据依赖:{学生号->姓名,学生号->性别,学生号->省份,学生号->年龄,学生号->班级号,学生号->专业}d) 课程表的数据依赖:{课程号->课程名,课程号->学分,课程号->任课教师号}e) 选课表的数据依赖:{(学生号,课程号)->姓名}f) 教室表的数据依赖:{教室号->教室名,教室号->教室位置}g) 占用表的数据依赖:{(班级号,教室号)->上课时间,(班级号,教室号)->占用学时}h) 教师表的数据依赖:{教师号->姓名名,教师号->职称,教师号->性别,教师号->年龄,教师号->工资}i) 教授表的数据依赖:{(教师,班级号)->授课时间,(班级号,教室号)->课程}(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
(3)按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。
不需要进一步,进行模式分3 数据库的结构给出数据库基本表总体结构图。
根据总体结构图设计各表的结构。
表4-1 系表的结构字段名数据类型长度约束描述Xno char 10 主键系号 Xname char 10 不为空系名Xdirector char 10 外键系主任表4-2 班级表的结构字段名数据类型长度约束描述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 char 10 不为空课程名称Ccredit smallint 5 不为空学分Courcedirector char 8 外键教师号表4-5 选课表的结构字段名数据类型长度约束描述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 10 外键教室号Stime datetime 上课时间UseTime char 10 占用学时表4-8 教师表的结构字段名数据类型长度约束描述Tno char 10 主键教师号Tname char 10 不为空姓名Tsex char 10 不为空性别Tpos char 10 不为空职称Tage smallint 不为空年龄Tsal smallint 不为空工资表4-9 教授表的结构字段名数据类型长度约束描述Tno char 10 外键教师号Cno char 10 外键班级号Courceno char 10 外键课程号Teachtime datetime 不为空教授时间第五章物理设计阶段1 数据存储方面2 系统功能模块(1)系表信息查询和更新模块将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理(2)班级表的查询和更新模块将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(3)学生表的查询和更新模块将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(4)课程表的查询和更新模块将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(5)选课表的查询和更新模块将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(6)教室表的查询和更新模块将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(7)占用表的查询和更新模块将完成占用基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(8)教师表的查询和更新模块将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(9)教授表的查询和更新模块将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理3物理设计阶段结果编号存储过程作用1 系表_insert 在系表中插入一元组2 班级表_insert 在班级中插入一元组3 学生表_insert 在学生中插入一元组4 课程表_insert 在课程中插入一元组5 选课表_insert 在选课中插入一元组6 教室表表_insert 在教室中插入一元组7 占用表_insert 在占用表中插入一元组8 教师表_insert 在教师中插入一元组9 教授表_insert 在教授中插入一元组存储过程汇总(其他表的查询、修改、删除与上面表的大致相同,这里不再具体列出)4 数据库实施阶段4.1数据库实施阶段目标用DBMS所提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果描述出来,成为DBMS可以接受的源代码,在经过调试生成目标模式4.2数据库实施阶段任务4.2.1建立数据库Create database 教学管理系统;4.2.2建立数据表(1)系表基本信息的建立Create table 系表( Xno char(10) primary key not null,Xname char(10) not null,Xdirector char(10) ,)(2) 班级表基本信息的建立Create table 班级表( Cno char(10) primary key,Cname char(10) not null,Xno char(10) ,Cdirector char(10) ,)(3) 学生表基本信息的建立Create table 学生表( Sno char(10) primary key,Sname char(10) not null,Ssex char(2) not null,Saddr char(10) not null,Sage smallint not null,Smajor char(10) not null,Cno char(10) ,)(4) 课程表基本信息的建立Create table 课程表( Courceno char(10) primary key, Courcename char(10) not null,Ccredit smallint not null,Courcedirector char(8),)(5) 选课表基本信息的建立Create table 选课表( Sno char(10) ,Courceno char(10),Grade char(10) not null,)(6) 教室表基本信息的建立Create table 教室表( Rno char(10) primary key,Rname char(10) not null,Raddr char(10) not null,)(7) 占用表基本信息的建立Create table 占用表( Cno char(10),Rno char(10),Stime datetime,Uestime char(10) ,)(8) 教师表基本信息的建立Create table 教师表( Tno char(10) primary key,Tname char(10) not null,Tsex char(10) not null,Tpos char(10) not null,Tage smallint not null,Tsal smallint not null,)(9)教授表基本信息的建立Create table 教授表( Tno char(10),Cno char(10),Courceno char(10),Teachtime datetime not null,)4.3 建立视图(1) 查询系表的基本信息的视图定义如下:create view 系表_viewasselect *from 系表with check option;(2) 查询班级表的基本信息的视图定义如下:create view 班级表_viewasselect *from 班级表with check option;(3) 查询学生表的基本信息的视图定义如下:create view 学生表_viewasselect *from 学生表with check option;(4) 查询课程表的基本信息的视图定义如下:create view 课程表_viewasselect *from 课程表with check option;(5) 查询选课表的基本信息的视图定义如下:create view 选课表_viewasselect *from 选课表with check option;(6) 查询选课表的基本信息的视图定义如下:create view 课程表_viewasselect *from 选课表with check option;(7) 查询占用表的基本信息的视图定义如下:create view 占用表_viewasselect *from 占用表with check option;(8) 查询教师表的基本信息的视图定义如下:create view 教师表_viewasselect *from 教师表with check option;(9) 查询教授表的基本信息的视图定义如下:create view 教授表_viewasselect *from 教授表with check option;5 存储过程定义(1)Create procedure 系表_insert@Xno char(10),@Xname char(10),@Xdiredtor char(10)AsInsert into系表values(@Xno,@Xname,@Xdiredtor);(2)create procedure 班级表_insert@Cno char(10),@Cname char(10),@Xno char(10),@Cdirector char(10)AsInsert into 班级表values(@Cno,@Cname,@Xno,@Cdirector);(3)create procedure 学生表_insert@Sno char(10),@Sname char(10),@Ssex char(10),@Saddr char(10),@Sage smallint,@Smajor char(10),@Cno char(10)AsInsert into 学生表values(@Sno,@Sname,@Ssex,@Saddr,@Sage,@Smajor,@Cno) (4)create procedure 课程表_insert@Courceno char(10),@Courcename char(10),@Ccredit smallint,@Courcedirector char(8)AsInsert into 课程表values(@Courceno,@Courcename,@Ccredit,@Courcedirc) (5)create procedure 选课表_insert@Sno char(10),@Courceno char(10),@Grade char(10)AsInsert into 选课表values(@Sno,@Courceno,@Grade);(6)create procedure 教室表_insert@Rno char(10),@Rname char(10),@Raddr char(10)AsInsert into 教室表values(@Rno,@Rname,@Raddr);(7)create procedure 占用表_insert@Cno char(10),@Rno char(10),@Stime datetime,@UseTime char(10)AsInsert into 占用表values(@Cno,@Rno,@Stime,@Usetime)(8)create procedure 教师表_insert@Tno char(10),@Tname char(10),@Tsex char(10),@Tpos char(10),@Tage smallint,@Tsal smallintAsInsert into 教师表values(@Tno,@Tname,@Tsex,@Tpos,@Tage,@Tsal); (9)create procedure 教授表_insert@Tno char(10),@Cno char(10),@Courceno char(10), @Teachtime datetimeAsInsert into 教授表values(@Tno,@Cno,@Courceno,@Teachtime);第六章数据库的实施与运行1建立数据库(教学管理系统数据库)2基于数据表的数据查询(系表查询)(班级表查询)(学生表查询)(课程表查询)3基于视图的数据查询(系表视图查询)(学生表视图查询)(班级表视图查询)4存储过程功能的验证(存储过程比较查询(班级表存储过程查询)(学生表存储过程查询)总结经过近几个星期的努力,终于设计出一个达到程序设计要求的数据库。