当前位置:首页 > 技能知识 > 正文

数据库课程设计实验报告,数据库实验报告

技能知识 · Dec 31, 2023

本文目录一览:

sql数据库课程设计报告

网络即时通信系统是为用户开发研制的,用户是系统的最终使用者和评价者,所以在网络通信系统的开发设计的过程中,我们树立了从用户的寻求出发,面向用户,一切为了用户的观念,在分析与设计系统的前期,为了保证系统的功能的完善多次寻求周围同学和老师的意见,了解他们的要求,依照功能完善,界面美观,操作简单的原则进行设计 。
严格按阶段进行
系统的开发设计是一项较大的工程,所以应该将整个系统的开发设计过程划分为若干阶段,相应的阶段又要分为若干个不同的步骤,每个阶段和步骤都要有明确的工作任务和目标。这种有序的组织安排,条例清楚、层次分明,便于计划的制定和控制,并且为后续工作的进行奠定了坚实的基础,提高了工作效率和质量。
采用系统的观点处理
在系统分析阶段,在对原系统进行全面调查和分析的基础上,构造系统的最佳逻辑模型,使用户对将来完整系统的轮廓有个初步的了解和认识,以便及时和用户进行交流和探讨,不断提高系统的完善性。在此基础上进行系统的物理实现和设计,切实完成逻辑模型的具体功能。逻辑设计和物理实现二者是相辅相成、密不可分的,这样使系统的设计更加稳妥合理。
整个系统的设计主要采用快速原形法
快速原形法是信息系统设计的一个重要方法。它是根据用户提出的需求,由用户和开发者共同确定系统的基本要求和主要功能,并在一个较短的时间内建立一个实验性的、简单的信息系统模型,通过用户不断提出的意见和建议,对模型进行不断的修改和完善,直到用户比较满意为止,以便形成一个相对稳定、较为理想的管理信息系统。该方法的主要优点。
1.脉络清楚,所有问题都围绕一个模型展开,使彼此之间联系紧密。
2.有助于发现用户需求,通过对原形和用户接触,能够启发开发人员去挖掘问题,从而不断的修正、完善,最终得到一个理想的系统。
3.系统开发效率高,此方法的开发周期短、使用灵活、容易修改,这对于管理体制不够稳定的系统更加适合。
4.系统的可扩展性好,由于此方法是在原型应用中不断发展完善和修改的,所以有较强的扩展性。
在进行代码设计时,遵循了以下原则。
唯一性:在本系统中,每一个代码都和系统中的每一个对象唯一确定。
标准性:主要体现在对程序文件名命名和对数据文件命名的标准化上,遵循简单扼要,方便适用的原则。一目了然,无重复现象。为了系统维护人员便于进行系统维护,使用了统一的标准。
合理性:系统中代码设计与编码对象的分类相适应,以使代码对编码对象的分类据有标志作用。
简单性:在设计过程中采用Code-Behind代码分离,使数据库操作代码和前端调用代码分离,页面修改容易。
适应性:在代码设计过程中,代码反映了编码对象的特点,便于识别和记忆,使系统维护人员容易了解和掌握,便于进行维护工作。
系统总体功能结构
网络通信系统包含以下主要功能。
用户注册;用户登录;
查找好友;查看好友资料;
添加好友;
删除好友;
发送消息;
发送文件.
数据库表主要用来存放用户的注册信息和用户的好友资料,可利用两张数据库表来 存放用户信息和用户好友的资料。包括用户的号码,昵称,密码,在线与否,ip地址,资料,头像号,性别,E-mail和籍贯等信息。其中,用户昵称和密码是必需的字段;在线与否是由系统自动设置的;其余的信息是可选的字段。
课题整体以JAVA为平台,采用Eclipse开发工具,并使用SQL Server 2000管理数据库数据开发而成的基于Socket的集中式网络通信系统,系统采用客户机/服务器(C/S)的模式设计,是一个三层C/S结构,数据库服务器、应用程序服务器端 、应用程序客户端。系统采用C/S结构,可以将任务合理分配到客户机端和服务器端 ,从而降低了系统的通信开销。
客户层。
客户层是应用程序的用户接口部分,它担负着用户与应用间的对话功能,用于检查用户的输入数据,显示应用的输出数据,为了直观的进行操作,客户层需要使用图形用户接口,若聊天用户变更,系统只需改写显示控制和数据检查程序即可,而不会影响其他两层。
服务层。(功能层)
服务层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。在应用设计中,必须避免在表示层和功能层之间进行多次的数据交换,这就需要尽可能进行一次性的业务处理达到优化整体设计的目的。
数据层
数据层是DBMS,本系统使用了Microsoft 公司的SQL Ssever2000数据库服务器来管理数据。SQL Ssever2000能迅速的执行大量数据的更新和检索,因此,从功能层传送到数
据层的要求一般都使用SQL语言。

Access数据库实验报告怎么写哦?

要先从理论上分析将要实现的功能,如此再去设计需要的表、查询、窗体;具体做可以看看SQL查询语言,不会的可以在帮助中搜索,只要肯钻,不是很难,再把做的过程得到表、查询、窗体的截图插入报告中,会让你的报告很成功的,祝好运!
格式如下:内容按自己做的实验写 一、实验目的
通过建立“进、销、存管理”数据库系统,熟悉Access2002数据库系统开发环境,掌握创建表的各种方法。并能够掌握表中的字段的定义及修改技术,掌握表间关系的建立方法,掌握数据记录的操作技术。
二、实验内容
1.启动Access2002,并完成下列操作:
①打开Northwind示例数据库,观察数据库窗口;
②浏览产品、客户、雇员、订单等数据表的结构与数据;
③关闭Northwind。Mdb数据库,新建一个空数据库“进、销、存管理”。
2.使用向导创建“进、销、存管理”数据库的第1个表“产品”,包括以下字段:
产品号,产品名称,价格
提示:由于向导中为产品提供的字段中没有“产品号”和“价格”,可将其“产品ID”和“单价”分别重命名为“产品号”与“价格”。
要求:将由向导生成的产品表的结构列在试验记录上。
3.在设计视图中打开新建的“产品”表,可按实验表1.1的结构对其进行修改。
正数:1.401298E-45~3.402823E38;范围内的数;
要求:将操作过程写在实验记录上。
4.创建“进、销、存管理”数据库的其他数据表:
客户:客户号,客户名,地址,税号,信息度,国家;
订单:订单号,订单时间,产品号,客户号,产品数量,需要产品时间,
订单业务员,是否发货;
库存:产品号,库存量,存放地点;
发货:订单号,发货时间,产品号,客户号,产品数量,发货价格,发货
负责人;
生产:产品号,完成日期,数量,生产负责人;
进库:进库号,产品号,进库数量,进库时间,经手人。
要求:将订单表、客户表和生产表在试验记录中画成如表1.1的形式。

ACCESS实验报告的格式是什么?

一、项目说明
1、项目背景:数据库原理课程设计
2、编写目的:掌握数据库设计原理及相关软件的使用
3、软件定义:学生教学管理系统
4、开发环境:Access2003
二、需求分析
1、 问题的提出:学生教学管理是整个学校管理工作中的关键环节之一,涉及到学生基本信息管理、成绩管理等诸多方面。采用计算机信息技术和网络技术来管理学生信息是大势所趋;计算机网络学生管理信息系统能为学校管理者提供及时、准确的学生信息,提高管理工作效率。随着新学期改变,我们对在校学生的基本信息存储也应该发生相应的变化,以便更好地对学生进行管理。为了高效率地完成学生信息的管理,决定开发学生信息管理系统。
2、 需完成的功能:
(1)能录入、修改、查询、输出学生的档案信息包括学生的学号、姓名、性别、出生日期、专业等。
(2) 能录入、修改、查询、输出学生的各学期各门课的成绩信息,并支持按特殊等条件的统计、查询、报表输出。
三、项目任务
在小组的团结合作下,每个人都对数据库的基本对象表、查询、窗体、报表、宏进行了设计,正是由于小组的团结合作很快就完成了对学生数据库的创建。

