数据库课程设计网上购物_第1页
数据库课程设计网上购物_第2页
数据库课程设计网上购物_第3页
数据库课程设计网上购物_第4页
数据库课程设计网上购物_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 引言1.1 设计目的通过课程设计,提供一次实践的机会,以巩固和加深对数据库基础理论和基本知识的理解;掌握课本中介绍的使用数据库进行软件设计的基本思想和方法;从而提高运用数据库理论解决实际问题的能力和培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。1.2 设计要求根据课本理论知识,较为合理的设计与实现网上购物系统。设计独立完成课程设计中各任务的设计和调试要求,按课程设计报告的撰写规范完成数据库系统课程设计报告。1.3 设计环境前台:1、 硬件要求:cpu: pentium 4 2.0ghz以上ibm兼容机内存:256mb以上容量显卡:32mb或以上显存之agp接口显卡2、软

2、件要求:操作系统:microsoft windows 2000/xp开发工具:delphi 7.0数据库服务器:1、 硬件要求:cpu: pentium4 1.8ghz以上ibm兼容机内存:512mb以上容量显卡:32mb或以上显存之agp接口显卡2、 软件要求:操作系统:microsoft windows 2000 server数据库服务器:microsoft sql 2000 server网络设备:2块网卡:客户机d-link dfe-650tx,服务器intel pcla8460b。路由器:一台soho路由器tl-r402m1.4 网络拓扑结构本设计采用客户机/服务器(c/s)体系,数据

3、的储存管理功能较为透明性,可以合理均衡事务的处理,充分保证数据的完整性和一致性。客户机数据库服务器 图1.4.1 c/s模式结构第二章 理论设计与分析2.1 需求分析 通过调查网上购物系统的业务流程及主要实现功能情况来了解本系统的概况。 (1) 顾客可通过网络查看到所销售的所有物品的具体信息,如物品名,价格等,或购买时可直接通过网络填写订单并提交;(2) 由于网上购物,地理位置的限制,所以顾客通过信用卡来支付;(3) 顾客可以查到相关的货物信息,但是不能查到各用户的相关信息,更不能查到用户的信用卡等重要信息(4) 查询应显示所有店主所卖的物品,即使库存量为零;(5) 为了保证网上交易的安全性,

4、顾客必需先通过网络注册用户名,然后通过用户名登录后才可以使用网站,包括信息查询,购买货物等;(6) 顾客注册后管理员可查询顾客的详细信息;(7) 对每一个客户的购买情况,一次性发出显示所有货物订单;(8) 一个顾客如果在短时间内(系统规定)对同一种货物多次购买并提交不同数量的订单时,要将第一次的订单作为联系,其它订单均用来更新第一个订单的数量;(9) 将用户联系到不同的货物上来实现短时间内,顾客提交不同货物的订单;(10) 顾客可在一个订单中填写对不同货物的购买情况,顾客也可以提交多份不同的订单,并且用户可以很好的来区分这些不同的订单;2.2 功能模块设计网上购物系统 用户登录管理员登录订购信

5、息模块查询信息模块添加信息模块删除信息模块修改信息模块查询信息模块2.3分析设计过程为了满足需求分析的具体要求,初步实义三个实体:货物,顾客,订单。初步的e-r图为订单联系两者。但是考虑到需求分析中(10),所以应将订单表中引入属性订单号,它唯一的标识订单,并且顾客可据此提交订单。考虑到一笔订单中可以购买若干货物,需要订单号和货物号一起来确定订单表表中的货物的定购数量)和货物的发货日期。通过以上的分析和修改,可基本上满足了需求分析的具本要求。还需要对形成的关系模式进行分析,考虑其规范化程度,可能出现的冗余、插入删除异常等,用规范化理论进行进一步的改进。货物关系模式中只有一个码货物号,而且所有属

