数据库课程设计网上购物

  • 格式:docx
  • 大小:488.49 KB
  • 文档页数:20

第一章引言

1.1设计目的

通过课程设计,提供一次实践的机会,以巩固和加深对数据库基础理 论和基本知识的理解;掌握课本中介绍的使用数据库进行软件设计的基本 思想和方法;从而提高运用数据库理论解决实际问题的能力和培养调查研 究、查阅技术文献、资料、手册以及编写技术文献的能力。

1.2设计要求

根据课本理论知识,较为合理的设计与实现网上购物系统。设计独立 完成课程设计中各任务的设计和调试要求,按课程设计报告的撰写规范完 成数据库系统课程设计报告。

1.3设计环境

前台:

1、 硬件要求:

CPU: Pentium 4 2.0GHz 以上 IBM兼容机

内存:256MB以上容量

显卡:32MB或以上显存之 AGP接口显卡

2、 软件要求:

操作系统:Microsoft Win dows 2000/XP

开发工具:Delphi 7.0

数据库服务器:

1、 硬件要求:

CPU: Pentium4 1.8GHz 以上 IBM兼容机

内存:512MB以上容量

显卡:32MB或以上显存之 AGP接口显卡

2、 软件要求:

操作系统:Microsoft Win dows 2000 Server 数据库服务器:Microsoft SQL 2000 Server

网络设备:

2 块网卡:客户机 D-Link DFE-650TX,服务器 Intel PCLA8460B。 路由器:一台SOHO&由器TL-R402M

1.4网络拓扑结构

本设计采用客户机/服务器(C/S)体系,数据的储存管理功能较为 透明性,可以合理均衡事务的处理,充分保证数据的完整性和一致性。

客户机 匕 日数据库服务器

图1.4.1 C/S 模式结构

第二章理论设计与分析

2.1需求分析

通过调查网上购物系统的业务流程及主要实现功能情况来了解本系 统的概况。

(1) 顾客可通过网络查看到所销售的所有物品的具体信息,如物品

名,价格等,或购买时可直接通过网络填写订单并提交;

(2) 由于网上购物,地理位置的限制,所以顾客通过信用卡来支付;

(3) 顾客可以查到相关的货物信息,但是不能查到各用户的相关信 息,更不能查到用户的信用卡等重要信息

(4) 查询应显示所有店主所卖的物品,即使库存量为零;

(5) 为了保证网上交易的安全性,顾客必需先通过网络注册用户名, 然后通过用户名登录后才可以使用网站,包括信息查询,购买 货物等;

(6) 顾客注册后管理员可查询顾客的详细信息;

(7) 对每一个客户的购买情况,一次性发出显示所有货物订单;

(8) 一个顾客如果在短时间内(系统规定)对同一种货物多次购买 并提交不同数量的订单时,要将第一次的订单作为联系,其它 订单均用来更新第一个订单的数量;

(9) 将用户联系到不同的货物上来实现短时间内,顾客提交不同货 物的订单;

(10) 顾客可在一个订单中填写对不同货物的购买情况,顾客也可以 提交多份不同的订单,并且用户可以很好的来区分这些不同的 订单;

2.2功能模块设计 2.3分析设计过程

为了满足需求分析的具体要求,初步实义三个实体:货物,顾客,订 单。初步的E-R图为订单联系两者。但是考虑到需求分析中(10),所以 应将订单表中引入属性订单号,它唯一的标识订单,并且顾客可据此提交 订单。

考虑到一笔订单中可以购买若干货物,需要订单号和货物号一起来确定订 单表表中的货物的定购数量)和货物的发货日期。

通过以上的分析和修改,可基本上满足了需求分析的具本要求。还需 要对形成的关系模式进行分析,考虑其规范化程度,可能出现的冗余、插 入删除异常等,用规范化理论进行进一步的改进。

货物关系模式中只有一个码货物号,而且所有属性都是依赖于货物号 的,因此此关系模式属于BCNF

顾客关系模式中只有一个码顾客号,而且且在该表上没有其他函数依 赖,因此此关关系模式也属于 BCNF

订单关系模式中,定义(订单号,货物号)为码。但是,因为某个订 单由某一顾客在一时间内用一个信用卡号定下的,所以在订单表中还有以 下函数依赖:

订单号一客户号; 订单号一订购日期;订单号一信用卡号

所以订单关关系模式不是2NF (存在非主属性对码的部分函数依赖。)

因此将该模式分解为以下两个关系模式可解决此问题:

顾客订单(订单号,顾客号,信用卡号,订购日期)

货物订单(订单号,货物号,发货数量,发货日期)

