数据库课程设计.docx
《数据库课程设计.docx》由会员分享,可在线阅读,更多相关《数据库课程设计.docx(57页珍藏版)》请在冰豆网上搜索。
![数据库课程设计.docx](https://file1.bdocx.com/fileroot1/2022-12/30/70164ef6-a914-4edc-94a7-bf4ecf68e1c0/70164ef6-a914-4edc-94a7-bf4ecf68e1c01.gif)
数据库课程设计
数据库课程设计
本课程设计是与数据库原理课程相配合的设计性实验课程。
一、设计的主要目的
1.通过实践,使学生建立对数据库设计的认知;
2.通过对某系统的数据库的设计,使学生掌握数据库设计的主要步骤和方法,提升学生解决实际问题的能力;
3.使学生学会在一个实际的软件平台上创建数据库;
4.培养学生的团队合作精神。
二、主要内容和要求
根据选题范围,选择某系统进行数据库设计:
1.根据所选择题目,进行调查分析
2.在调查分析的基础上,进行数据库设计
3.在SQLServer2000上创建数据库,实现设计结果
4.撰写数据库设计各个阶段的详细设计报告
5.写出收获和体会,包括以解决和尚未解决的问题,进一步完善的设想与建议
选题范围以学生熟悉的或能够去实际调研的企业应用系统为主,如参考以下题目:
l校园超市商品管理系统
l学生餐卡管理系统
l教材征订管理系统
l校医院药品管理系统
l宾馆客房管理系统
l长途汽车站营运班次和旅客咨询系统
l商品房销售信息系统
l硕士研究生网上报名系统
l列车售票管理系统
三、设计组织安排
设计时间:
第3周
上机辅导:
地点:
6A502
设计报告提交:
(1)设计报告及数据库备份文件提交至学习委员或班长建一文件夹后统一打包交与我。
(2)设计报告打印文件:
要有封面(包括设计题目、班级、学号、姓名及分工)
四、参考设计步骤与方法
1.需求调查
通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求。
在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
调查内容:
⑴调查组织机构情况:
组织部门的组成情况、各部门的职责等
⑵调查各部门的业务活动情况:
l各个部门输入和使用什么数据、如何加工处理这些数据、输出什么信息、输出到什么部门、输出结果的格式是什么
⑶在熟悉业务活动的基础上,协助用户明确对新系统的各种要求:
l信息要求、处理要求、完全性与完整性要求
⑷对前面调查的结果进行初步分析
l确定新系统的边界:
确定哪些功能由计算机完成或将来准备让计算机完成,就是新系统应该实现的功能;确定哪些活动由人工完成
常用调查方法:
l跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录等。
2.依据调查结果,进一步分析和表达用户的需求
数据流程图
(1)基本符号
(2)数据流程图绘制方法:
自顶向下,分层绘制。
(3)数据流程图绘制规则
①每张数据流程图须从左往右绘制,即从产生数据的外部实体开始到使用数据的外部实体结束。
②对含义明显的数据流,其名称可以省略。
③尽量避免数据流的交叉。
④对于需在两个设备上进行的处理,应避免直接相连。
可以在它们之间加一个数据存储。
⑤如果一个外部实体提供给某一处理的数据流过多,可将它们合并成一个综合的数据流。
⑥下层图中的数据流应与上层图中的数据流守恒。
⑦对于大而复杂的系统,其图中的各元素应加以编号。
通常在编号之首冠以字母,用以表示不同的元素,可以用P表示处理,用D表示数据流,用F表示数据存储,用S表示外部实体。
(4)数据流程图示例
例:
某公司经营处理系统数据流程图
程设计任务书
题目名称
学生学院
专业班级
姓名
学号
一、课程设计的内容
本课程设计要采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成"企业报刊订阅管理系统"数据库应用系统。
完成信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计,用SQLSever的数据库管理系统、JSP开发工具实现该系统,并运行、评价、改进之;在此基础上严格按课程设计教学大纲所附报告提纲撰写课程设计报告。
通过本课程设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。
二、课程设计的要求与数据
要求学生结合所学管理知识,在借鉴课堂教学案例、了解家人或亲友所从事的业务及其流程的基础上,参考有关资料,选择自己了解的一项业务,运用课堂所学数据库系统与数据库设计知识,完成信息需求分析、数据库概念设计、逻辑设计、物理设计,实现完成该业务的数据库应用系统,并运行、评价改进之,最后要写出课程设计报告。
三、课程设计应完成的工作
要求学生按照《数据库应用课程设计》教学大纲完成一个数据库应用系统,并撰写相应的课程设计报告,主要内容包括:
概述:
系统的基本任务,主要业务,开发目标
1.需求分析
2.(数据库)概念(模型)设计
3.(数据库)逻辑(模型)设计
4.数据库物理设计与数据库保护设计
5.处理功能设计
6.数据库应用系统的实现
7.数据库应用系统运行
四、课程设计进程安排
序号设计各阶段内容地点起止日期
五、应收集的资料及主要参考文献
[1]王珊、陈虹编著,数据库系统原理教程,清华大学出版社,2003.
[1]金银秋主编,数据库原理与设计,科学出版社,2000.
[2]李建中王珊,数据库系统原理,电子工业出版社,1998.
[3]李大友,数据库原理及应用(第二版),清华大学出版社,2000
概述…………………………………………………………………4
1.需求分析…………………………………………………………4
1.1用户需求……………………………………………………………………4
1.2业务流程分析………………………………………………………………4
1.3信息需求分析………………………………………………………………5
1.4功能需求分析………………………………………………………………6
2.(数据库)概念(模型)设计…………………………………7
3.(数据库)逻辑(模型)设计…………………………………9
3.1一般逻辑模型设计…………………………………………………………9
3.2具体逻辑模型设计…………………………………………………………9
4.数据库物理设计与数据库保护设计…………………………10
4.1设计索引……………………………………………………………………10
4.2设计表间关系………………………………………………………………10
4.3完整性设计…………………………………………………………………10
5.处理功能设计…………………………………………………11
6.数据库应用系统的实现………………………………………11
7.数据库应用系统运行…………………………………………11
7.1写出系统操作使用的简要说明……………………………………………11
7.2系统实施过程………………………………………………………………11
7.3系统使用结果………………………………………………………………22
7.4系统评价……………………………………………………………………31
企业报刊订阅管理系统
概述
随着社会不断的发展,人们的生活水平越来越高,对知识的和对时事的渴求也越来越高,人们希望能够方便快捷地订阅各种报刊杂志。
但是各种各样的报刊名目和详细信息以及订阅,为相关企业的管理造成很大的麻烦。
因此网上订阅成为不可或缺的一部分。
本系统就是面向一个企业的报刊订阅管理系统。
此系统是一种比较智能化的管理系统,它面向所有企业部门的职工用户,但具有比较高的安全性能。
它能够实现报刊订阅的基本功能,包括新报刊信息的录入、订阅、查询等操作以及后台数据库的备份和恢复。
用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。
对于非法操作,系统有识别和防护措施。
1.需求分析
1.1用户需求:
本系统就是面向一个企业的报刊订阅管理系统。
此系统是一种比较智能化的管理系统,它面向所有企业部门的职工用户,但具有比较高的安全性能。
它能够实现报刊订阅的基本功能,包括新报刊信息的录入、订阅、查询等操作以及后台数据库的备份和恢复。
用户合法注册后必须输入有效密码才能成功进入此系统,可以进行订阅报刊,查询信息,统计信息等操作。
对于非法操作,系统有识别和防护措施。
订阅信息处理的特点是订阅信息处理量比较大,所管理的信息信息种类繁多,而且订阅单、编辑单的发生量特别大,关联信息多,查询和统计的方式各不相同。
因此在管理上实现起来有一定因难。
本系统在设计过程中,为了克服这些困难,需要使程序代码标准化,软件统一化,确保软件的可维护性和实用性;删除不必要的管理冗余,实现管理规范化、科学化;界面友好、简单化,做到实用、方便,尽量满足报刊订阅中员工的需要。
1.2业务流程分析:
本系统主要面向的用户有系统管理员、读者。
下面分角色对该系统的不同操作范围做说明。
本系统主要有以下功能模块:
(1)登陆功能:
登陆系统为身份验证登录。
分为管理员登录和一般用户登录。
分别通过不同的用户名和密码进入报刊订阅管理界面,新的用户需要注册。
(2)录入新信息功能:
对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦提交就存入到后台数据库中;普通用户自行注册进行可以修改个人信息。
(3)订阅功能:
用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不可订阅报刊,必须以用户身份订阅报刊。
(4)查询功能:
用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门分类查询。
查询出的信息显示在界面上,并且可以预览和打印出结果。
(5)统计功能:
管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订阅信息进行统计;普通用户可以统计出自己的订阅情况,并且可以预览和打印出结果。
(6)系统维护功能:
数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢复,数据库备份后,如果出了什么意外可以恢复数据库到当时备份的状态,这提高了系统和数据的安全性,有利于系统的维护。
下图为该系统的业务流程图
1.3信息需求分析
1.3.1资料收集:
业务流程中用到的相关单据主要是报刊信息还有订单信息
报刊信息表:
报刊代号46-250报刊名称IT时代周刊
出版报社科技出版社
出版周期半月刊
每月定价10.00元/月
分类编号1001
报刊介绍《IT时代周刊》是一本深刻解读信息时代商业变革的杂志。
除深度报道信息产业的重大新闻外,还报道金融、汽车、股市、零售等传统行业利用IT提升商业与管理的新闻。
《IT时代周刊》以调查见深度;以商业故事见功力。
是CEO/CIO/CFO以及政府官员、商业领袖首选刊物。
订单信息表:
订单编号报刊代号用户编号订阅日期订阅月数份数操作
300346-20532062008-7-1订一月1取消订阅
300426-30631082008-7-8订半年2取消订阅
300572-31031002008-7-9订一年1取消订阅
300645-21425412008-7-10订一季1取消订阅
1.3.2事项分析:
根据以上资料中标题、表头等中各栏目名,可以得出相关事项,作为数据项;分析这些数据项,找出组合项、导出项、非结构化数据项,确定基本项。
检查是否有要补充的基本数据项,是否有要改进的地方,补充改进之,得出所有基本项。
1.4功能需求分析:
本系统的主要结构功能图如下:
2.(数据库)概念(模型)设计
基本项构思ERD的四条基本原则:
①原则1(确定实体):
能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
②原则2(确定联系):
两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。
实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
③原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。
联系的属性是联系的结果或状态。
④原则4(一事一地):
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
经过上述系统功能分析和需求总结,设计如下面所示的数据项和数据结构。
管理员表(Adminuser):
用于存放管理员的数据记录,包括数据项:
管理员名、密码。
部门表(Department):
用来存放部门的相关记录,包括数据项:
部门号,部门名。
用户表(Users):
用于存放注册用户的记录,包括数据项:
用户账号、密码、真实姓名、身份证号、联系电话,联系地址,部门号(和部门表有关)等。
报刊类别表(NewspaperClass):
用于存放初始的报刊类别记录,包括数据项:
分类编号、分类名称。
报刊信息表(Newspaper):
用于存放报刊记录,包括数据项:
报刊代号、报刊名称、出版报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。
订单表(Order):
用于存放用户下达的订阅报刊的基本信息,包括数据项:
订单编号、用户编号(用户表的主码)、报刊代号(报刊信息表的主码)、订阅份数、订阅月数等。
根据上面的设计规划出来的实体有部门实体、管理员实体、用户实体、报刊类别实体、报刊信息实体和订单实体。
部门实体的E-R图如下图所示:
管理员实体的E-R图如下图所示:
用户实体的E-R图如下图所示:
报刊信息实体的E-R图如下图所示:
订单实体的E-R图如下图所示:
报刊类别实体的E-R图如下图所示:
所有实体之间的的关系E-R图如下图所示:
3.(数据库)逻辑(模型)设计
3.1一般逻辑模型设计:
关系模型的逻辑结构是一组关系模式的集合。
将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。
由ERD导出一般关系模型的四条原则;
①一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果软换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。
如果与某一端实体对应的关系模式何明,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
②一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
③一个m:
n联系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
④3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系项链呢的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
根据以上原则将E-R图转换成的关系模式如下:
部门(部门号,部门名称)
用户(用户账号,密码,用户真实姓名,联系电话,联系地址,部门号)
管理员(管理员名,密码)
报刊类别(分类编号,分类名称)
报刊(报刊代号,报刊名称,出版报社,出版周期,每月订价,内容介绍,分类编号)
订单(用户编号,报刊代号,订阅份数,订阅月数,订阅总额)
3.2具体逻辑模型设计:
在SQLServer2000数据库中,首先创建newspaper数据库,然后根据数据库的逻辑结构分析创建表4-1━4-6的6张数据表。
在前台访问数据库阶段设置了用户和密码,用户为sa,密码为空。
表4-2department部门表结构
字段名称字段类型允许空说明
depNumber(主码)Char(10)否部门号
depNameChar(50)是部门名称
表4-3users用户表结构
字段名称字段类型允许空说明
userNo(主码)Char(10)否用户帐号
userNameChar(20)是真实姓名
passWordChar(10)否用户密码
addressChar(150)是用户联系地址
phoneChar(20)是用户联系电话
depNumberChar(10)否用户所属部门号
表4-3newspaperClass报刊分类表结构
字段名称字段类型允许空说明
classid(主码)Int(4)否报刊分类编号
classNameChar(30)是报刊分类名称
表4-4newspaper报刊表结构
字段名称字段类型允许空说明
newsNo(主码)Char(10)否报刊代号
newsNameChar(40)否报刊名称
classidInt(4)否报刊分类编号
publishChar(150)是出版报社
pubPeriodChar(30)是出版周期
contentChar(4000)是内容介绍
priceFloat(8)否每月报价
表-6book订单表结构
字段名称字段类型允许空说明
userNo(主码)Char(10)否用户帐号
newsNo(主码)Char(10)否报刊代号
orderAmountInt(4)否订阅份数
orderMonthInt(4)否订阅月数
totalPriceFloat(8)是订阅总额
表4-1adminuser管理员表结构
字段名称字段类型允许空说明
adminUser(主码)Char(20)否管理员用户名
adminPassChar(10)否管理员密码
4.数据库物理设计与数据库保护设计
4.1设计索引:
我们可以在最经常查询的列上建立索引以提高查询效率。
而在这个系统中,我们经常要按用户账号,按报刊代号,按部门查询,所以,我们可以为这三个表建立索引,建立所以的SQL语句如下,这几个都是字符型
CreateuniqueindexuserNumonusers(userNo)
CreateuniqueindexdepartNumondepartment(depNumber)
CreateuniqueindexnewsNumonnewspaper(newsNO)
4.2设计表间关系:
4.3完整性设计列出主要字段完整性的字段名、完整性约束条件;列出记录完整性约束及其约束条件;列出参照完整性表。
主要字段的完整性字段名和参照完整性表可以参照上图各个表之间的关系来看。
比如建立报刊表newspaper时,要求报刊代号在100~99999之间,报刊名称和每月定价不能取空值,报刊类别是报刊类别表的主键,则
Createtableuser
(userNochar(10)constraintC1check(newsNobetween100and99999),
newsNamechar(40)constraintC2notnull,
classidint(4)constraintC3notnull,
publishchar(150),pubPeriodchar(30),contentchar(4000),
pricefloat(8)notnull,
constraintC4foreignkey(classid)referencesnewspaperclass(classid))
4.4在有多个用户操作时,考虑用户授权与安全性控制。
因为这个报刊订阅系统由多个用户使用,分为管理员和用户,他们拥有不同的权限和安全性控制。
所以在权限设置方面,采用管理员和用户分别使用用户名和密码进入他们能使用权限范围里的界面。
管理员登陆系统后,可以添加、修改用户和报刊的信息,可以对订单进行查询和统计,并且可以把查询统计的结果进行预览和打印出来,还要对数据库系统进行维护,适时备份数据库,一旦数据库遇到问题,可以恢复到最近备份的状态,减少不必要的损失。
用户登录,用户使用该系统前需要进行注册,他应该是该企业某个部门下面的员工,所以他需要输入他的部门号等信息,注册成功后,登录到系统,可以修改自己的信息还有订阅报刊,但由于权限的限制,他只能查看和统计自己的订单信息。
5.处理功能设计
5.1主控模块设计:
使用本系统,首先它会自动弹出"欢迎使用本系统"的欢迎界面,然后跳转到用户身份验证界面,选择管理员的身份进入,有录入(录入报刊信息、录入用户信息),查询,统计(统计用户、统计、报刊订单),系统维护(备份数据库、恢复数据库),注销,退出等菜单可使用,没注册的用户可进入注册界面进行注册,然后返回登录界面登录,进入后有欢迎界面,有订阅、查询、统计、修改、注销、退出等菜单可使用。
6.数据库应用系统的实现
6.1数据库及其表结构的建立:
按照上面的逻辑分析见表
6.2数据输入:
在建好的各个表中输入数据,要符合数据的约束条件
7.数据库应用系统运行
7.1写出系统操作使用的简要说明
本系统的运行需要安装PowerBuilder9.0和SQLServer2000软件。
操作该系统,首先把备份的数据库还原出来,导入SQLServer中,然后打开该系统,连接上还原出来的数据库,再运行,就可以了。
7.2系统实施过程
(1)打开PowerBuilder,新建一个工作区,命名为newspaper
(2)新建一个Application,取名newspaper,然后点击工具栏上的DBProfile,新建一个MSSMicrosoftSQLServer,填入ProfileName,服务器名,用户名,密码,数据库,如下图,然后输入连接数据库的主要代码:
open(w_welcome)
//Profilenewspaper
SQLCA.DBMS="MSSMicrosoftSQLServer"
SQLCA.Database="newspaper"
SQLCA.ServerName="CHINA-41CD782EF"
SQLCA.LogId="sa"
SQLCA.LogPass=""
SQLCA.AutoCommit=False
SQLCA.DBParm=""
connect;
ifsqlca.sqlcode<>0then
messagebox("错误","数据库连接错误,程序将关闭!
",stopsign!
)
return
endif
close(w_welcome)
open(w_login)
(3)制作登录页面w_login,在"确定"按钮输入如下:
"注册"按钮代码:
open(w_register)//打开用户注册页面
"退出"按钮代码:
close(w_login)//退出本系统
(4)制作注册窗口w_register,在"注册"按钮的代码如下:
"取消"按钮代码:
close(w_register)
open(w_login)
(5)制作管理员主菜单w_adminview,建管理员主界面w_adminview,将该菜单放到窗口中
(6)制作用户主菜单w_userv