数据库课程设计报告

时间:2019-05-14 12:56:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《数据库课程设计报告》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《数据库课程设计报告》。

第一篇:数据库课程设计报告

数据库课程设计

校友通讯录

南华大学计算机科学与技术学院网络工程

(2010~2011 年度 第二学期)

2011.6.25

目 录

一、设计需求说明··············3

二、总体设计分析··············

三、部分模块设计分析············

四、程序源代码···············

五、运行结果及截图·············

六、心得体会················

七、参考文献················4 10 18 23 23

一、设计需求说明

1、设计题目及要求

建立校友通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等;

◆ 能够提供注册、登录和修改个人信息等的功能; ◆ 校友之间能进行相互通信;

2、系统功能需求分析:

1).注册,找回密码(无法登陆该系统); 2).登陆;

3).更改个人资料;

4).查看并浏览校友所有的公开性信息; 5).申请私人互动,进一步获取校友私有信息: ①发送申请消息; ②拒绝;

③通过,开放私人信息; 6).删除已在列表中的对象; 7).账号注销。

二、总体设计分析

系统功能模块图:

校友通讯录要实现的需求功能主要有注册,找回密码;登录;修改个人资料;浏览校友信息;查找校友;修改密码;删除校友;账号注销。(1)注册:如果是新用户,用户可注册加入,填写详细的注册信息表。验证通过,如果注册成功,则进入校友通讯录主界面。

(2)找回密码:用户忘记了登陆密码,可通过找回密码功能找回密码,进入找回密码界面,填写邮箱号,可以修改密码。

(3)登录:输入正确的账号,密码,登陆成功,如果登陆次数超过5次,提示错误信息。

(4)修改个人资料:进入个人信息页面,填写要修改的内容,如果修改成功,系统更新并记录信息。

(5)浏览校友信息:查看已在校友列表的校友的信息。(6)查找校友:输入姓名、学院、专业等查找信息,查找成功。

(7)删除校友: 在已有的可互动的联系人中找寻并选择要删除的对象,如果删除成功则用户的私密信息不再对已删除对象开放。

(8)帐户注销:用户提出注销请求,如果退出校友通讯录系统,则系统注销退出者的个人信息。

三、部分模块设计分析

1.通讯录:

2.工作顺序图:

(1)注册:申请账号

注册注册数据 : <未指定>真实性检查错误真实加入班级记录,分配帐号

②找回密码:找回用户丢失的密码

找回密码已登陆用户进入更改密码界面已注册未登记用户申请找回密码键入新密码输入帐号系统发送密码通过电子邮件确认否记录

(3)登录:已注册的用户利用系统已分配的账号登录

已注册用户或管理员登录键入密码帐号验证密码帐号是否正确通过验证未通过验证验证是否为管理员拒绝进入普通用户管理员进入个人主页进入管理员界面系统维护8

4)修改个人资料:修改个人中心的资料