这2个关系模式都是BCNF

2.4 概念结构设计

2.4.1 实体列表

实 体 描 述

顾 客 顾客姓名,性别, 年龄,出生地等并由顾客号标识

货 物 货物名称,价格, 库存量,产地等并由货物号标识

顾客订单 顾客号,信用卡号,订购日期,并由订单号标识

货物订单 发货数量,发货日期等属性,由订单号,货物号标识

系统管理员 系统维护人员242系统的E-R模型

2.5系统结构设计

2.5.1逻辑结构设计

(2)将E-R转化成的关系模型如下:(设计过程分析见2.3) 货物订单(gorder )关系模式:

列名 数据类型 |长度]允许空

or demo nvar CHAT 50

itvarchar 50

Or dear ajfhiOilxlt. i nt 4

fdat e dat et.! m e 3 (1)设计过程 产 顾客地址

顾客姓名 货物名称 生产时间 顾客性别

顾客号 货物号

顾客 顾客年龄 货物

顾客电话

发货日期

货物订单 顾客订单

订购数量

订购日期

订购日期 卡号 价格

订单 数量 货物(goods)关系模式:

列名 数据类型 丨长,度I 允许空|

goo dsixo nvar char 50

goo dsnanie nv^rch^r so

amount i nt 4

pr i c e real 4

pro due e cKar 10

pr o time ch^r 10

顾客(customer)关系模式:

列名 I 数捋垂型 I:匡度丨允许空 |

►5? custom emo iw air uh ar 50

custom char 80

aixstom er a»d.d clifijr 200

GUS tom eir t el 亡 hgx- IO

ciistom er s ex clxsLir 10

custom erold IO

顾客订单(corder)关系模式:

or- demo mrair cKair 50

cus tomerno nvaruhar 50

kaxio uhsjr 16

oir d^.t e< i me 6

2.5.2物理结构设计

(一) 对于货物(goods)表:

1 )为了实现大部分顾客能够在购买货物之前通过货物号进行查询, 因此,为了更有效的通过货物号进行查询,可以在货物号上建立一个非聚 簇的哈希索引。

2)顾客还有可能通过货物名称进行查询,因此在货物名称上也建立 非聚簇的哈希索引。

(二) 对于顾客(customer)表:

1)主码是客户编号cid,最常用的查询就是根据cid进行查询,因此 可以在cid上建立聚簇哈希索引。

(三) 对于货物订单(gorder )表

1)考虑到大部分是插入操作,很少对发货日期的修改以及查询某个 特定订单的所有项目。所以可以在订购数量上建立哈希索引或 B+树索引。

2.6数据库的保护

2.6.1数据库安全性

为加强本数据库系统的安全性,只有通过网上注册了本系统的用户才 可以实现对相关信息的数据查询。每个申请的顾客信息都将存储在数据库 的顾客表(customer)中,当用户输入用户名进行登录时,系统将该用户 名和顾客表中的用户名进行核对,只有核对成功后才可以登录系统。

顾客的权限只能订货或查询货物信息。通过建立视图来限制用户的权 限,以增强数据的安全性。而系统管理员可对数据库中的信息进行添加, 删除,修改等操作。对关键数据的修改等操作建立审计( Audit )机制,

以确保数据的合法操作。

2.6.2数据库完整性

数据库各表中保证主码值的唯一且主码的各属性不为空以保证了实 体的完整性。各表之间属性的外码关系,当对被参照表和参照表进行增删 改操作时,有可能破坏参照完整性,因此每一个相应的操作都进行检查, 并设置违约处理策略为:拒绝执行(NO ACTIO)除此之外,对每个表上 的属性约束条件进行了相应的限制,对属性值是否可为空,以及性别只能 为男或女等。通过上面这些措施确保了数据库的完整性。

2.6.3数据库恢复

计算机系统中硬件的故障,软件的错误,操作员的失误以及恶意的破 坏仍是不可避免的,这些故障轻则造成运行事务非正常中断,影响数据库 中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因 此必需建立并健全数据库恢复技术。为此,本数据库系统将通过对数据进 行转储和登记日志文件来避免损失。对事务故障进行 UNDO及系统故障进

行REDO UNDOh理来对数据库数据进行恢复。

2.6.4并发控制

数据是共享资源,可能供多个用户使用。多用户数据库系统,同一时 刻并发运行的事务数可达数百个,很容易出现丢失修改,不可重复读,读 赃数据等情况,可通过对事务的封锁来实现并发控制。 第三章详细设计

3.1设计数据库

3.1.1创建数据库

(1)打开SQL SERVER 2000服务管理器,企业管理器;