数据库课程工作总结

  学习了数据库,有没有什么感想。下面是由我为大家整理的“数据库课程工作总结”,欢迎大家阅读,仅供大家参考,希望对您有所帮助。
  数据库课程工作总结(一)   对实验过程中用到的软件、实现技术的评价以及对于实验过程遇到的一些问题做的总结:
  本次实验我们是在windows操作系统平台下完成的,应用了数据库建表,触发,删除插入;powerdesigner实现数据库的概念模型、物理模型的转化;java语言中的的GUI图形用户界面、与数据库连接(jdbc)等技术。较好的在规定时间内完成了老师安排给我们的任务,实验过程中尽管遇到了不少问题,但最后经过与同伴互相探讨,借阅资料,请教老师等都使问题得到了解决。总的来说感觉数据库、powerdesigner、java语言面向对象等编程技术应用起来灵活,容易理解。短短的两周课程设计让我对java语言等编程技术产生了浓厚的兴趣,更重要的是增强了我学习的自信心。
   对两周的课程设计过程中老师引导的对软件开发的分配时间的分析评价
  在第一阶段:20xx.1.2--20xx.1.6
  我们做的题目是《小型餐饮管理系统》按照老师的安排,我们先进行系统需求和系统功能设计,在确定了我们要做的小型餐饮管理系统应具有哪些功能后利用powerdesigner汇出了数据库的物理模型(ER图),并且进一步利用powerdesigner的强大功能由ER图继而生成了物理模型图以及数据库,完成了数据库设计阶段。在剩下来的几天里我们主要把精力集中在应用程序的调试及课程设计报告的书写上。
   个人负责的工作部分
  1.与组员一起探讨分析所做项目(小型餐饮管理系统)的需求分析部分,共同完成需求部分的设计。
  2.通过网络、书籍等查找所需的资料。
  3.数据库部分的书写(包括数据库、表、触发器、索引、存储过程等的创建)以及完成ER图,物理模型图的设计转换部分。
   经验与教训
  在实验验演示给老师看的时候,自我感觉做的挺好,能得到老师的好评和赞许,没想到的是老师看完我们的演示后提出的一系列问题让我们一时目瞪口呆。听了老师的讲解后才发现我们做的系统根本就是个废品,没有任何一家厂商愿意用我们的东西,即使免费相赠。和现实中的《餐饮管理系统》相比,我们的系统最大的不足体现在安全性方面,主要表现为以下两个方面:
  1.顾客点菜时由于没有考虑到库户绑定问题,及设置相关的口令,从而导致点菜时乱套,无章法的问题,不方便饭店管理,严重的会出现店家亏损问题。
  2.缺少工作人员的业绩考核环节的设计。
  通过这次教训,我相信在以后的学习实践当中,我一定会更加认真的对待实验中的每一个环节,尤其是开始时的基础阶段。学习,成长的过程就像建造一栋高楼大厦一样,打好地基很重要,因为这关系整个楼层的稳固安全问题。我坚信在以后长远的学习的过程中我会更注重培养严谨的思维,重视细节,凡事努力打造个好的开头,脚踏实地,一步一个脚印,做到不骄不躁。
   心得与体会:
  第一次接触像这样比较大的项目,通过本次课程设计我深切的体会到合作与实践的重要性。
  第一、在实验的过程中我一边学习一边上机动手操作,才发现自己不懂的太多太多,以前的自己太渺小,我需要不断的在学习中成长。同时也深刻体会到自己需要在动手操作方面努力改进提高。
  第二、记得老师和学长们总是教导我们要学会与他人协作,告诉我们合作的能在走出社会以后更是显得尤为重要,之前我还有点不以为然,过分的相信自己。通过本次为期两周的课程设计我对老师和学长的话坚信不移,这次实验如果没有同伴的帮助仅在两周内仅凭我个人是无法完成的,实验过程中我们一起努力,互相督促,探讨。最后较好的完成了任务,也从中学到了不少东西。我笃信在以后的学习和成长过程中我会更加注重与他人协作,互助。
  数据库课程工作总结(二)   跟老板做了两个算是比较大的项目,数据库主体都是我设计的。第一个感觉很失败;第二个现在正在用,虽然总结了第一个的教训,但感觉还是有些遗憾。把这过程中的一些心得记在这里,以便日后用到时来查阅。若以后还有机会再设计数据库——现在倒还有些期待,再有新的体会,也全部补充到这里。
  1.尽量使用数据冗余
  随着磁盘容量的大幅飙升,这一点已经不会产生什么问题。当然冗余归冗余,不能把数据的关联弄的乱七八糟的。
  本科数据库课程中学的知识直接拿来,在实际中会出大问题。满足三级范式的数据库结构会让你面对大量的连表查询,应用程序中会用到大量的数据库访问,既繁琐又使程序运行速度减慢。
   2.尽量不要使用varchar(max)类型
  这一点主要是用动软代码生成器自动生成代码时,如果varchar的最大长度指定为max,在自动生成代码时,它无法生成这一最大长度,需要手动补进去。
  现在感觉用个varchar(1000)就够了。
   3.使用预留字段
  数据库表(尤其是动态表格),在你把所有字段都设计好了之后,再添加几个备注字段和预留字段。
  之前我觉得这样做没多大意义,因为预留字段的列名是没有实际意义的。这样程序中使用的时候就会让人费解。但现在觉得还是有必要的,很有必要的,即便在用到时需要自己十分清楚之前预留的无意义字段现在表示什么意义。不过我的第二个数据库中还是没采用,这也是遗憾之处啊。
  个人感觉用note1、note2、r1(r表示reserve)、r2、r3,2个备注字段和3个预留字段就足够了,再多的话就不容易记住哪个字段具体表示什么意义了,容易晕。类型就都用varchar(200)吧。
  在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
  当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
  我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
  知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
   我精心推荐

数据库实验报告

表建得不合理,不符合数据库规范化要求,课程并不是由学号所决定了,课程可作为一个独立的表,还有,成绩是有学号和课程号共同决定的,因此成绩表也应该列出来作为一个独立的表。
应该分为3个表来建立数据库
1、学生信息表(学号,姓名,性别,出生日期,联系电话)
2、课表(课程号,课程名)
3、成绩表(学号,课程号,成绩)
期中学号是学生表的主键,课程号是课表的主键,学号和课程号组合是成绩表的主键,两者共同决定成绩。
拆分出来后,避免了数据冗余的问题,消除专递依赖!
完整性参照很简单,你自己解决吧。

100分求一份数据库原理课程设计的实验报告