更改个人资料进入更改个人资料页面已登陆用户输入要更改的个人资料确定取消记录9((5)浏览校友信息:查看校友的信息

已登陆用户 查看搜索校友公开信息进入搜索界面键入搜索信息精确搜索模糊搜索显示符合条件校友名单显示选中校友公开信息10

(6)查找校友:查找用户感兴趣的校友

通信许可权发送许可权申请收到许可权申请已登陆用户拒绝许可权申请同意许可权申请记录,加入联系人列表删除许可权浏览联系人私人信息

(7)删除校友:删除用户的好友

已登陆用户

删除通信权进入已获通信权列表选中要删除的联系人取消删除确定要删除移出,记录12

四、源程序代码

五、运行结果及截图 1.显示主菜单界面

2.添加界面

3.显示界面

4.删除界面

删除后,通讯录里的显示记录:

5.查询界面

以姓名查询方式为例:

6.修改界面

修改后,通讯记录的显示记录:

7.保存界面

六、心得体会

李兰利: 李竹村: 姚莉 : 李叶婷: 毛蓓:

梁娟:这次课程设计我觉得我做的事情比较少,尽的力不够,但在组员的辅助下,还是学到了一些东西。如:如何做原型设计、需求分析的应该做些什么,以及界面设计,数据库那边了解甚少。我觉得那句话话说得很对,团结就是力量。要做一件事,你需要有一个优秀的团队,大家可以一同进步,一同努力,困难一起克服。在这个团队中,我看到了他们钻研的精神,令我很敬佩;看到大家分工明确一起努力地画面。只是一次不错经验。

七、参考文献

何玉洁、李宝安《数据库系统教程》人民邮电出版社 教材《软件工程》

第二篇:数据库课程设计报告

数据库课程设计方案

(长江大学管理学院,信息2009级)设计目的

数据库课程设计是信息管理与信息系统专业大四学生的重要实践性环节之一,是学生在学习完“数据库原理及应用”课程后,锻炼自身实践能力的一次综合性实验。本课程设计的主要目的在于加深学生对数据库基础理论和基本知识的理解,掌握数据库应用系统设计的基本流程和方法,能使用某种系统开发语言开发三层的软件体系结构,最终使学生能综合运用所学知识解决实际问题。参与人员与组织方式

按照专业教学计划的安排,本课程设计要求08级信息管理专业的所有学生都必须完成,历时两周,共28学时。课程设计采用分组的方式进行,每组4-6人,两个班级配备专业教师进行指导,但主要由学生自己动手查资料学习并解决问题。设计内容

以MS SQL Server 或Oracle作为后台数据库平台,选择某熟悉的软件开发平台如C++、JAVA、ASP、或.net等作为前台开发工具,完成一个小型数据库应用系统的设计与开发。根据学生的具体情况,学生可以从以下系统中选择一个,也可以根据个人的爱好自选题目。人事管理系统

(1)系统功能的基本要求(取决于小组的需求分析结果):

员工各种信息的输入,包括员工基本信息、学历信息、婚姻状况信息、职称等。员工各种信息的修改;

对于转出、辞职、辞退、退休员工信息的删除;

按照一定的条件,查询统计符合条件的员工信息,至少应该包括每个员工的详细信息查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等统计各自员工信息。员工每个工种基本工资设计

加班津贴管理,根据加班时间和类型给予不同的加班津贴;

按照不同工种的基本工资情况、员工的考勤情况产生员工的每月的月工资,员工年终资金的生成,员工的年终奖金计算公式学生可根据自己的理解自行设计。

企业工资报表:能够查询单个员工的工资情况,每个部门的工资情况、按月的工资,并能够打印。

对查询、统计的结果打印输出

(2)数据库要求(数据库设计应该与功能分析相对应)建议在数据库中至少应该包括以下数据表: 员工基本信息表

员工学历信息表、反映员工的学历、专业、毕业时间、学校、外语情况等; 企业工作岗位表; 企业部门信息表。考勤情况表;

员工工种情况表,员工的工种、等级、基本工资等信息;

员工津贴信息表,反映员工的加班时间,加班类别、加班天数、津贴情况等; 员工月工资表 宾馆客户管理系统(1)系统功能的基本要求 建议的功能

住宿管理:客户预定、住宿登记、追加押金、调房登记、退房结账。客房管理:客户设置、客户查询、房态查看。挂账管理:挂账查询、客户结账

查询统计:预定房查询、住宿查询、退宿查询、宿费提醒。日结:登记预收报表、客户销售报表、客户销售统计。系统设置:初始化、操作员设置、密码设置、权限设置(2)数据库要求 建议应该包括: 登记预收表 登记表 挂账明细

客房基本信息表 客房预定表 退房登记表

密码表、权限设置表。钢材综合管理系统

(1)系统功能的基本要求 前台管理部分 商品销售 客房结款 商品查询 客户查询 后台管理部分

日常业务:销售退货、商品入库、退货返厂、商品报损、商品报溢

库存管理:库存商品查询、库存盘存、设置库存的初始值,库存的上下警戒限;产品出库管理,可以填写出库单,确认出库;

查询统计:销售查询、销售退货查询、入库查询、退货返厂查询、报损查询、商品报溢查询等

应收应付管理:付款单、应收款查询、应付款查询

统计报表:销售日报表、销售月报表、客户销售报表、职员销售报表;

基础信息管理:商品信息管理、职员信息管理、仓库信息管理、供应商信息管理等 系统设置

(2)数据库要求

建议在数据库中至少应该包含下列数据表 单位定义表 报损表或报溢表

报损票号或报溢票号表 仓库基础信息 供应商基本信息 供应商明细表 库存表

客户基础信息表 客户明细表 权限设置信息表 入库表 入库票号表

入库退单表和入库退单票号 商品基础信息表 销售表 销售票号表

销售退单表及票号 员工基础信息表 餐饮管理系统 前台管理部分 开台管理 买单管理

当日结账数据分析 日结算管理 后台管理部分

酒店后台进货、出货管理

进货查询、出货查询、库存查询 库存统计分析

房间台号管理、商品信息管理、员工信息管理 财政管理: 月结算管理 月营业分析 年营业分析

应收应付管理:应付账款管理、挂账管理、历史挂账查询 系统初始化:本单位定义、供应商管理、房间台号类型管理、部门信息管理、仓库信息管理、员工级别管理

系统管理模块:权限与用户

(2)数据库要求

建议在数据库中至少应该包含下列数据表 单位定义表 付款单据表 供应商信息表 出货信息表 员工信息表 商品基础信息表 客户信息表 库存信息表

房间台号信息表(房间台号类型表)挂账信息表 挂账点单临时表 点单临时表 点单历史表 权限信息表

日(月)结账信息表 进货单据临时表 进货单据信息表 进货表 部门信息表 班级管理系统

(1)系统功能的基本要求

学生管理,可以录入学生、可以删除某个学生;

班组管理,能在满足约束条件的情况下添加、修改、删除班级; 课程管理,能在满足约束条件的情况下添加、修改、删除课程;

成绩管理,能进行成绩的录入、修改、删除等操作,能进行数据的查询和统计; 班组事务管理,如奖金评定、比赛等(2)数据库要求

建议在数据库中至少包含以下数据表: 学生表 班级表 院系表

课程表以及成绩表; 班级事务表 网络在线书店

系统功能的基本要求 前台管理 新用户注册 用户登录 查看图书信息 购物车处理 订单列表 订单详细信息 发表评论 商品运输管理 后台管理 单位信息管理 商品出入库 数据分析与统计

(2)数据库要求

建议在数据库中至少包含以下数据表: 商品库存信息 单位信息表 进(销)信息表 顾客表 图书种类表 订单明细表 订单表 评价信息表 购物车表 设计报告要求

学生完成设计任务后,应按要求提交课程设计报告,设计报告应包含以下几个方面的内容: 应用程序的系统结构;

应用程序使用的环境平台,如DBMS和开发工具的选择;

数据库设计的过程和结果:包括需求分析、概念设计、逻辑设计、物理设计、库表结构,并编写定义数据库及表单的SQL程序;

数据库相关应用程序的主要代码,数据库系统测试数据及测试结果; 运行结果分析。

具体的报告形式可参考本课程设计所提供的报告模板。成绩考核

由指导教师根据学生完成任务的情况、课程设计报告的质量和课程设计过程上的工作态度等综合打分,其中课程设计报告占60%、软件系统占30%,平时表现占10%。成绩评定实行优秀、良好、中等、及格和不及格5个等级,并对设计成绩评定为优秀的学生给予一定奖励。总评:

数据库课程设计实验报告(2012-2013)第1学期

业:

小组编号:

组长姓名:

级:

指导教师:

长江大学管理学院实验中心 数据库课程设计报告评价表 系统设计题目:

小组成员:

系统开发的主要技术:

设计目标:

工作进度安排:

小组自评: 小组成员得分:(1)

(2)

指导老师评语:平时成绩:

设计报告:

软件系统:

总评:

***系统的数据库课程设计报告 1 系统的开发背景(1)开发目的及意义(2)研究现状分析(3)设计报告的内容

2关键理论及开发技术概述(1)数据库设计技术(2)系统开发技术 3系统的需求分析(1)功能需求(2)性能需求(3)接口需求

(4)出错处理需求及其它特殊需求

4、概念设计

什么是概念设计?

概念设计中应该做什么?

它在需求分析与软件设计中过度过程中起到一个什么样的作用?(我们往往过多的关注How,而没有关注What,或者关注了What而没有关注What背后的需求场景和背后的问题Why。)

5、数据库逻辑设计(1)系统的E-R图

(2)表、表与表之间的关系(主键及外键等)以及完整性约束(3)编写数据字典

给出通过SQL生成数据库、表、索引、视图及完整性约束等的代码。重点语句需要标准说明性文字

6、数据库物理设计(1)访问方式选择(2)存储结构选择(3)物理结构评价

7、安全性设计(1)身份验证模式(2)登陆管理(3)账户管理(4)权限管理(5)角色管理

8、重要业务处理过程设计(1)重要的存储过程(2)重要的触发器技术

要求学生尽可能应用SQL语言的函数

9、重要业务逻辑的实现程序

利用系统开发语言设计的重要模块代码及函数

10、系统测试的结果

结合实际数据及运行效果,描述模块的功能及使用方法。课程设计的心得体会 参考文献

在百度文库中可以搜索到相关的报告实例

第三篇:数据库课程设计报告格式

数据库课程设计报告要求

1.报告的编写规范与写作框架

一、引言

(一)本课题的研究意义

(二)本课题的目的、内容

二、需求分析与设计方案

(一)任务概述

(二)系统的需求说明

(三)系统功能模块图

(四)系统业务流程

(五)系统开发环境简介

(六)采用的主要技术与方案

三、数据库设计

(一)数据库需求分析

(二)数据库概念结构设计

(三)数据表设计

(四)数据库访问

四、详细设计

(一)“登陆界面”及编码设计

(二)“****界面”及编码设计

(三)“****界面”及编码设计

(四)“****界面”及编码设计

五、系统的集成与测试

六、结论与体会

附录:源代码

2.课程设计说明书格式要求

一、论文正文用小4号、宋体字;章及章标题使用小3号、宋体字;节及节标题使用小4号、黑体字;图号及图标题使用5号、宋体字。

二、论报告用A4纸正反打印装订成册,报告正文页码编于页面下端中间。

三、论文封面(统一有指导老师给)

第四篇:图书馆数据库课程设计报告

目录

第1章 绪论........................................2 §1.1设计意义及目的.............................................2

§1.2研究范围及技术要求.........................................2 §1.3指导思想...................................................2 §1.4解决的主要问题及研究方法...................................2 第2章 需求分析.....................................2 §2.1总体需求分析...............................................2

§2.1.1查询和统计分析功能...................................2 §2.1.2基本信息的维护功能...................................2 §2.1.3日常功能.............................................3 §2.2系统功能图.................................................3 第3章 总体设计.....................................5 §3.1图书借阅流程图:.........................................5 §3.2安全设计...................................................5 第4章 数据库设计...................................5 §4.1概念结构设计...............................................5 §4.2逻辑结构设计...............................................6 §4.3物理结构设计...............................................7 第5章 详细设计.....................................8 第6章 编码........................................8 结论............................................12 学习体会..........................................12 致谢............................................12 参考文献..........................................12

第1章 绪论

§1.1设计意义及目的

图书管理系统是一种基于集中统一规划的数据库数据管理新模式,其宗旨是提高图 书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。

§1.2研究范围及技术要求

针对高校图书馆以及城市图书馆进行管理设计,提高工作效率;

系统的数据量一般都比较大,一般都达到几万人甚至十几万人,书籍量一般都达到几百万册甚至上千万册,系统由于只供内网查询,提高了数据访问的安全性,同时对并发控制也降低了要求。

§1.3指导思想

数据库建立的基本规范方法学以及现代的图书馆经营管理理念。§1.4解决的主要问题及研究方法

满足广大用户对图书的共享需求,提高书籍的流通性,使其更好的服务人民;系统总体采用自顶向下,逐步求精的瀑布式方法设计,局部功能模块采用反复迭代的螺旋式设计方法。

第2章 需求分析

§2.1总体需求分析 §2.1.1查询和统计分析功能

1.实现图书馆对在馆图书的按类别,书名,作者,内容,出版社,ISBN,借阅热度等的多功能查询。

2.实现读者对其当前借阅记录和历史借阅记录以及罚款记录,读者基本信息和图书馆在库图书的基本信息的多方位查询功能。

3.实现对当前图书馆在库图书丢失及总体流向的查询。4.综合统计统计图书馆目前的各种指标。

5.统计、分析各时期的图书流通率、分类流通率、流通变化趋势,并可以图表、表格两种方式显示。

6.统计、分析各时期的图书馆藏量、分类馆藏量、馆藏量变化趋势,并可以图表、表格两种方式显示。

§2.1.2基本信息的维护功能

1.实现对读者信息的维护,包括包括添加读者信息、删除读者信息、修改读者信息。

2.实现图书馆书籍基本信息的维护,包括图书入库和书架设置,图书基本信息的修改以及图书注销并且建立书籍档案,方便图书管理。

3.实现对管理员基本信息的维护,包括管理员的添加,管理员基本信息(如类别等级)的修改和管理员的注销等功能。

§2.1.3日常功能

1.能够按照罚款规则,进行读者借阅超期和遗失图书的相关罚款功能。2.能够修改读者和管理员密码及其权限,实现人员的有效管理。

3.借书完全通过扫描枪条码识别,自动识别借书证是否有效,根据设定的规则进行管理。提示读者已借书数、超期图书应缴罚款等参考信息。根据图书的种类确定借阅期限。罚款单价根据图书种类确定。4.还书完全通过条码识别,自动作超期记录。

5.图书预约可以为读者提供方便,可以进行管理及打印到书通知。

6.图书损坏、丢失处理能显示每本书上次损坏的记录以及其它信息5.报表统计:包括统计图书信息、读者信息、借阅信息等。

7.报表统计:包括统计图书信息、读者信息、借阅信息和罚款信息等。

§2.2系统功能图

2010-7-1图书管理系统功能图读者信息录入基础信息维护读者管理图书信息录入书架信息录入管理员信息录入读者注销读者信息修改读者挂失新书入库图书馆管理系统图书管理查询统计分析图书流通管理系统管理图书信息修改图书注销读者相关信息查询图书相关信息查询图书借阅及罚款总体查询读者借阅图书读者还书读者续借图书丢失图书罚款管理员信息修改读者账号修改图书馆相关规则修改图2-1

第3章 总体设计

§3.1图书借阅流程图:

输入图书编号输入读者编号借书成功图3-1

不成功

§3.2安全设计

一方面,系统通过在登陆界面对不同用户权限的审查,使其只能进入自己权限以内的功能操作界面;另一方面,系统控制有些敏感信息,使其不能被随意修改,如人员编号等;

第4章 数据库设计

§4.1概念结构设计

图书管理系统的数据库设计需要结合现代的图书管理理念和现代的数据库设计方法学。系统主要的参与人有普通读者、管理员以及其他人员;系统主要的实物体有图书、书架、储藏室等;

通过对图书的来源、去向和流通的全程跟踪,及时分析每一步中需要参与的其他人员和实物(即实体),弄清楚各方在每一步中的具体的作用,抽取出各个关系表和事务表,继而完成之后,检查各个关系是否具有完备性和完整性。

设计的最终ER图为: 5

隶属专业登陆账号班级隶属拥有隶属读者罚款已还图书人员类别借阅管理员还书隶属图书隶属书架存放于拥有采购于图书分类采编人员索引

图4-1

§4.2逻辑结构设计

(1)图书基本信息(书籍编号,馆藏索引,存放位置,书名,类型,作者,出版社,ISBN编号,价格,出版日期,页数,关键字,入库时间,是否允许外接,是否注销,是否借出,借阅次数,备注)

(2)人员信息表(人员编号,证件有效日期,证件截止日期,是否挂失,姓名,性别,类别,所属部门,地址,电话,电子邮件地址,备注)

(3)借阅信息表(读者ID,书编号,借阅日期,是否经过假期标志,续借次数,最后还书截止日期,操作员编号,备注)

(4)图书分类信息表(图书分类号,类别名称,关键字,允许借的最大数目,备注)

(5)人员分类信息表(人员分类号,类别名称,允许借书数量,允许借阅天数,允许续借次数,备注)

(6)用户信息表(人员ID,人员密码,人员类型(权限))

(7)借阅历史记录表(书号,读者ID,借阅日期,还书日期,罚款金额,是否缴纳罚款,操作员编号,备注(罚款原因))

(8)采购表(采购书的种类,采购人员ID,采购日期,采购本书,采购金额,备注)

(9)书架分布表(书架编号,书架位置,书架容量,书架类别)

(10)书籍索引表(索引编号,该种书的现有本书,该种书的关键字,该种书的类别)

(11)专业表(专业编号,专业名称,专业负责人)(12)班级表(班级编号,班级名称,班级负责人)

§4.3物理结构设计

各个表之间的关系为:

图4-1 说明:各个表中的主键除了作为外键参照其他表中主键之外,均设为int,且作为标识和索引,日期均为datetime 类型,金额及价格均为money类型,其他均

为字符串型,大小根据实际设定,有些属性具有默认值。

第5章 详细设计

输入读者编号输入书籍编号不存在、注销、挂失不在库、注销、不外借是超过总借书上限是否超过每类书借书上限是借过同一本书否是是否当天已借过否否借书失败第6章 编码

借书成功 8

图6-1 借书存储过程实现:

CREATE PROCEDURE dbo.Borrow_BooksS @bookID int , @readerID int , @duringHoliday char(4), @continueborrow int , @operatorID int , @memo char(50), @result char(80)OUTPUT AS declare @number int declare @current_borrow_num int declare @current_bookTyoe_borrow_num int declare @MAXNUM int declare @BookTypeMAXNUM int declare @readerType int declare @readerMAXDays int declare @bookType int declare @bookIndex int SET @number=(SELECT COUNT(*)FROM Person

WHERE Person.PersonNO=@readerID AND Person.IsDead='否' AND Person.IsLost='否')

if(@number!=1)begin SET @result='读者编号不存在或者已注销和挂失!';return;end SET @number=(SELECT COUNT(*)FROM Book WHERE Book.BookID=@bookID AND Book.IsDead='否' AND Book.IsBorrowed='否' AND Book.IsAllowBorrow='是')if(@number!=1)begin SET @result= '该书不存在或已注销或不对外借或已借出!';return;end SET @current_borrow_num=(SELECT COUNT(*)FROM BorrowInfo WHERE BorrowInfo.ReaderID=@readerID)SET @readerType=(SELECT Persontype FROM Person WHERE Person.PersonNO=@readerID)SET @MAXNUM=(SELECT BookNumber FROM PersonType WHERE PersonType.TypeNO=@readerType)SET @readerMAXDays=--获取应归还的天数(SELECT BookDays FROM PersonType WHERE PersonType.TypeNO=@readerType)IF(@duringHoliday='是')SET @readerMAXDays=@readerMAXDays+60;--经过一个假期,天数应加60 if(@current_borrow_num>=@MAXNUM)--借书已达最大值 begin SET @result= '借书已达最大值,不能再借!';

return;end SET @bookType =(SELECT BookType FROM Book WHERE Book.BookID=@bookID)SET @BookTypeMAXNUM=(SELECT BorrowNumber FROM BookType WHERE BookType.BookTypeNO=@bookType)SET @current_bookTyoe_borrow_num=(SELECT COUNT(*)FROM BorrowInfo ,Book WHERE Book.BookID=BorrowInfo.BookID AND Book.BookType=@bookType)IF(@current_bookTyoe_borrow_num>=@BookTypeMAXNUM)--本类数已超借阅本数限制 begin SET @result= ' 本类数已超借阅本数限制!';return;end SET @bookIndex=(SELECT BookIndex FROM Book WHERE Book.BookID=@bookID)SET @number=(SELECT COUNT(*)FROM BorrowInfo,Book WHERE Book.BookID=BorrowInfo.BookID AND Book.BookIndex=@bookIndex)IF(@number>=1)--已经借过同一本书!begin SET @result= '已经借过同一本书!';return;end BEGIN TRAN INSERT INTO BorrowInfo VALUES(@readerID,@bookID,GETDATE(), @duringHoliday,@continueborrow ,DATEADD(day,@readerMAXDays,GETDATE()), @operatorID,@memo);UPDATE Book SET IsBorrowed='是' , BookBorrowTimes=BookBorrowTimes+1 WHERE BookID=@bookID;COMMIT TRAN SET @result= '借书成功!';------------------------

结论

本系统数据库设计方面由于调研充分,经历时间较长,设计结果较为满意,在理论上能够向上支持较为完整的事务约束,但由于编码时间较短加之编码时编码人员经验毕竟十分有限,很多功能也只是望洋兴叹,尚未有能力实现,本系统只能提供图书和读者信息的多功能查询和带有很少事务约束的借书、还书功能以及基本信息的维护模块。像对图书流通率、分类流通率、流通变化趋势的统计分析和图表显示有待实现,还有下一步应该实现更具现实意义的借书、还书处理以及罚款功能。

学习体会

本次课程设计强度之大(每天从早到晚)、任务之重(从设计到实现),都是以前没有过的,所幸,课程设计本身并不难,每一步都是有章可循且每一个人都有能力实现相应的部分。一个数据库系统的实现,绝对是全体人员共同团结、努力协作的结果。本次课程设计训练,让我大略“体会”(或者用想象更贴切)了软件开发人员所经历的苦与乐,使我对今后自己从事的工作有了一个基本的体会和感受,也算是提前“打了一个预防针”吧。

同时作为本组组长,我负责各个成员的具体分工。分工合作实际上已是现代社会最基本的特征,各个组织在各种现代社会活动中,都有自己的明确分工。一个好的组长,应该能够充分调动各个本组成员的积极性和参与性,使他们都能够充分发挥自己在系统开发中的作用,清楚知道每一个人的强项和不足,“因地制宜”,确定不同的分工。待基本的分工确定之后,组长应该随时掌握各部分的进展状况,适时给予相应的调整。同时,组长应把握大局,不断优化和调整系统的结构和布局。而我显然还做得有待提高。

致谢

赵海霞老师、魏汪洋老师、王志强老师不辞辛苦给予我们上机指导,特此感谢!

Special thank to;那些在课程设计中给予过我们组帮助的同学们!

参考文献

【1】Thomas M.Connolly,Carolyn E.Begg,何玉洁等译.数据库设计教程 北京:机械出版社,2005,1 【2】王珊,萨师煊.数据库系统概论,北京:高等教育出版社 2006,5

第五篇:数据库课程设计

需求分析

在银行业务模拟中用随机函数产生随机数,求客户在银行的平均时间,客户来到银行后加入两个队列,客户办理的业务有两种,一是取款和贷款,二是存款和还款。概要设计

typedef struct service { int num;//客户号 string type;//到达或离开 int beginTime;int endTime;int money;//正数为存款,负数为取款 struct service* next;}service;typedef struct //队列 { service* head;service* rear;}queue;int total;//初始时银行现存资金总额 int closeTime;//营业结束时间

int arriveTime;//两个到达事件之间的间隔上限 int dealTime;//客户交易的时间上限 int dealMoney=5000;//交易额上限 int currentTime=0;//当前时间 int totalTime=0;//客户逗留总时间 int counter=0;//客户总数 int number=1;//初始客户序列号 int currentTimeOfDeal=0;int theArriveTime=0;queue eq;//事件队列 queue fq;//队列一

queue sq;//对列二 //初始化三个队列 service* temped;int Time;void push(queue &q,int a)// 插入元素a为Q的新的队尾元素 void pop(queue &q)// 若队列不空,出对列函数 service* front(queue &q)//返回队首元素 service* back(queue &q)//返回队尾元素

service* searchAndDel(queue &q,int m)//在对列中寻找可处理元素 bool state=1;//用于判断是否有窗口在处理

void arrive()//“到达”函数 随机产生顾客,进入队列一产生到达事件 进入事件队列

void putMoney()//存款函数 void getMoney()//取款函数

void findAndDeal()//在对列中寻找可处理元素,对其进行处理 运行环境

Window XP Visual C++ 开发工具和编程语言

Visual C++ C++ 详细设计

1.队列的链式表示和实现 typedef struct service { int num;//客户号

string type;//到达或离开 int beginTime;int endTime;int money;//正数为存款,负数为取款 struct service* next;}service;typedef struct //队列 { service* head;service* rear;}queue;2.插入一个元素为队尾元素 void push(queue &q,int a){ service* p=new service;p->money=a;p->next=NULL;if(q.head==NULL)//列队为空,初始化 { q.head=p;q.rear=p;} else //队列不为空,插入元素a { q.rear->next=p;q.rear=q.rear->next;} } 3.返回函数

service* front(queue &q)//返回队首元素 { return q.head;} service* back(queue &q)//返回队尾元素 { return q.rear;} 4.在对列中寻找可处理元素

service* searchAndDel(queue &q,int m){ service* sign=q.head;//标记头节点 service* p;while(q.head!=NULL){ if((-(q.head->money))

{ p=q.head;q.head=q.head->next;//首节点后移一位,返回原首节点 return p;} } if((-(q.head->money))>m)//队首元素不能被处理 {

if(q.head==q.rear){ } return NULL;else //首节点移到队列尾部 { q.rear->next=q.head;q.rear=q.rear->next;q.head=q.head->next;q.rear->next=NULL;} } if(q.head==sign)//队列循环一周时停止 return NULL;} return NULL;} 5.到达函数

void arrive()//到达“函数 随机产生顾客,进入队列一产生到达事件 进入事件队列 { push(fq,(rand()%(2*dealMoney)-dealMoney));//随机产生顾客加入第一队列

back(fq)->beginTime=currentTime;back(fq)->num=number;push(eq,(back(fq)->money));//将产生事件加入事件队列

back(eq)->beginTime=currentTime;back(eq)->type=”到达“;back(eq)->num=number;++number;} 6存款函数 void putMoney(){ total+=front(fq)->money;//更新资金总额 push(eq,front(fq)->money);//加入事件队列 离开 back(eq)->type=”离开“;back(eq)->num=front(fq)->num;back(eq)->endTime=(front(fq)->beginTime+rand()%dealTime+1);++counter;//更新客户总数

totalTime+=(back(eq)->endTime-front(fq)->beginTime);//更新逗留时间

pop(fq);//删除第一队列第一个业务 currentTimeOfDeal=back(eq)->endTime;state=0;} 7取款函数

void getMoney()//取款函数 { if((-fq.head->money)>total)//资金短缺 加入第二队列 { push(sq,front(fq)->money);back(sq)->beginTime=front(fq)->beginTime;back(sq)->num=front(fq)->num;pop(fq);6 } else { total=total+back(fq)->money;push(eq,front(fq)->money);//加入事件队列离开 back(eq)->type=”离开“;back(eq)->num=front(fq)->num;back(eq)->endTime=(front(fq)->beginTime+rand()%dealTime+1);back(eq)->beginTime=0;currentTimeOfDeal=back(eq)->endTime;++counter;//更新客户总数

totalTime+=(back(eq)->endTime-back(fq)->beginTime);//更新逗留时间

pop(fq);//删除第一队列第一个业务 state=0;} } 8.在对列中寻找可处理元素,对其进行处理 void findAndDeal(){ while((temped=searchAndDel(sq,total))&&NULL!=temped)//查找可处理取款 { total+=temped->money;

totail=total+temped->money;push(eq,temped->money);//加入事件队列训 离开 back(eq)->type=”离开“;back(eq)->num=temped->num;randomTemp=rand()%dealTime+1;

//更

新资

金总额 7 back(eq)->endTime=currentTime+randomTemp;currentTimeOfDeal+=randomTemp;++counter;//更新客户总数

totalTime+=(back(eq)->endTime-temped->beginTime);//更新逗留时间

delete temped;//删除节点 temped=NULL;} state=0;} 9 主函数 int main(){ int m;cin>>m;if(m=111111){ cout<<”欢迎进入系统<>n;while(n==1){

srand(time(NULL));//初始化随机函数 cout<<”输入银行的初始存款:n“;cin>>total;cout<<”输入银行的营业时间:n“;cin>>closeTime;8

cout<<”输入最大到达时间间隔:n“;cin>>arriveTime;cout<<”输入最大的处理时间:n“;cin>>dealTime;theArriveTime+=rand()%arriveTime+1;//首次到达时间 while(currentTime

} cout<

} if(state==1&&fq.head!=NULL){

} if(fq.head->money>=0){

} else getMoney();putMoney();findAndDeal();arrive();theArriveTime+=rand()%arriveTime+1;9

<<”事件类型“<<”tt“ <<” 时间“<<”t“ <<” 处理金额“<

} cout<<”未处理客户:“<<”“<beginTime);//更新结束时第if(eq.head->type==”离开“)cout<num<<”tt“

<type<<”tt“<<”tt“ <endTime<<”tt“ <money <type==”到达“)cout<num<<”tt“