6、性都是依赖于货物号的,因此此关系模式属于bcnf顾客关系模式中只有一个码顾客号,而且且在该表上没有其他函数依赖,因此此关关系模式也属于bcnf。订单关系模式中,定义(订单号,货物号)为码。但是,因为某个订单由某一顾客在一时间内用一个信用卡号定下的,所以在订单表中还有以下函数依赖:订单号客户号; 订单号订购日期;订单号信用卡号所以订单关关系模式不是2nf(存在非主属性对码的部分函数依赖。)因此将该模式分解为以下两个关系模式可解决此问题:顾客订单(订单号,顾客号,信用卡号,订购日期)货物订单(订单号,货物号,发货数量,发货日期)这2个关系模式都是bcnf。2.4 概念结构设计2.4.1 实体列表实

7、 体描 述顾 客顾客姓名,性别,年龄,出生地等并由顾客号标识货 物货物名称,价格,库存量,产地等并由货物号标识顾客订单顾客号,信用卡号,订购日期,并由订单号标识货物订单发货数量,发货日期等属性,由订单号,货物号标识系统管理员系统维护人员2.4.2系统的e-r模型产 地顾客订单货物订单订 单卡 号订购日期发货日期货物订购数量顾客年龄顾客电话顾客号顾客姓名顾客顾客性别顾客地址货物名称生产时间货物号价 格数 量订购日期2.5 系统结构设计2.5.1 逻辑结构设计(1)设计过程优化的数据模型特定的dbms支持下的数据模型一般数据模型关系,网状,层次基本er图概念结构(2)将e-r转化成的关系模型如下:

8、(设计过程分析见2.3)货物订单(gorder)关系模式:货物(goods)关系模式:顾客(customer)关系模式:顾客订单(corder)关系模式:2.5.2 物理结构设计(一)对于货物(goods)表:1)为了实现大部分顾客能够在购买货物之前通过货物号进行查询,因此,为了更有效的通过货物号进行查询,可以在货物号上建立一个非聚簇的哈希索引。2)顾客还有可能通过货物名称进行查询,因此在货物名称上也建立非聚簇的哈希索引。(二)对于顾客(customer)表:1)主码是客户编号cid,最常用的查询就是根据cid进行查询,因此可以在cid上建立聚簇哈希索引。(三)对于货物订单(gorder)表1

9、)考虑到大部分是插入操作,很少对发货日期的修改以及查询某个特定订单的所有项目。所以可以在订购数量上建立哈希索引或b树索引。2.6 数据库的保护2.6.1 数据库安全性为加强本数据库系统的安全性,只有通过网上注册了本系统的用户才可以实现对相关信息的数据查询。每个申请的顾客信息都将存储在数据库的顾客表(customer)中,当用户输入用户名进行登录时,系统将该用户名和顾客表中的用户名进行核对,只有核对成功后才可以登录系统。顾客的权限只能订货或查询货物信息。通过建立视图来限制用户的权限,以增强数据的安全性。而系统管理员可对数据库中的信息进行添加,删除,修改等操作。对关键数据的修改等操作建立审计(au

10、dit)机制,以确保数据的合法操作。2.6.2 数据库完整性数据库各表中保证主码值的唯一且主码的各属性不为空以保证了实体的完整性。各表之间属性的外码关系,当对被参照表和参照表进行增删改操作时,有可能破坏参照完整性,因此每一个相应的操作都进行检查,并设置违约处理策略为:拒绝执行(no action)。除此之外,对每个表上的属性约束条件进行了相应的限制,对属性值是否可为空,以及性别只能为男或女等。通过上面这些措施确保了数据库的完整性。2.6.3 数据库恢复 计算机系统中硬件的故障,软件的错误,操作员的失误以及恶意的破坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重

11、则破坏数据库,使数据库中全部或部分数据丢失。因此必需建立并健全数据库恢复技术。为此,本数据库系统将通过对数据进行转储和登记日志文件来避免损失。对事务故障进行undo及系统故障进行redo,undo处理来对数据库数据进行恢复。2.6.4 并发控制 数据是共享资源,可能供多个用户使用。多用户数据库系统,同一时刻并发运行的事务数可达数百个,很容易出现丢失修改,不可重复读,读赃数据等情况,可通过对事务的封锁来实现并发控制。第三章 详细设计3.1 设计数据库3.1.1 创建数据库(1)打开sql server 2000服务管理器,企业管理器;(2)在(local)(windows nt)下,选中数据库,