已发送请查收!
(图放不上去呀 我自己做的E-R图)
计算机科学与信息学院
课程设计报告
课程名称: 数据库概论课程设计
专 业: 网络方向
班 级: ====
学 号: ===
姓 名: 闫娟
题 目: 网上购书系统
指导教师: 肖淑芬
2011年6月
目录
一、课程设计的背景来源 3
二、网上购书系统调查及前景 4
三、网上购书设计思想 4
1、前台系统工作流程 5
2、后台系统工作流程 6
四、网上书店工作过程的内容 6
五、数据库设计 7
1、数据项 7
2、 数据结构 8
3、关系模式的设计 8
4、视图的设计 9
六、网上购书E-R图 10
六、系统的源程序 15
七、系统评价及心得体会 20
一、课程设计的背景来源
1,其实写这个课程设计写得比较匆忙,马上其他可就要考试了,本想找个男的题目来挑战下自己,后来还是因为时间需要,所以选了个相对来说我们生活比较容易接近的
2,随着现在社会的发展,网络已经成为一个市场很大的交易平台,很多人由于时间需要或者各方面原因都把网上购物作为一种消费方式,有时我们在书店要花很长时间去找一本书,有时还找不到,记得有次在孝感学院图书馆找一本概率论辅导书,花了很长很长时间呀,所以我深有体会,还是感觉在网上购书比较简单,方便。
3,班上有很多同学都从事网上购物,我刚好想利用自己的专业知识来学习下这方面的知识,自己查查资料,把这个课程设计做好。
二、网上购书系统调查及前景
人们喜欢通过阅览书籍拓展自己的知识视野,可在实际生活的购书过程中人们却遇到了不少麻烦,比如购书人多,挑书难,搬书重等,因此既方便又快捷的网络购书便成为了一种很有潜力的购书消费方式。信息时代,电子商务已经成为我们现实生活中不可缺少的一个重要组成部分,同时它以一种特殊的方式改变着我们的生活。根据调查结果显示,网民上网以获取信息为主要目的占5 3.1%。目前我国上网购物的群体中,绝大多数是年轻人, 他们大多数是收入稳定、文化水平较高的中青年,网上消费已经日益成为他们生活中的一种重要的消费方式,他们成为了最有潜力的未来网上消费者。
三、网上购书设计思想
首先网上购书系统听起来是个很杂的程序,因为有很多很多书,也有很多很多人来买,但是其实我们简单的可以把它分为两个模块,这样我们就能很好的理解了,网上书店主要由前台会员管理模块和后台管理员模块两部分组成。
前台功能模块主要用于实现会员注册,登录,修改个人信息,分类查看书目信息、购书、管理购物车、结帐、查看各种服务条款等功能。
后台管理模块主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能。
1、前台系统工作流程
首先当我们用户登陆这个网站时,一开始就会出现让你登陆,如果是你会员,你可以直接登录,如果你不是会员,你要注册个账号。
1、 当你是会员时,你可以查看你的各项服务,比如说上次你收藏了什么书籍,以及你喜欢的书的种类,在可以看下前几次你购买书的情况,在可以修改个人信息,修改密码等,你也可以查看自己网上交易情况,看下自己买的书的情况,以及看上什么书了,可以把它放回购物车,方便自己购买。
2、 当你是非会员时,你要先进行注册,填写自己的基本信息,当你填好后,你也是其中一员了,你也同样可以向会员那样找自己的书了,相对来说比较方便。
3、 还有人不注册,只是进来逛下网站,看看自己是否有必要买一些书。
2、后台系统工作流程
后台系统工作流程主要用于实现后台管理人员对会员,商品,物流,订单和系统的管理等功能,他要对会员的登记进行统计,以及购物等方面的内容管理
四、网上书店工作过程的内容
1、管理员信息,包括数据项有:管理员编号、管理员账号、管理员密码。
2、会员信息,包括数据项有:会员账号、会员密码、会员昵称、会员E-mail、会员级别(管理员设定)。
3、图书信息,包括数据项有:图书编号、图书名称、作者、出版社编号、出版日期、图书类别编号、图书简介。
(⑴出版社信息,包括数据项有:出版社编号、出版社名称。
⑵图书类别信息,包括数据项有:图书类别编号、图书类别名称。)
4、图书订单,包括数据项有:会员账号、下定单日期、收货地址、收货地址邮编、收货人姓名、收货人联系方式、送货方式编号、总费用、图书名称、现已售出量情况。
5、购物车,包括数据项有:会员账号、每种图书名称、每种图书市场价格、每种图书网站价格、每种图书数量、每种图书的价格、图书总价。
五、数据库设计
1、数据项
数据项
数据项名 数据类型 长度 别名 取值范围
会员编号 字符型 15 会员的编号
姓名 文本型 20 会员的姓名
密码 文本型 20 会员的密码
电话 字符型 12 会员的电话
地址 文本型 50 会员的地址
商品编号 字符型 15 商品的编号
类型 文本型 10 商品的类型
名称 文本型 20 商品的名称
价格 整型 6 商品的价格
简介 文本型 500 商品的简介
图片 图片型 商品的图片
购物车编号 字符型 10 购物车的编号
商品数量 整型 10 购买商品的数量
订单编号 字符型 15 购物时生成的订单
订单日期 时间型 10 购买商品的时间
2、 数据结构
系统需求数据结构
数据结构名 含义说明 组成
会员 记录会员的基本信息 会员编号、姓名、密码、电话、地址
商品 记录销售商提供的商品信息 商品编号、类型、名称、价格、简介、图片
订购 记录会员的购物信息 会员编号、商品编号、订单编号、订单日期
购物车 存储会员需要购买的商品 会员编号、商品编号、购物车编号、商品数量
3、关系模式的设计
会员
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 主键
姓名 文本型 20 姓名 否
密码 文本型 20 密码 否
电话 字符型 12 电话 否
地址 文本型 50 地址 否
商品
数据项名 数据类型 长度 别名 是否为空 主外键
商品编号 字符型 15 商品编号 否 主键
类型 字符型 15 类型 否
名称 字符型 20 名称 否
价格 整型 10 价格 否
简介 文本型 500 简介
图片 image型 100 图片
订购
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 外键 主键
商品编号 字符型 10 商品编号 否 外键
订单编号 字符型 10 订单编号 否
订单日期 日期型 10 订单日期 否
购物车
数据项名 数据类型 长度 别名 是否为空 主外键
会员编号 字符型 15 会员编号 否 主键
商品编号 字符型 15 商品编号 否
购物车编号 字符型 15 购物车编号 否
商品数量 整型 6 商品数量 否

4、视图的设计
搜索商品视图
数据项名 数据类型 长度 别名 是否为空
名称 字符型 10 名称 否
类型 字符型 10 类型 否
价格 整型 10 价格 否
简介 文本型 4 简介 否
六、网上购书E-R图
否 是
网上书店系统业务流程:
网上书店前台管理功能结构图:
六、系统的源程序
ackage cart;
import java.util.Vector;
public class Cart {
Vector v = new Vector();
String act = null;
String item = null;
private void addItem(String id) {
v.addElement(id);
}
private void removeItem(String id) {
v.removeElement(id);
}
public void setItem(String id) {
item = id;
}
public void setAct(String s) {
act = s;
}
public String[] getItems() {
String[] s = new String[v.size()];
v.copyInto(s);
return s;
}
public void processRequest() {
if (act.equals("add"))
addItem(item);
else if (act.equals("remove"))
removeItem(item);
// reset at the end of the request
reset();
}
// reset
private void reset() {
act = null;
item = null;
}
public void clearAll(){
v.removeAllElements();
}
}
现实页面信息,提示等操作的设计:
package spage;
import java.sql.*;
public class ShowPage
{
private String str = "";

//显示页号为p的一页(user)
public String printPage(ResultSet rs, int p, int size)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += printRow(rs,iPage,p);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(user)
public String printRow( ResultSet rs ,int i,int p)
{
String temp = "";
try {
int id=rs.getInt("userid");
temp+="";
temp+=""+rs.getString("name")+"";
temp+=""+rs.getString("sex")+"";
temp+=""+rs.getString("phone")+"";
temp+=""+rs.getString("address")+"";
temp += "修改";
temp += "删除";
temp += "";
}
catch(SQLException e) { }
return temp;
}
//显示页号为p的一页(book)
public String bookPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += bookRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(book)
public String bookRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
int id=rs.getInt("bookid");
temp+="";
temp+=""+rs.getString("bookname")+"";
temp+=""+rs.getString("author")+"";
temp+=""+rs.getString("pubhouse")+"";
temp+=""+rs.getString("price")+"";
if(f)
{
temp+=""+rs.getString("salenum")+"";
temp+="修改";
temp+="删除";
}
else
temp+="加入购物车";
temp += "";
}
catch(SQLException e) { }
return temp;
}
//显示页号为p的一页(order)
public String orderPage(ResultSet rs, int p, int size,boolean f)
{
str = "";
//将访问游标定位到页号为p的页要显示的第一条记录的位置
try {
for(int k=0;k<(p-1)*size;k++)
rs.next();
}
catch(SQLException e) { }
for(int iPage=1; iPage<=size; iPage++) {
str += orderRow(rs,iPage,p,f);
try {
if(!rs.next()) break;
}
catch(Exception e) { }
}
return str;
}
//显示单行记录(order)
public String orderRow( ResultSet rs ,int i,int p,boolean f)
{
String temp = "";
try {
String orderid=rs.getString("orderid");
temp+="";
temp+=""+orderid+"";
temp+=""+(rs.getString("orderdate")).substring(0,10)+"";
temp+=""+rs.getString("orderstate")+"";
if(f)
{
temp += ""+rs.getString("username")+"";
temp += "删除";
}
temp+="";
}
catch(SQLException e) { }
return temp;
}
}
七、系统评价及心得体会
1、了解很多关于网上购书程序上的知识,要写这个课程设计,我把有关网上购书的概论也看了下,发现不知道是这个设计太简单还是怎么回事,网上出现很多此样的版本,很有有更新,可能我们对数据库设计的程序还不是很了解吧。
2,要写数据库E-R图,发现很难画啊,还要把线段连来连去,觉得在画图上面花了很多时间
3,一定要先了解数据情况,要先熟悉了网上购书的基本操作,在开始研究,最好自己去试一下网上购书,我就自己亲自去点击了下网上购书网,然后才下手写的课程设计。