<type<<”tt“<<”tt“ <beginTime<<”tt“ <money <

cout<num<<” “<

}

} cout<<”银行当前余额:"<

在用随即函数rand产生随机数的时候,对其初始化用srand(time(NULL),为了使得产生的随机数是整数要在后面加一 测试结果

如图一所示为输入密码进入系统后

图一输入密码进入系统后

如图二为输入银行的初始存款,营业时间,两个到达事件的最大间隔,客户交易的最大时间

图二输入各项信息后

如图三所示产生的客户信息

图三 客户的信息(到达时间和离开时间,平均在的时间)

参考文献

[1] 吴文虎,程序设计基础(第二版),北京,清华大学出版社 [2] 谭浩强,C语言程序设计,北京,清华大学出版社 [3] 边肇祺,模式识别(第二版),北京:清华大学出版社

[4] 李永忠,几种小波变换的图像处理技术,西北民族学院学报,自然科学版 [5] 严蔚敏,吴伟民,米宁,数据结构题集(c语言版),清华大学出版社

心得体会

转眼之间,来到大学已经一年半的时间了,对程序的学习也有了初步的认识,在大一的时候学习了程序设计,大二紧接着又学了数据结构,在这次的课程设计中,遇到了一些问题,通过老师和同学的帮助得到了解决,并且对程序设计的认识又提高了一个层次,在以后的学习中,对经常出现的问题会更加注意。

这次的课程设计给了我很大的帮助,在过程中学到了很多的知识,对程序的规范性以及有效性更加的重视。在以后编程序的过程中会更加注意程序的完善性,使程序的功能更加的齐全,而这也是作为一个程序设计师必须要具备的。认识到只有多多的练习才能更好的运用所学习的知识。在大学里要充分的利用各种资源,提高自己的水平。

下载数据库课程设计报告word格式文档
下载数据库课程设计报告.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库课程设计

    数据库课程设计 第一章 引言 开发的意义 设计应用系统的任务及目标 设计开发及运行的软硬件环境 第二章 系统分析与设计 系统需求分析 数据库概念结构设计 数据库逻辑结构设......

    数据库课程设计报告格式要求

    一、题目 人事管理系统二、内容 需求分析、数据库设计、数据库建立、数据输入、应用系统的设计和开发、用户界面的设计和实现、系统调试和安装等。三、要求(一)报告内容格式要......

    数据库课程设计题目

    数据库课程设计题目  题目1:计算机学院毕业设计管理系统 题目2:课程设计管理系统 要求:1)教师端和学生端 2)学生端:分组、选题目、进度安排、任务分配等 3)教师端:查看分组,查看题目,......

    数据库课程设计总结

    篇一:数据库课程设计个人总结 数据库课程设计个人总结 姓名:邢王秀 学号:200924101215 班级:09计本班 一个月的时间非常快就过去了,这一个月我不敢说自己有多大的进步,获得了多少......

    数据库课程设计教学大纲

    《数据库课程设计》教学大纲 课程编号 :0300609 课程名称 :《数据库课程设计》 课程性质:实践必修课 适用专业 :信息管理与信息系统 学 分:1 学分 周 数:1周 先修课程 :《C语言》,......

    数据库课程设计心得体会

    数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自......

    数据库课程设计心得

    数据库课程设计心得体会 数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与......

    数据库课程设计总结

    课 程 设 计 报 告课程名称数据库课程设计—总结题目个人CD盘管理系统_________________________________ 指导教师设计起止日期学院计算机学院 系别专业计算机科学与技术......