ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:328.80KB ,
资源ID:9263695      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9263695.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计网上购物系统初稿.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计网上购物系统初稿.docx

1、数据库设计网上购物系统初稿数据库系统概论课程设计网上购物系统的数据库设计2012/6/14一、需求分析1.1功能需求及数据需求分析1.1.1用户管理 用户:只允许浏览商品信息,可以注册为普通用户 会员:拥有浏览商品和购买商品的权限,其属性包括客户号(唯一)、客户名、E-Mail、密码、姓名、性别、邮政编码、地址(一个客户可有几个地址)、客户所属VIP级别、折扣优惠。 1.1.2商品管理商品的增加。其中的属性包含商品号(唯一)、商品分类、生产厂商、每个厂商的实际存货量、规定的最低存货量和商品其它描述商品的查询,在只要输入商品的任一属性即可1.1.3商品订购管理注册用户即会员注册后可以将相关商品放

2、入购物车,最后购物结束之后形成生成订单,其中每个订单属性包含订单号、客户号、收货地址、订单日期、订单金额、订单明细(每个订单都有几个明细)内容为商品号、单价、订货数量。1.1.4配送单管理默认属性为客户注册时的基本信息,当然配送地址可由客户修改为合适的收货地址,支付方式也可根据提示由客户自定。1.1.5评论管理客户可以给商品发表评论,相关属性为评论号、客户号、商品号、客户邮箱、评论内容、评论时间。1.2业务规则分析1、所用用户都有权限浏览商品信息,但只有注册用户才能订购商品2、每位注册用户的编号都是唯一的。3、当普通客户总的订单金额达到10000元,即可升级为VIP客户。VIP客户一般分为三个

3、等级,对他们的优惠策略是在普通客户的价格上同时享有折扣优惠。其中。三级会员,订单金额在10000,15000)元,享受折扣9折;二级会员,订单金额在15000,25000)元,享受折扣8.5折;一级会员,订单金额在25000及以上,享受折扣7.5折。4、每次商品的订单号都是唯一的。5、客户可以在前台页面查看订单状态,订单状态可以是“0”或“1”,“1”表示订单上的商品已发出, “0”表示订单上的商品未发出。订单的生成需用户确定之后才能生效。1.3业务需求及处理流程 网上购物系统主要业务包括:商品信息的发布与查询,商品的订购,处理订单,商品的配送。系统处理流程:系统流程图二、 概念结构设计2.1

4、各子系统的局部E-R如下:图2.1.1:客户实体图2.1.2:VIP客户图2.1.3:商品实体图2.1.4:生产厂商实体图2.1.5:商品分类图2.1.6:地址实体图2.1.7:订单明细图2.1.8:发票图2.1.9:供应关系图2.1.10:商品分类关系图2.1.11:客户评论关系2.2视图的集成三、 逻辑结构设计3.1 E-R图向关系模型的转换由于概念设计的结果是ER图,DBMS一般采用关系模型,因此数据库的逻辑设计过程就是把E-R图转化为关系模式的过程。将该网上购物系统的总体概念结构E-R图转换为关系模型:客户(客户号、密码、姓名、性别、单位、电子信箱、身份证号)VIP会员表(会员等级、会

5、员折扣)商品(商品号、商品名称、类别号、商品描述、单位、规格、单价)生产厂商表(厂商号,生产厂商名、地址、电话 )地址(地址号、地址名称)订单(订单号、客户号、商品号、收货地址、订货日期、订货数量、单价、订单金额、发货日期、订单状态)发票(发票号码、订单号)供应(商品号、厂商号)商品分类(商品类别号、类别名称)客户类型(客户号、客户类型)评论(评论号、客户号、商品号、客户邮箱、评论内容、评论时间)客户地址表(客户号、客户地址)3.2数据模型的优化数据模数据模型的优化是为了提高数据库应用系统的性能,根据应用需要适当地修改、调整关系模式。将转化的关系模式进行优化,最终达到第三范式。由以上关系可看出