数据结构实验的实验报告怎么写

实验报告要点
一、扉页
并非所有的实验报告都有标题页,但是如果讲师想要标题页,那么它应该是一个单独的页面,包括:实验的题目、自己的名字和实验室伙伴的名字、导师的名字、进行实验或提交报告的日期。
二、标题
标题写着做了什么。它应该简短,并描述实验或调查的要点。
三、介绍
通常情况下介绍是解释实验室目标或目的的一个段落。用一句话陈述假设。有时介绍可能包含背景信息,简要总结实验是如何进行的,陈述实验的发现,并列出调查的结论。
四、步骤
描述在调查过程中完成的步骤。要足够详细,任何人都可以阅读这一部分并复制实验。提供一个图表来描述实验设置可能会有所帮助。
五、数据
从过程中获得的数字数据通常以表格的形式呈现。数据包括进行实验时记录的内容。
六、结果
用语言描述数据的含义。有时“结果”部分会与“讨论”部分结合在一起。
七、讨论或分析
数据部分包含数字,“分析”部分包含根据这些数字进行的任何计算。这是解释数据和确定假设是否被接受的地方,也是讨论在进行调查时可能犯的任何错误的地方。
八、结论
大多数情况下,结论是一个段落,总结了实验中发生的事情,假设是被接受还是被拒绝,以及这意味着什么。
九、图形和图表
图表和图形都必须标有描述性的标题。在图表上标注轴,确保包含测量单位。一定要参考报告正文中的图和图表。
十、参考
如果研究是基于别人的文献,或者引用了需要文档的事实,那么应该列出这些参考文献。
数据库课程设计
“数据库课程设计”是数据库系统及应用课程的后续实验课,是进一步巩固学生的数据库知识,加强学生的实际动手能力和提高学生综合素质。
一、 课程设计目的
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。课程设计的目的:
1. 加深对数据库原理、程序设计语言的理论知识的理解和应用水平;
2. 在理论和实验教学基础上进一步巩固已学基本理论及应用知识并加以综合提高;
3. 学会将知识应用于实际的方法,提高分析和解决问题的能力,增强动手能力;
4. 为毕业设计和以后工作打下必要基础。
二、课程设计要求
运用数据库原理的基本理论与应用知识,在微机RDBMS(SQL Server)的环境上建立一个数据库应用系统。要求把现实世界的事物及事物之间的复杂关系抽象为信息世界的实体及实体之间联系的信息模型,再转换为机器世界的数据模型和数据文件,并对数据文件实施检索、更新和控制等操作。
1. 用E-R图设计选定题目的信息模型;
2. 设计相应的关系模型,确定数据库结构;
3. 分析关系模式各属于第几范式,阐明理由;
4. 设计应用系统的系统结构图,确定系统功能;
5. 通过设计关系的主码约束、外码约束和使用CHECK实现完整性控制;
6. 为参照关系设计插入、删除、修改触发器;
7. 实现应用程序设计、编程、优化功能;
8. 对系统的各个应用程序进行集成和调试,进一步优化系统功能、改善系统用户界面完成实验内容所指定的各项要求;
9. 分析遇到的问题,总结并写出课程设计报告;
10. 自我评价
三、实验环境
开发环境VC++、C#、ASP或JAVA;ODBC/JDBC;数据库SQL Server
四、上机实现内容
1. 创建数据库的结构
2. 创建各基本表的结构
3. 编制系统各功能模块,完成数据的管理(增、删、改)及统计查询。对于程序运行界面不做考核的重点。
五、课程设计考核
1.对学生到实验室的情况进行不定时统计;
2.出勤率+课程设计报告+课程设计所开发的应用系统+其他(上机抽查和提问)=综合评定成绩。
3.课程设计结束时请将下列资料上交:
(1) 课程设计报告;
(2) 所开发的应用系统的源程序、安装和使用说明;
(3) 将(1)(2)中的资料压缩成一个压缩包,压缩包文件的命名规则:班级+学号(末2位)+姓名(例如:计科090101王鹏晓);
(4) 班长将本班每人的(3)中的压缩包刻录成光盘连同打印的课程设计报告收齐,交给任课教师。
附录﹑课程设计题目
题目1:课程设计选题管理系统(1,24)
包括三大模块:
? 课程设计题目维护与查询:题目的添加、修改和删除;按题目类型、名称和关键字查询以及已选与未选题目的查询;
? 学生信息维护与查询;
? 学生选题维护与管理:学生选题及查询;
具体功能细化:
? 前台学生选题:学生上网登录系统进行选题;
? 前台教师出题:
? 教师添加、修改和删除题目;
? 教师确认学生的选题;
? 后台管理出题和选题
? 添加用户及权限
题目2:书店管理系统(23)
包括四大模块:
? 售书(图书销售管理及销售统计,查询)
? 进书(通过书目,向发行商下定单订购图书)
? 库存(图书库存,统计)
? 相关查询
题目3:图书馆管理系统(11)
包括四大模块:
? 图书的查询
? 借书
? 还书
? 图书的预约
题目4:库存管理系统(8)
包括四大模块:
? 商品目录建立
? 商品入库管理
? 商品出库管理
? 商品库存查询
题目5:工资管理系统(1 人)41
包括四大模块:
? 系统数据初始化
? 员工基本信息数据的输入、修改、删除;
? 员工个人信息及工资表的查询;
? 员工工资的计算;
参考数据如下:
? 员工基本状况:包括员工号、员工姓名、性别、所在部门、工资级别、工资等级等。
? 工资级别和工资金额:包括工资等级、工资额。
? 企业部门及工作岗位信息:包括部门名称、工作岗位名称、工作岗位工资等。
? 工龄和工资金额:包括工龄及对应工资额。
? 公司福利表:包括福利名称、福利值。
? 工资信息:包括员工号、员工姓名、员工基础工资、员工岗位工资、员工工龄工资、公司福利、员工实得工资。
题目6:酒店客房管理系统 (1 人)14,26
包括四大模块:
? 前台操作:包括开房登记、退房结账和房状态查看
? 预订管理:包括预订房间、预订入住和解除预订
? 信息查询:包括在住客人列表、预订客人列表和历史客人列表
? 报表统计:包括开房记录统计、退房结账和预订房间统计
? 员工基本信息数据的输入、修改、删除;
参考数据如下:
? 住店管理:客人姓名、证件号码、房号、入住时期、预计离开日期、结账离开日期、应付金额
? 客人信息:姓名、性别、证件类型、证件号码、联系电话
? 房间信息:房号、房类型、价格、押金、房状态 预订房间
? 客人姓名、性别、房类型、房号、价格、证件类型、证件号码、联系电话、入住日期、预计离开日期、历史信息
题目7:旅行社管理信息系统(1 人)3
包括如下模块:
? 旅游团队、团队团员及旅游路线相关信息的输入
? 旅游团队、团队团员及旅游路线相关信息的维护(修改、浏览、删除和撤销)
? 旅游团队管理信息的查询(如按团队编号)
? 团队团员基本情况的查询(可选多种方式)
? 旅游路线相关信息的查询(如按线路编号)
? 旅游路线排行榜发布。
? 数据备份,更改密码。
参考数据如下:
? 团员信息表(路线编号,团队编号,团员编号,姓名,性别,电话,通信地址,身份证号码, 团费交否,备注)
? 线路信息表(路线名称,团费,简介,图形,路线编号)
? 团队信息表(团队编号,路线编号,团员人数,出发日期,返程日期)
? 旅游团队信息表(团队编号,团队负责人,团员人数,建团时间,是否出发,团费,盈亏)
密码信息(操作员,密码)
题目8:报刊订阅管理系统 (1 人)25,35
包括如下模块:
? 登录功能:登录统为身份验证登录。分为管理员登录和一般用户登录。分别通过不 同的用户名和密码进入报刊订阅管理界面,新的用户需要注册。
? 录入新信息功能:对于管理员,包括新用户信息和新报刊信息的录入功能,信息一旦 提交就存入到后台数据库中;普通用户自行注册进行可以修改个人信息。
? 订阅功能:用户可以订阅报刊,系统自动计算所需金额,并显示在界面上;管理员不 可订阅报刊,必须以用户身份订阅报刊。
? 查询功能:用户可以查询并显示自己所订阅的信息;管理员可以按人员、报刊、部门 分类查询。查询出的信息显示在界面上,并且可以预览和打印出结果。
? 统计功能:管理员可以按用户、部门、报刊统计报刊的销售情况,并对一些重要的订 阅信息进行统计;普通用户可以统计出自己的订阅情况,并且可以预览和打印出结果。
? 系统维护功能:数据的安全管理,主要是依靠管理员对数据库里的信息进行备份和恢 复,数据库备份后,如果出了什么意外可以恢复数据库到当时备份的状态,这提高了系统和 数据的安全性,有利于系统的维护
参考数据如下:
? 管理员表(Adminuser) :管理员名、密码。
? 部门表(Department) :部门号,部门名。
? 用户表(Users) :用户账号、密码、真实姓名、身 份证号、联系电话,联系地址,部门号(和部门表有关)等。
? 报刊类别表(NewspaperClass) :分类编号、 分类名称。
? 报刊信息表(Newspaper) :报刊代号、报刊名称、出版 报社、出版周期、季度报价、内容介绍、分类编号(和报刊类别表有关)等。
? 订单表(Order) :订单编号、用户编号、报刊代号、订阅份数、订阅月数等。
题目9:计算机等级考试教务管理系统(2 人)32
包括四大模块:
? 用户设置:对考点代码,考点名称进行设置,设置用户与密码;系统复位:即清除上一次考试数据(在之前存入历史)
? 报名管理: 报各库录入(姓名不能不空,之间不能有空格) 增加、删除、修改、浏览
? 准考证管理:准考证生成规则:xxx+yy+zz+kk,其中 XXX 为考点代码;YY 为语言代码,XX 为考场号,KK 为座位号 同一级别、语言应根据报名初始库信息按随机数生成准考证,同一考点最多可有 99*30=2970 名考生;如已生成准考证号,再重新生成准考证号,应该给予提示。 准考证打印
? 考务管理:考生信息查询、浏览、打印
? 成绩管理:成绩数据录入、接收 成绩合成(总成绩=笔试成绩*0.6+上机成绩*0.4),按大于或等于 60 合格
参考数据如下:
? 初始报名表(准考证号(为空) ,报名号(主键) ,级别+语言种类(外键) ,姓名,性别, 出生年份,民族,身份证号,联系地址,联系电话,照片,备注,参加培训)
? 含准考证号的报名表(准考证号(为主键) ,报名号,级别+语言种类(外键) ,姓名,性别, 出生年份,民族,身份证号,联系地址,联系电话,照片,备注,参加培训)
? 成绩表(准考证号,笔试成绩,上机成绩,总成绩) 级别语言代码表(级别语言代码,级别+语言)
? 用户信息表(考点代码,考点名称,用户名,密码)
题目10:人事管理系统(1 人)21
包括四大模块:
? 登录管理:包括操作员管理,口令设置,权限管理
? 人员管理:包括人事数据维护、人事信息查询和人事信息统计
? 工资管理
? 部门管理:包括部门表,职称表和年份表
? 查询及报表打印
参考数据如下:
? 人事表(编号,姓名,性别,出生日期,工作日期,部门代码,职称,婚否,简历,相片)
? 工资表(基本工资,岗位津贴,奖励,应发工资,水电,保险,实发工资)
? 部门表(代码,部门名称)
? 职称表(职称代码,职称名称)
? 年份表(年份代码,年份名称)
? 操作员表(操作员代码,操作员姓名,口令,部门,电话)
系统日志表(操作员代号,操作员姓名,登录时间,离开时间)
题目11:商品销售管理系统(1 人)19
包括四大模块:
? 用户登录
? 基本信息管理:包括销售情况、商品信息、库存表、员工表等信息的录入、浏览、修改、撤销、删除和查询等
? 商品销售管理:包括商品售出、退回和入库
? 盘点:包括库存盘点、当日销售盘点
参考数据如下:
? 商品信息表(商品编号,商品名称,品牌,型号,销售单价) 商品编号=类别代码(1 位)+品名代码(1 位)+品牌代码(2 位)+型号代码(2 位)
? 销售情况表(成交编号,商品编号,销售数量,总金额,销售日期,员工编号)
? 库存表(商品编号,供货商编号,进货日期,进货价,库存数量)
? 员工表(员工编号,员工姓名,性别,基本工资,职务,密码)
? 供货商表(供货商编号,供货商名称,所在地,联系电话)
? 员工资料表(员工编号,员工姓名,是否党员,简历,照片)
题目12:学生成绩管理系统(1 人)29
包括四大模块:
? 基本数据管理:包括院系管理,专业管理(设置院系下面的专业),班级管理(设置专业下面的班级),课程管理(设置相应专业下面的课程)
? 学生信息管理:包括基本信息录入、基本信息修改
? 学生成绩管理:包括学生成绩录入、学生成绩修改
? 信息查询:包括基本信息查询、成绩信息查询、学校人数统计
? 系统管理:用户管理、数据备份和系统帮助
参考数据如下:
? 院系信息(院系代码,院系名称)
? 院系专业信息(班级、院系代码,专业)
? 学生基本信息(班号,学号,姓名,性别,出生年月,籍贯,政治面貌,身份证号,入学年月,家庭地址,邮政编码,图片信息,备注)
? 学生成绩表(学号,课号,成绩,备注)
? 课程表(课号,课程名称,学期,备注)
? 班表(班号,班级名称)
? 用户信息表(用户名,密码,用户标识)
题目13:火车售票管理系统(4 人)36
包括四大模块:
? 售票管理
? 订票管理
? 信息查询
? 系统维护
参考数据如下:
? 车次信息表(车次,始发站,终点站,发车时间,到达时间)
? 订票信息表(车次,座位号,发车时期,发车时间,座位等级,票价)
? 车次座位等级分配及座位占用表(车次,座位号,座位等级,票价,占用标志)
? 用户信息表(用户名,密码,用户标识)
题目14:小型物业管理系统(1 人)
包括四大模块:
? 房源管理:对原始资料的录入、修改、查询和刷新。一般用户可以查询与房间有关 的统计资料;物业主管可其进行增、删、改、插等操作
? 租房管理:对房产出租,退租以及租房面积调整。其中物业主管可对其进行房租金 额计算和收款操作,一般用户对其查询
? 水电处理:根据租房资料,结合当月水、电量进行分摊,完成应收水电费。其中物 业主管对其进行计算,其他查询
? 交款处理:提供收款和发票打印以及交款数据查询
? 查询处理:对租房资料、交款资料,发票资料进行查询
参考数据如下:
? 房源资料(名称,面积,月租,物业,仓库)
? 租房资料(名称,面积,单位,月租,物业,押金,仓库)
? 水电资料(单位,电量,水量,电费,水费)
? 交费资料(收费项目,应收日期,应收金额,已收金额,未收金额,本次收款)
? 发票资料(单位,房租,电费,水费,物业)
? 权限资料(用户,密码,房源管理,租房管理,水电管理,交费管理,发票管理,系统维护) 其中系统管理员,有权进行系统维护;单位内部物业主管,有权进行物业资源调配、单元出 租,退租和收款开票操作;物业管理员,有权进行水电处理和收款处理等操行;租户代表, 有权进行种类费的查询操作
题目15:机房收费管理系统(1 人)7,34
包括四大模块:
? 登录模块
? 上机管理模块 说明:上机登记时,余额不足 3 元或卡处于挂失状态,则拒绝登记 每位同学的一次上机形成一条记录,每 36S 遍历一次上机记录表,对表中所有正上机字段为 TRUE 的记录的上机用时增加 36S,同时从上机卡表的余额减少
? 上机卡管理模块
? 充值挂失模块
? 查找统计模块:统计某天上机的总时数、每次上机的平均时数和机房的收入;某学 生上机的次数、上机总时数、每次上机平均时间;挂失和查询余
参考数据如下:
? 上机卡(卡号,姓名,专业班级,余额,状态) 状态的取值有:正常(能自费上机)
? 挂失上机记录(卡号,上机日期,开始时间,上机用时,正上机,管理号代码),上机用时记录学生上机时间(S);正上机是一个布尔型,为 True 表示正上机,每 36 秒刷新 其上机用时并扣除上机费用,为 False 表示上机结束。上机记录表永久保存,用于事后查询 和统计 管理员(代码,姓名,口令)
?
题目16:高校药房管理(1 人)31
包括四大模块:
? 基础数据处理:包括医生和药剂师名单的录入,修改,删除及查询
? 营业数据处理:包括药品进货上柜,处理划价,配药,柜存药品查询,处方综合查 询,交接班结转清。
参考数据如下:
? 药品信息表(货号,货名,计量单位,进货数量,进货单价,出售单价,进货日期,收货人 和供应商)
? 处方信息(编号,患者姓名,医生姓名,药剂师姓名,处方日期,配药日期) 处方药品信息(处方编号,药品货号,计量单位,配药数量,销售单价,已配药否)
? 医生名单和药剂师名单表(姓名)
?
题目17:考勤管理系统(2 人)40
包括四大模块:
? 记录每个员工每天所有进入公司的时刻和离开公司的时刻。
? 每天结束时自动统计当天的工作时间
? 每天结束时自动统计当天迟到或早退的次数。
? 对于弹性工作制,每天结束时自动统计当月的工时,并自动算出当月欠缺或富余的 时间
? 每个月末统计该月的工作时间判断是束足够
? 每个月末统计该月的工作天数并判断是否足够
? 管理人员查询并修改工作时间(特殊情况下修改)
? 管理人员账户管理(如设置密码等)
? 管理人员设定早退及迟到的条件,每个月的工作时间
? 管理人员设定每个月的工作日期及放假日期
参考数据如下:
? 员工信息(工号,姓名,年龄,入职时间,职位,性别,密码)
? 配置信息(上班时间小时,上班时间分钟,下班时间小时,下班时间分钟,每天工作时间)
? 每月统计数据表(工号,姓名,剩余的时间,迟到的次数,早退的次数,工作天数)
? 每天统计信息表(工号,姓名,小时,分钟,动作,时间) 其中动作指的时入或离开公司
?
题目18:单位房产管理系统(2 人)33,10
包括四大模块:
? 系统模块:完成数据库维护、系统关闭功能
? 物业费用模块:完成本月物业的计费、历史资料查询和财务部门接口传送数据、物 业相关费用单价设置
? 房屋资源模块:对房屋资源进行添加、列表显示、查询
? 职工信息模块:对职工进行添加、列表显示、查询以及相应部门、职务进行维护
? 帮助模块:对用户使用本系统提供在线帮助
参考数据如下:
? 职工(编号,姓名,性别,参加工作时间,行政职务,专业技术职务,评上最高行政职务时 间,评上最高专业技术职务时间,双职工姓名,现居住房号,档案号,房产证号,所在部门 编号,是否为户主)
? 部门(编号,部门名称) 住房级别表(编号,级别,住房标准,控制标准,级别分类)
? 房产情况(编号,房号,使用面积,现居住人 id,上一个居住人 id,最早居住人 ID,阳台面积)
? 物业费用(编号,房号,水基数,水现在值,电基数,电现在值,燃气基数,燃气现在值, 当前年份,当前月份)
? 价格标准(编号,水单价,电单价,燃气单价)
题目19:标准化考试系统 (2 人)15,39
功能要求: 设计一个简单的标准化考试系统,仅有单项选择题、多项选择题和判断题功能即可。
包括四大模块:
? 题库管理:实现试题的录入、修改、删除功能;
? 考试子系统:能够实现考生做题、结果自动存入到数据库中,有时间提示;
? 选择身份(登录)功能:系统能够记录考生输入的登录信息及交卷信息;
? 自动评分功能:考生交卷后能自动评分;
? 查看成绩功能:能够查询考生相关信息(包含成绩等)。
参考数据如下:
其它可供选择的题目:
网上教务评教系统130,127,133 16
学生日常行为评分管理系统232,110,230
网上鲜花店 38
基于BS结构的工艺品销售系统12
基于BS结构的校园二手物品交易网站 37
大学生就业管理系统201,208,234
题库及试卷管理系统
数据库原理及应用
课程设计报告
题目: 课程设计选题管理系统