12、点击右键快捷菜单中的“新建数据库”命令,“创建数据库”对话框输入库名网上购物(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。3.1.2 创建数据源(1)按如下步骤打开,开始>控制面板>管理工具>数据源(2)在odbc数据源管理器中添加sql server数据源驱动程序,如下3.1.3 连接数据库在delphi中,用以下三类控件实现与数据库的连接:dataaccess, bde,datacontrol;bde是数据库搜索引擎;datacontrol 中控件用于显示数据库中数据结果;dataaccess中datasource用于连接datacontrol和bde,这样三

13、者相连,通过bde实现对数据库相关操作并在datacontrol的控件中显示。3.2主菜单设计本界面有三个下拉式菜单组成,分别是:系统,联系我们,帮助。其中系统中含有三个子菜单:管理员登录区,用户登录区,退出。3.3登录界面模块设计3.3.2 代码设计 用户登录模块代码:管理员登录模块代码:3.4管理员功能模块设计3.4.1 设计显示界面 3.4.2添加功能设计3.4.3修改功能设计3.4.4 删除功能设计3.4.5 查询功能设计3.5用户功能模块设计该查询功能模块代码的实现和3.4.5中查询功能代码相同,顾客订单代码和3.4.2中添加订单功能相同。第四章 课设小结4.1 设计与调试过程中出现

14、的问题在本课程设计初期阶段做了大量的准备工作,先复习了一遍教材,然后查阅相关的资料,也正是这些前期工作,使我的课设得以相对顺利完成。特别是需求分析阶段,不能真实通过一些用户来了解情况,所以我通过网上和图书馆查阅相关资料以了解网上购物系统相关设计情况。在概念设计向逻辑设计转化阶段,刚开始模式的确定上面没有达到bcnf式,最后通过规范化理论的反复思考才得以正确解决。做一个友好的界面时,由于我们只选过c+和delphi两种高级语言,其中delphi是一个可视化编程很好的语言,所以我决定选用它,但是由于是大一学的,有些语法记得已不是很清,导致在调试阶段出现了很多麻烦,比如:数值类型和数据库表中属性不匹

15、配等,最后又将delphi教程课本从头到尾看了一遍,特别对和数据库连接方面进行了详细的学习,才使编码调试过程少走了些湾路。4.2 设计内容总结本课程设计严格按照数据库设计的流程,需求分析>概要设计>逻辑设计>物理设计>实施与运行和维护,进行设计。完成了网上购物系统的各功能模块的设计,管理员拥有最高的权限,可对数据库中的数据进行添加,删除,修改,也可查询顾客的信息,而用户只可以订购货物和查询货物信息,通过视图保证了安全性。在数据库保护方面,数据库的完整性,安全性,以及数据库恢复,数据库的并发控制等方面采取了相应的措施以保证数据库的安全。这个程序虽然基本实现了网上购物系统的基本功能,但是有些过程的实现还有不足之处。特别是数据库的保护方面,数据库的并发控制和数据库的恢复技术等设计不尽完美,另外,数据库的逻辑设计方面也没能很好的体现。为了更贴近实际,应实现顾客对货物的随时退订等功能。但是由于时间限制,未能在本次课设时间内完成上述功能,在以后的时间内,我一定会将其完善。4.3 设计心得这次课程设计使我感到收获不小,使我对数据库的设计过程有了更深的了解,促进了对理论知识的消化与吸收,也巩固和完善了本门课程的知识体系结构。除此之外,对delphi语言的语法结构也有了更熟练的应用。设计过程中遇到了不少的麻烦,在调试过程中也出现了一些平时学习过程中,没有遇到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论