6、,这个关系模型都已经达到第三范式,所以不需要进行优化。型的优化数据库的结构1. 创建客户表字段信息: 客户号 customerNo 密码 password 姓名 customerName 类型号 typeNo 性别 sex 单位 company 电子信箱 email 身份证号 ID VIP等级 VIPCreate table customer( customerNo char(12) primany key, password varchar(18) Not Null, customerName varchar(12) Not Null, typeNo char(8) Not Null, se

7、x char(1) Check(sex In(M,F) company varchar(20) Not Null, email varchar(50) Not Null, ID varchar(18) Not Null, VIP char(1) )2. 创建VIP会员表字段信息: 会员等级 VIP 会员折扣 discountCreate table VIP( VIP char(1) primany key, Discount float Not Null,)3. 创建商品表字段信息: 商品号 productNo 商品名称 productName 类别号 typeNo 商品描述 describe

8、 单位 uints 规格 standard 单价 priceCreate table product( ProductNo char(12) primany key, ProductName varchar(18) Not Null, typeNo char(12) Not Null, describe varchar(50) Not Null, units varchar(20) Not Null, standard char(8) Not Null, price numeric Not Null,)4. 创建生产厂商表字段信息: 厂商号 producerNo 厂商名 producerNam

9、e 地址 address 电话 telephoneCreate table producer( producerNo char(12) primany key, producerName varchar(18) Not Null, address varchar(50) Not Null, telephone varchar(12) Not Null)5. 创建商品类别表字段信息: 类别号 protypeNo 类别名称 protypeNameCreate table protype( protypeNo char(12) primany key, protypeName varchar(18)

10、 Not Null)6. 创建地址表字段信息: 地址号 addressNo 地址名称 addressNameCreate table address(addressNo char(12) primary key,address varchar(20) Not Null,)7. 创建订单明细表字段信息: 订单号 orderNo 客户号 customerNo 商品号 productNo 收货地址 address 订货日期 orderdate 订货数量 quantity 单价 price 发票号码 billNo 订单金额 ordersum 发货日期 Fhdate 订单状态 orderstateCre

11、ate table order( orderNo char(12) primany key, customerNo char(12) Not Null, productNo char(12) Not Null, address varchar(20) Not Null, orderdate datetime Not Null, quantity char(4) Not Null, price numeric Not Null, billNo varchar(12) primany key, Fhdate datetime Not Null, Orderstate char(8) Check(o

12、rderstate IN(0,1),foreign key(customerNo) references customer(customerNo)foreign key(productNo) references product(productNo)8. 创建发票表字段信息: 发票号码 billNo 订单号 orderNoCreate table bill( billNo char(12) primany key, orderNo char(12) NOT NULL)foreign key(orderNo) references product(orderNoNo) )9. 创建供应表字段信息

13、: 商品号 productNo 厂商号 producerNoCreate table support( productNo char(12) primany key, producerNo char(12) primany key,foreign key(producerNo) references producer(producerNo),foreign key(productNo) references product(productNo) )10. 创建客户类型表:字段信息: 客户号 customerNo 客户类型 typeCreate table type( CustomerNo ch

14、ar(12) primany key, Type varchar(18) Not Null)11. 创建评论表字段信息: 评论号 reviewNo 客户号 customerNo 商品号 productNo 客户邮箱 email 评论内容 reviewContent 评论时间 reviewdateCreate table review( reviewNo char(12) primany key, customerNo char(12) Not Null, produtNo char(12) Not Null, email varchar(50) Not Null, reviewContent

15、varchar(100) Not Null, reviewdate datetime Not Null, foreign key(customerNo) references customer(customerNo), foreign key(productNo) references product(productNo) 12. 创建客户地址表字段信息: 客户号 customerNo 客户地址 cusaddressCreate table cusaddress( customerNo char(12) primany key, cusaddress varchar(100) Not Null

16、) 12 创建客户消费情况表字段信息 客户号 customerNo 消费金额 moneycreate table cost(customerNo varchar2(20 primary key),money number not null)这里我们保证了实体完整性,参照完整性和用户自定义完整性。在各个基本表的定义中,我们使主码值均不为空,表orderitem中ORDER_ID取值为表myorder中的主码值,而且我们还进行了用户自定义的完整性约束,使表中某些值取值不为空。四、数据库的实施4.1数据库的载入4.1.1创建数据库shoponlinecreatedatabase shoponline

17、on(Name=shoponline, Filename=f:SQLshoponline.mdf, Size=2, Maxsize=20, Filegrowth=1)Log on (name=shoponlinelog, Filename=f;SQLshoponlinelog.ldf, Size=2, Maxsize=5, Filegrowth=1)4.1.2表的建立与数据的载入 需要明确数据库需要建立几张表,以及每个表中所要包括的属性。在建立表的过程中。要对每个表进行字段属性的设置。(创建表过程见三、数据库的逻辑设计)4.1.3触发器的设计在修改商品价格的时候,新的商品价格不能超过原来价格的

18、2倍,否则修改不成功,依此设计一个触发器。触发器设计如下:/*创建触发器T1,实现注册客户VIP自动升级*/Create Trigger T1 ON customerFor updateAs IF Update(ordersum)Begin Declare price As numeric Select price=ordersum From inserted If price=30000 Update customer set VIP=4 Else If price=20000 Update customer set VIP=3 Else If price=10000 Update cust

19、omer set VIP=2 Else If price=0 Update customer set VIP=1 End/*创建一个触发器,只允许注册会员在网上提交订单*/Create Trigger T2 on orderFor insertAs If Not Exists (select * From inserted Where customerNo in(select customer.customerNo from customer) Begin Raiserror(提交订单前请先注册!,16,1) Rollback Transaction End/*创建一个触发器T3,统计订单金额

20、*/*创建一个更新触发器,及时更新订单*/Create Trigger updatesaleitem On order For Update As If Update (quantity) Or Update (price) Begin Declare orderNo int,productNo char(12) Declare cur_order Cursor For Select orderNo,productNo From Deleted Open cur_order Begin Transaction Fetch cur_order into orderNo,productNo Whi

21、le (fetch_status=0) Begin Update order Set ordersum=ordersum-D.quantity*D.price+I.quantity*I.price From inserted I,deleted D Where order.orderNo=I.orderNo And I.orderNo=D.orderNo And order.orderNo=orderNo And I.productNo=D.productNo And I.productNo=productNo Fetch cur_order into orderNo,productNo En

22、dCommit teanClose cur_orderDeallocate cur_orderEnd 4.2数据库的运行附录:源程序IF Not exists (select * from syslogins where name=u1) Exec sp_addlogin u1,u1GoIF Not exists (select * from sysdatabases where name=shoponline) Drop database shoponlineGocreatedatabase shoponlineon(Name=shoponline, Filename=f:SQLshopon

23、line.mdf, Size=2, Maxsize=20, Filegrowth=1)Log on (name=shoponlinelog, Filename=f;SQLshoponlinelog.ldf, Size=2, Maxsize=5, Filegrowth=1)Use shoponlineGoExec sp_addlogin u1,u1GoCreate table customer( customerNo char(12) primany key, password varchar(18) Not Null, customerName varchar(12) Not Null, ty

24、peNo char(8) Not Null, sex char(1) Check(sex In(M,F) company varchar(20) Not Null, email varchar(50) Not Null, ID varchar(18) Not Null, VIP char(1) )Create table VIP( VIP char(1) primany key, Discount float Not Null,)Create table product( ProductNo char(12) primany key, ProductName varchar(18) Not N

25、ull, typeNo char(12) Not Null, describe varchar(50) Not Null, units varchar(20) Not Null, standard char(8) Not Null, price numeric Not Null,)Create table producer( producerNo char(12) primany key, producerName varchar(18) Not Null, address varchar(50) Not Null, telephone varchar(12) Not Null)Create

26、table protype( protypeNo char(12) primany key, protypeName varchar(18) Not Null)Creste table address(addressNo char(12) primany key,address varchar(20) Not Null,)Create table order( orderNo char(12) primany key, customerNo char(12) Not Null, productNo char(12) Not Null, address varchar(20) Not Null,

27、 orderdate datetime Not Null, quantity char(4) Not Null, price numeric Not Null, billNo varchar(12) primany key, Fhdate datetime Not Null, Orderstate char(8) Check(orderstate IN(0,1),foreign key(customerNo) references customer(customerNo)foreign key(productNo) references product(productNo)Create tab

28、le bill( billNo char(12) primany key, orderNo char(12) primany key,foreign key(orderNo) references product(orderNoNo) )Create table support( productNo char(12) primany key, producerNo char(12) primany key,foreign key(producerNo) references producer(producerNo),foreign key(productNo) references product(productNo) )Create table type( CustomerNo char(12) primany key, Type varchar(18) Not Null)Create table review( reviewNo char(12) primany key, customerNo char(12) Not Null, produtNo char(12) Not Null, emai

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1