所在学院:
班 级:
学 号:
姓 名: 李四
指导教师:
2011年12月 日
目录
一、 概述
二、需求分析
三、概念设计
四、逻辑设计
五、系统实现
六、小结
一、概述

求一份SQL server数据库课程设计报告

http://www.winu.cn/1/34248.html
类似的
一.可行性研究:
随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。
图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2000网络数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
二.需求分析:
1.任务概述:
1.1 目标:
对图书信息进行图书入库、借阅登记、借阅查询、过期提示、办理借书卡这些日常业务的需要。高效性通过系统的实用,能够改变旧的图书管理模式,使对图书的管理、借阅、查询更加方便有效。
1.2 运行环境:
Windows 98/2000/XP/2003操作系统下,安装并配置软件Microsoft SQL Server 2000数据库管理系统。
2.数据需求:
2.1 数据流条目:
权限=权限+姓名 登录用户=帐号+姓名+密码+权限
用户=用户帐号+姓名+性别+组号+证件号码 图书类别=类别+类名
图书=图书编号+类别+书名+作者+出版日期+出版社+定价+总数量+剩下数量+备注
借阅=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
借阅信息=用户帐号+图书编号+借书日期+到期日期+数量+还书日期
2.2 数据字典(DD):
2.3 数据库描述:
使用SQL SERVER2000作为后台数据库,就可以行使基于网络连接的用户认证。从而给不同的子系统分配不同的数据库使用角色,让他们彼此之间使用的数据库隔离开来,以达到较高的安全性。
2.4 数据采集:
通过Internet从网站上收集一些图书的相关信息,录入数据库,从而建立数据库,并在编码调试阶段测试各个功能模块的实现。
3.功能需求:
3.1 功能划分:
图书管理系统主要实现以下七方面的功能:
a.查询 b.图书借还 c.图书入库 d.图书维护
e.图书超期提示 f.环境管理 g.备份还原
3.2 功能描述:
图书管理包括查询、借还、入库、维护、超期提示、环境管理和备份还原七方面功能。
图书入库,主要实现入库登记。
图书借阅,进行借书登记(此操作由管理员完成);当用户要查询自己的借阅情况时,可进行借阅查询。
图书超期提示,当借阅者在已到借书期限时未归还图书,提示其尽快办理归还手续。
3.3 数据流图(DFD):
新书入库DFD:
D1 库存清单
D1 库存清单
图书借阅的DFD:
过期提示的DFD:
借阅查询的DFD:
D1 借阅查询清单
还书处理的DFD:
D1 库存清单
4.安全性需求:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员申请注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。每位用户根据自己的身份不同,进入不同的用户界面。管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
5.一致性需求:
在图书管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
6.完整性需求:
根据图书管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
三. 概要设计说明书:
1.总体设计:
1.1 系统结构示意图:
图书管理系统结构示意图
1.2总体结构和模块外部设计:
2.接口设计:
2.1 外部接口:
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现图书管理系统。
2.2 内部接口:
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效,方便。
3.E-R图
E-R图清楚地描述了系统中各个实体之间的联系,以及各个实体所具有的属性,可以使读者很清楚地了解整个系统的总体处理。在建立E-R图的过程中,主要经历以下几个步骤:1.选择局部应用;2.逐一设计分E-R图;3.合并分E-R图,生成初步E-R图;4.消除不必要的冗余,设计基本的E-R图。
4.运行设计:
4.1 运行模块的组合:
运行模块分成基本的三个模块,即是:输入模块,输出模块,处理模块等。这使得整个系统的维护容易,简单;系统的结构层次简单,易懂。
4.2 运行控制:
本系统采用的控制方式主要有三种:顺序,选择,循环。
5.安全保密设计:
考虑到不同用户的权限不同,第一次进入该系统时应该向管理员注册一个用户名和密码,并完整的填写相关信息,同时存入数据库表中。这样管理员就可赋予不同用户不同的权限。当用户登录进操作界面之前,我们设置了用户名和密码,当用户名和密码相匹配时才能进入该用户所允许做的权限操作界面,否则就只能看到登录界面管理员有权力行使所有的管理功能,普通用户只能进行一般的查询。
四.详细设计:
1.数据库表
权限:(权限,姓名)
登录用户:(帐号,姓名,密码,权限)
用户:(用户帐号,姓名,性别,组号,证件号码)
图书类别:(类别,类名)
图书:(图书编号,类别,书名,作者,出版日期,出版社,定价,总数量,剩下数量,备注)
借阅:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
借阅信息:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)
2.计算机的软件配置
Windows 98/Windows xp/Windows 2000/Windows 2003;
五. 编码与实现:
六. 测试

写一份 数据结构课程设计报告。两个部分为:二叉树的遍历和查找(折半查找)的实现?

二叉树的遍历
#include #include #define maxLength 32using namespace std;typedef struct binaryNode{ char data; struct binaryNode *lchild, *rchild;} binaryNode;void createByPreAndIn(char preArray[], char inArray[], binaryNode *&parent, int preStart, int preEnd, int inStart, int inEnd);void createByLastAndIn(char lastArray[], char inArray[], binaryNode *&parent, int lastEnd, int lastStart, int inStart, int inEnd);void preOrderVisit(binaryNode *root);void inOrderVisit(binaryNode *root);void lastOrderVisit(binaryNode *root);void rugged(binaryNode *root,int);void brackets(binaryNode *root);void level(binaryNode *root);void display(binaryNode *root);int main(void){ char preArray[maxLength], inArray[maxLength], lastArray[maxLength]; binaryNode *root; cout<<"构造二叉树,输入构造方式。(1代表前中序,其它数字代表后中序): "; int way; cin>>way; if(way==1) { cout << "输入前序遍历序列: "; cin >> preArray; cout << "输入中序遍历序列: "; cin >> inArray; createByPreAndIn(preArray, inArray, root, 0, strlen(preArray) - 1, 0, strlen(inArray) - 1); } else if(way==2) { cout << "输入后序遍历序列: "; cin >> lastArray; cout << "输入中序遍历序列: "; cin >> inArray; createByLastAndIn(lastArray, inArray, root, 0, strlen(lastArray) - 1, 0, strlen(inArray) - 1); }//initialization cout<<"构造完成,下列是该二叉树的表示方式"<data = preArray[preStart], parent->lchild = parent->rchild = NULL; int middle = inStart; while (inArray[middle] != preArray[preStart] && middle <= inEnd) middle++; createByPreAndIn(preArray, inArray, parent->lchild, preStart + 1, preStart+middle-inStart, inStart, middle - 1); createByPreAndIn(preArray, inArray, parent->rchild, preStart + middle - inStart + 1, preEnd, middle + 1, inEnd); }}void createByLastAndIn(char lastArray[], char inArray[], binaryNode *&parent, int lastStart, int lastEnd, int inStart, int inEnd){ if (lastStart <= lastEnd) { parent = new binaryNode; parent->data = lastArray[lastEnd], parent->lchild = parent->rchild = NULL; int middle = inStart; while (inArray[middle] != lastArray[lastEnd] && middle <= inEnd) middle++; createByLastAndIn(lastArray, inArray, parent->lchild, lastEnd - inEnd + inStart, lastEnd - inEnd + middle - 1, inStart, middle - 1); createByLastAndIn(lastArray, inArray, parent->rchild, lastEnd - inEnd + middle, lastEnd - 1, middle + 1, inEnd); }}void preOrderVisit(binaryNode *root){ if (root) { std::cout << root->data; preOrderVisit(root->lchild); preOrderVisit(root->rchild); }}void inOrderVisit(binaryNode *root){ if (root) { inOrderVisit(root->lchild); std::cout << root->data; inOrderVisit(root->rchild); }}void lastOrderVisit(binaryNode *root){ if (root) { lastOrderVisit(root->lchild); lastOrderVisit(root->rchild); cout << root->data; }}void rugged(binaryNode *root, int indent){ if (root) { for (int j = 0; j < indent; j++) std::cout << "-"; indent++; std::cout << root->data; std::cout << std::endl; rugged(root->lchild, indent + 1); rugged(root->rchild, indent + 1); }}void level(binaryNode *root){ int front = -1, rear = 0; binaryNode *buff[maxLength],*visit; buff[rear] = root; while (front != rear) { front = (front + 1) % maxLength; visit = buff[front]; if (visit->lchild) { rear = (rear + 1) % maxLength; buff[rear] = visit->lchild; } if (visit->rchild) { rear = (rear + 1) % maxLength; buff[rear] = visit->rchild; } cout << visit->data; }}void brackets(binaryNode *root){ if (root) { std::cout << root->data; if (root->lchild || root->rchild) std::cout << '('; brackets(root->lchild); if(root->lchild && root->rchild) std::cout << ','; brackets(root->rchild); if (root->lchild || root->rchild) std::cout << ')'; }}void display(binaryNode *root){ cout << "前序遍历: "; preOrderVisit(root); cout << endl; cout << "中序遍历: "; inOrderVisit(root); cout << endl; cout << "后序遍历: "; lastOrderVisit(root); cout << endl; cout << "层次遍历: " << endl; level(root); cout << endl; cout << "凹入表示法: " << endl; rugged(root, 0); cout << endl; cout << "括号表示法: " << endl; brackets(root); cout << endl;}
写一份 数据结构课程设计报
比较分析
how much?
数据库课程设计大赛的尘嚣渐渐远去,怀着对这次大赛的些许不舍,怀着对当初课程设计开始时候的豪情万丈的决心的留恋,怀着通过这次课程设计积累的信心与斗志,我开始写这篇文章,为自己的足迹留下哪怕是微不足道但是对自己弥足珍贵的痕迹并期望与大家共勉。首先,让我的记忆追溯到大二暑假,在老大的指引下(老大劝我学asp.net),我接触到Microsoft公司的.NET产品。那个时候我已经学过vc和asp,因为windows程序设计实验的课的关系,接触过vb,但是没有专门去学他,因为习惯了c++里面的class,int,觉得vb的sub,var看着就不是很顺心。我是一个好奇心很强的人,突然看到了一个号称“.net是用于创建下一代应用程序的理想而又现实的开发工具”,而且主推c#语言,由于对c语言的一贯好感,我几乎是立刻对他产生了兴趣。我就开始了对c#的学习,任何语言都不是孤立存在的,所以数据交互是很重要的,暑假的时候我把我们这学期的课本数据库系统概论看了一遍。我记得以前用c语言编程的时候,数据是在内存中申请空间,譬如使用数组等等。很耗费内存空间。这个时候就是数据库站出来的时候啦,于是我又装上了sqlserver2000,以前学asp的时候用的是access,那个时候只是照着人家做,理论是什么也不是很清楚。通过一个暑假的学习,基本搞清楚了理论方面的东西,具体怎么用也不是很清楚。但是这为这学期的课程设计打下了铺垫。来到学校后,随着这学期的数据库课程大赛开始了,我有一个看法就是我自己应该具备的能力不是我会多少,而是我应该具备快速学会东西的能力。遇到什么就学什么。我们有时候很容易被一些专业名词说吓着,包括什么建模,软件工程,数据分析,数据挖掘等等。我身边就有很多同学被这些纸老虎所唬住,而没有勇气去接触他们,总是说这个太难了之类的退堂鼓的话,他们低估了自己的潜力同时也压抑住了他们自己的好奇心。其实都是纸老虎,又不是什么国家科研难题,只是去用一些工具,发明工具是很难,但是用一个工具就容易多了,justdoit!我记得我做这个数据库之前,我们老师说要做好前期分析,我就在网上搜索用什么分析工具好。最后我选择了roseUML建模工具。在此之前,我脑袋里面没有软件建模的思想,什么UML建模对我而言就是一张空白的纸。但是真正接触后并没有想象的那么难,有什么不懂的上网去搜索,这是一个信息横流的世界,有google,baidu就没有不能解决的知识难题。以及后来的数据库分析的时候用到的powerdesigner也是一样。开发的时候我想过用什么架构,c/s模式?模式有很多,怎么选择?我就上网搜索现在最流行的架构是什么。结果搜到了MVC架构,就是你啦。我决定用这个架构,不会,没关系,咱学。Justdoit!前期工作准备好后,那么我就得把我暑假学的.net加以实践。这个时候我更加深入的了解了利用ado.Net操纵数据库的知识。并且对数据库里面的存储过程有了比较深入的了解。经过大概2个多星期的奋斗,我完成了我的数据库课程设计--基于.net数据集的图书馆管理系统。并最后非常荣幸的获得了大赛的一等奖以及以及新技术应用奖。与其临渊羡鱼,不如退而结网。这次数据库课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做,困难在你的勇气和毅力下是抬不了头的。从做这个数据库开始无论遇到什么困难,我都没有一丝的放弃的念头。出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。我完成了这次数据库课程设计,不过这只是我学习路上的驿站,未来十年.NET的核心技术就是XML[至少微软是这么宣传的],我会继续学习它,包括jave公司的j2ee我也很想试试,语言本来就是相通的,justdoit!语言并不重要毕竟它仅仅是工具,用好一个工具并不是一件值得为外人道的事情,主要是了解学习思想。古语说的好:学无止境啊!我很庆幸我参加了这次数据库大赛,让我确实打开了眼界。

数据库课程设计心得体会范文

  通过数据库课程设计的完成,我们从中获得了不少的感慨,通过对所学知识的体会,能够明显感觉到自己比以往进步了不少。以下是由我为大家整理的“数据库课程设计心得体会范文”,仅供参考,欢迎大家阅读。
  数据库课程设计心得体会范文(一)   在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次的课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统设计开发的基本方法,进一步提高我们综合运用所学知识的能力。
  当我们这组决定做大学生就业咨询系统时,我们并没有着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典。当这些都准备好了之后,我们进行模块的分工。每个人都有自己的模块设计,而且写出来的代码要求可以实现相应模块的功能,得到理想的效果。当每个人都把自己的分工做好了,最后会由一个人把这些全部组合搭建在一起。我们使用的是html和php相互嵌套使用,当一个系统做好了之后,我会好好地把程序都看一遍,理会其中的奥秘。
  我所负责的是数据库的备份和还原还有一些界面的实现。还记得自己刚接触html的时候,觉得很感兴趣,所以有一段时间几乎到了痴迷的程度。然而php是我刚接触不久的一种编程语言。不过觉得它的功能真的很强大,可以开发出很多大型的系统。但是在做备份和还原的时候,要考虑的东西还是很多的。当我遇到错误的时候,感到很受打击。值得欣慰的是,在同学的帮助和大量参考书的查阅下,我把自己的模块做好了。这就是我收获最大的地方。而且,我明白了遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利。
  知识的获得是无止境的,只要你想学,只要你行动,没有什么会难倒我们的。回首这一个多星期的课程设计,我很欣慰。因为我有了动力,有了勇气。谢谢老师对我们的不懈帮助,谢谢学校给了我们这一次实践的机会,也谢谢组员们的关怀。这些美好的回忆美好的东西将永远伴随着我。
  数据库课程设计心得体会范文(二)   本次课程设计,使我对《数据结构》这门课程有了更深入理解。《数据结构》是一门实践性较强课程,为了学好这门课程,必须在掌握理论知识同时,加强上机实践。
  我课程设计题目是线索二叉树运算。刚开始做这个程序时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现线索二叉树删除运算时很多情况没有考虑周全,经常运行出现错误,但通过同学间帮助最终基本解决问题。
  在本课程设计中,我明白了理论与实际应用相结合重要性,并提高了自己组织数据及编写大型程序能力。培养了基本、良好程序设计技能以及合作能力。这次课程设计同样提高了我综合运用所学知识能力。并对VC有了更深入了解。《数据结构》是一门实践性很强课程,上机实习是对学生全面综合素质进行训练一种最基本方法,是与课堂听讲、自学和练习相辅相成、必不可少一个教学环节。
  上机实习一方面能使书本上知识变“活”,起到深化理解和灵活掌握教学内容目;另一方面,上机实习是对学生软件设计综合能力训练,包括问题分析,总体结构设计,程序设计基本技能和技巧训练。此外,还有更重要一点是:机器是比任何教师更严厉检查者。因此,在“数据结构”学习过程中,必须严格按照老师要求,主动地、积极地、认真地做好每一个实验,以不断提高自己编程能力与专业素质。
  通过这段时间课程设计,我认识到数据结构是一门比较难课程。需要多花时间上机练习。这次程序训练培养了我实际分析问题、编程和动手能力,使我掌握了程序设计基本技能,提高了我适应实际,实践编程能力。总来说,这次课程设计让我获益匪浅,对数据结构也有了进一步理解和认识。
  数据库课程设计心得体会范文(三)   一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在设计过程中,和同学们相互探讨,相互学习,相互监督。我学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世,这次课程设计对我来说受益良多。
  课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。“千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义。我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础。我这次设计的科目是数据结。
  数据结构,是一门研究非数值计算的程序设计问题中计算机的操作对象(数据元素)以及它们之间的关系和运算等的学科,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。“数据结构”在计算机科学中是一门综合性的专业基础课。数据结构是介于数学、计算机硬件和计算机软件三者之间的一门核心课程。数据结构这一门课的内容不仅是一般程序设计(特别是非数值性程序设计)的基础,而且是设计和实现编译程序、操作系统、数据库系统及其他系统程序的重要基础。通过这次模具设计,我在多方面都有所提高。
  在界面设置中使用函数调用while。其中文本显示颜色和背景颜色都可以任意按照自己的喜好,任意改变,但改变的时候必须采用标准英文大写,同时在制作显示菜单的窗口,大小根据菜单条数设计。最后采用printf输出程序设计界面。
  这次的程序软件基本上运行成功,可以简单的建立链式循环链表,并进行输出,及循环语句的运用和选择语句的控制。由于时间和知识上的限制,使得程序规模相对较小,即功能还不很全面,应用也不很普遍。原来C语言可是涉及很多知识,而不是枯燥无聊的简单的代码部分而已,利用C语言方面的知识,我们可以设计出更完善的软件。
  通过这次的课程设计,更是让我深刻认识到自己在学习中的不足,同时也找到了克服这些不足的方法,这也是一笔很大的资源。在以后的时间中,我们应该利用更多的时间去上机实验,加强自学的能力,多编写程序,相信不久后我们的编程能力都会有很大的提高能设计出更多的更有创新的作品。