实验7数据库设计Word文档格式.docx

上传人:b****4 文档编号:6497092 上传时间:2023-05-06 格式:DOCX 页数:20 大小:151.86KB
下载 相关 举报
实验7数据库设计Word文档格式.docx_第1页
第1页 / 共20页
实验7数据库设计Word文档格式.docx_第2页
第2页 / 共20页
实验7数据库设计Word文档格式.docx_第3页
第3页 / 共20页
实验7数据库设计Word文档格式.docx_第4页
第4页 / 共20页
实验7数据库设计Word文档格式.docx_第5页
第5页 / 共20页
实验7数据库设计Word文档格式.docx_第6页
第6页 / 共20页
实验7数据库设计Word文档格式.docx_第7页
第7页 / 共20页
实验7数据库设计Word文档格式.docx_第8页
第8页 / 共20页
实验7数据库设计Word文档格式.docx_第9页
第9页 / 共20页
实验7数据库设计Word文档格式.docx_第10页
第10页 / 共20页
实验7数据库设计Word文档格式.docx_第11页
第11页 / 共20页
实验7数据库设计Word文档格式.docx_第12页
第12页 / 共20页
实验7数据库设计Word文档格式.docx_第13页
第13页 / 共20页
实验7数据库设计Word文档格式.docx_第14页
第14页 / 共20页
实验7数据库设计Word文档格式.docx_第15页
第15页 / 共20页
实验7数据库设计Word文档格式.docx_第16页
第16页 / 共20页
实验7数据库设计Word文档格式.docx_第17页
第17页 / 共20页
实验7数据库设计Word文档格式.docx_第18页
第18页 / 共20页
实验7数据库设计Word文档格式.docx_第19页
第19页 / 共20页
实验7数据库设计Word文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验7数据库设计Word文档格式.docx

《实验7数据库设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验7数据库设计Word文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

实验7数据库设计Word文档格式.docx

②客户信息的维护;

③订单的确认和删除。

(3)读者可以查询图书的基本信息,可以维护自己的信息,可以进行网上订书,可以查询订单处理的情况。

2.2数据需求

系统共有七个实体:

客户、管理员、图书类型、图书、订单、详细订单、图书评价。

(1)会员的属性:

自动编号CustomerId、客户名、客户密码、真实姓名、性别、客户电话、E-mail、地址、注册时间

(2)管理员的属性:

自动编号AdminId、管理员名称、管理员邮箱、密码

(3)图书类型的属性:

自动编号BookTypeId、类别名称

(4)图书的属性:

自动编号BookId、图书名称、图书类型、出版社、出版日期、图书作者、图书定价、图书简介、图书库存量、图书成交量

(5)订单的属性:

自动编号OrderId、客户编号、下单日期、总订购数量、送货方式、支付方式、收货人姓名、收货地址、收货人联系方式、总卖出价

(6)详细订单属性:

自动编号Id、详细订单OrderDetailId、订单号OrderId、图书编号、订购数量、发货状态、收货状态、卖出总价

(7)图书评价的属性:

自动编号CommentId、图书编号、评论客户编号、评论客户名、评论时间、评论内容、审核标志

详细订单是针对每个商品进行下单,通过详细订单不仅可以产看商品信息而且可以看出每个商品的收发货状态,订单包括多个详细订单

此外,由以往的购物经验可知,一般买书的时候都会有一个临时购物车,客户可以把自己想买的书本放入购物车,但是购物车中的商品只是放入了购物车还没有下单

(8)临时购物车:

客户编号、图书编号、订购数量、总价,是否付款

实体间的联系:

通过以上分析可知,实体之间的联系有:

客户与客户评论之间是一对多关系(1:

n)

书籍类别与书籍之间是一对多关系(1:

用户与订单之间是一对多关系(1:

订单与详细订单之间是一对多关系(1:

客户与订单之间是一对多关系(1:

三、E-R图

3.1实体图

图3-1图书类别信息

图3-2管理员信息

图3-3图书信息

图3-4客户信息

图3-5购物车临时订购信息

图3-6订单信息

图3-7订单详细信息

图3-8图书评论信息

3.2实体关系E-R图

图3-9网上书店顶层E-R图

四、 

逻辑结构

4.1 

逻辑转换

根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为8个关系,详细信息如下所示:

客户(会员)(客户编号,客户名,客户密码,真实姓名,性别,客户电话,E-mail,地址,注册时间)

管理员(管理员编号,管理员名称,管理员邮箱,密码)

图书类型(图书类型编号,类别名称)

图书(图书编号,图书名称,图书类型,出版社,出版日期,图书作者,图书定价,图书简介,图书库存量,图书成交量)

购物车零时订购信息(客户编号,图书编号,订购数量,总价,是否付款)

订单(订单号,客户编号,下单日期,总订购数量,送货方式,支付方式,收货人姓名,收货地址,收货人联系方式,总卖出价)

详细订单(详细订单编号,订单号,图书编号,订购数量,发货状态,收货状态,卖出总价)

图书评价(图书评价编号,图书编号,评论客户编号,评论客户名,评论时间、评论内容,审核标志)

4.2 

细化表结构

为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:

(1) 

客户信息表tb_customerinfo

列名

说明

数据类型

约束

CustomerId

客户编号

int

主码(自增字段)

CustomerName

客户名称

varchar(20)

主码notnull

CustomerPwd

客户密码

notnull

Customertruename

真实姓名

CustomerSex

性别

varchar

(2)

notnull,取“男”或“女”

CustomerTel

客户电话

CustomerEmail

E-mail

CustomerAddr

地址

CustomerRegTime

注册时间

datetime

表1客户信息表

(2) 

图书类型信息表tb_booktypeinfo

BookTypeId

图书类型编号

BookTypeName

类别名称

varchar(50)

表2图书类型信息表

(3) 

图书信息表tb_bookinfo

BookId

图书编号

图书类型

notnull,引用tb_booktypeinfo的外码

BookName

图书名

BookPress

出版社

BookPubDate

出版日期

BookAuthor

图书作者

varchar(10)

BookPrice

图书定价

money

BookOutline

图书简介

varchar(200)

BookDealmount

成交量

BookStoremount

图书库存量

表3图书信息表

(4) 

管理员信息表tb_manager

AdminId

管理员编号

AdminName

管理员名称

notnull

AdminPwd

密码

表4管理员信息表

(5) 

购物车临时订购信息tb_shopbook

主码,引用tb_bookinfo的外码

ordermount

订购数量

price

总价

ispay

是否付款

notnull,默认为未付款,取“未付款”或“已付款”

表5购物车临时订购信息表

(6) 

订单信息表tb_order

OrderId

订单编号

主码

notnull,引用tb_customerinfo的外码

Orderdate

下单日期

Ordermount

总订购数量

postmethod

送货方式

varchar(100)

paymethod

支付方式

recevername

收货人姓名

receveraddr

收货地址

recevertel

收货人电话号码

totalprice

总卖出价

表6订单信息表

(7) 

订单详细信息表tb_orderdetail

OrderDetailId

详细订单编号

订单号

notnull,引用tb_order的外码

poststatus

发货状态

notnull,默认为未发货,取“未发货”或“已发货”

Recevstatus

收货状态

notnull,默认为未收货,取“未收货”或“已收货”

sigletotalprice

卖出总价

表7订单详细信息表

(8) 

图书评价信息表tb_comment

CommentId

图书评价编号

notnull,引用tb_bookinfo的外码

评论客户编号

Customername

评论客户名

Commentdate

评论时间

Commentcontent

评论内容

Commentflag

审核标志

表8图书评价信息表

五、 

数据库实施

本章节主要包含创建表、添加数据和创建必要的触发器、存储过程等内容。

5.1创建约束条件

外键关联关系:

(1)为图书信息表添加图书分类表的外键关联关系

altertabletb_bookinfo

addconstraintFK_TB_BOOKI_REFERENCE_TB_BOOKTforeignkey(BookTypeId)referencestb_booktypeinfo(BookTypeId)

()为图书评论表添加图书表的外键关联关系

altertabletb_comment

addconstraintFK_TB_COMME_REFERENCE_TB_BOOKIforeignkey(BookId)

referencestb_bookinfo(BookId)

()为图书评论表添加客户表的外键关联关系

addconstraintFK_TB_COMME_REFERENCE_TB_CUSTOforeignkey(CustomerId)

referencestb_customerinfo(CustomerId)

()为订单表添加用户的外键关联关系

altertabletb_order

addconstraintFK_TB_ORDER_REFERENCE_TB_CUSTOforeignkey(CustomerId)

()为详细订单表添加订单的外键关联关系

altertabletb_orderdetail

addconstraintFK_TB_ORDER_REFERENCE_TB_ORDERforeignkey(OrderId)

referencestb_order(OrderId)

()添加详细订单表与书本指尖的外键关联关系

addconstraintFK_TB_ORDER_REFERENCE_TB_BOOKIforeignkey(BookId)

()购物车与书本制作间的外键关联关系

altertabletb_shopbook

addconstraintFK_TB_SHOPB_REFERENCE_TB_BOOKIforeignkey(BookId)

()购物车与用户的外键关系

addconstraintFK_TB_SHOPB_REFERENCE_TB_CUSTOforeignkey(CustomerId)referencestb_customerinfo(CustomerId)

createtabletb_reply(

ReplyIdintnotnull,

CustomerIdintnotnull,

ReplyTypevarchar(20)notnull,

Replytitlevarchar(20)notnull,

Replycontentvarchar(100)notnull,

Customernamevarchar(20)notnull,

Commentdatedatetimenotnull,

CustomerIPvarchar(10)notnull,

constraintPK_TB_REPLYprimarykey(ReplyId)

5.2添加数据(注意添加的先后次序)

对于存在外键关联关系的表,注意添加数据的时候要先添加被关联的表的信息

5.3创建视图(需要经常进行的操作)

1定义一个视图查看根据客户的姓名查询其购物车的信息

createviewshopping_car

as

selectCustomerName,BookName,ordermount,pricefromtb_shopbook,tb_customerinfo

wheretb_bookinfo.BookId=tb_shopbook.BookIdand

tb_shopbook.CustomerId=tb_customerinfo.CustomerId

2定义一个视图客户可以根据其姓名查询所买到的图书的详细信息

createviewbook_info

selectCustomerName,BookName,BookTypeId,BookPress,BookPubDate,BookAuthor,BookPrice,BookOutlinefromtb_bookinfo,tb_customerinfo

wheretb_customerinfo.CustomerId=tb_orderdetail.CustomerIdand

BookId=(selectBookIdfromtb_orderdetailwhereRecevstatus='

已收货'

)insertintotb_manager(AdminName,AdminPwd,AdminFlag)values(’admin’,’admin’,1)

insertintotb_customerinfot(CustomerName,CustomerPwd,Customertruename,CustomerSex,CustomerTel,CustomerEmail,CustomerAddr,CustomerRegTime,CustomerQues,CustomerAnswer,CustomerLogTime,CustomerLastLogT)values(‘toy’,’toy’,’李明’,’男’,’1231628368’,’a122390@’,’常熟理工’,’1’,’’,’’,’2010-12-2211:

00:

11:

111’,’2010-12-2211:

111’)

insertintotb_booktypeinfo(BookTypeName)values(’科技类’)

insertintotb_bookinfovalues(‘’,’1’,’php编程宝典’,’清华大学出版社’,’2010-2-1’,’16k’,’第二版’,’云峰’,’’,’978-7-900-2131-8’,’56.00’,’100’,’合法哈客户卡的合法’,’发的发’,’发的发’,’57.00’,’56.50’,’12’,’34’,’0.87’,’C:

//1.jpg’,’90’,’2010-1-11:

1:

111’,’精品包装’)

insertintotb_ordervalues(‘’,’20101202001’,’1’,’2010-12-2212:

111’,’2’,’’,’申通快递’,’建行’,’’,’李明’,’常熟理工’,’12313212323’,’’,’180’)

insertintotb_orderdetailvalues(‘’,’2010120200101’,’20101202001’,’1’,’2’,’’,’’,’云峰’,’’,’180’)

insertintotb_parametervalues(‘风云网上书店’,’热熔器额外人’,’的发爱的’,’南京十字路口’,’331231’,’080-21312’,’@copyrightljfl’,C:

//logo.jpg’,’’,’建行、工行’,’发的发放’,’合法哈客户卡的合法’,’发的发’,’发的发’,’7.00’,’8:

00-12:

00’,’f得法’,’发的说法’,’0.87’,’的法定’)

5.4 

创建必要触发器

定义一个触发器,其基本功能是在tb_bookinfo表中修改库存数量时,检查数量是否小于0,如果是提示库存不足,库存为空。

其具体代码如下所示:

createtriggertrig1

ontb_bookinfo

forupdate

as

ifupdate(BookStoremount)

begin

declare@mountint

select@mount=BookStoremountfrominserted

if(@mount<

0)

begin

print'

库存不足,库存为空'

rollback

end

end

定义一个触发器,其基本功能是在填写订单和详细订单的时候相应的总价被计算处理填入相应的位置。

createtriggertrig2

ontb_orderdetail

forinsert,update

declare@mountint,@pricemoney,@siglepricemoney,@totalpricemoney

set@mount=(selectordermountfrominserted)

set@totalprice=(selecttotalpricefromtb_order,insertedwheretb_order.orderid=inserted.orderid)

set@price=(selectbookpricefromtb_bookinfo,insertedwheretb_bookinfo.bookid=inserted.bookid)

set@sigleprice=@mount*@price

updatetb_orderdetailsetsigletotalprice=@siglepricewhereorderdetailid=(selectorderdetailidfrominserted)

updatetb_ordersettotalprice=(@totalprice+@sigleprice)whereorderid=(selectorderidfrominserted)

createtriggertrig2

ontb_orderdetail

forinsert,update

begin

declare@mountint,@pricemoney,@siglepricemoney,@totalpricemoney

set@mount=(selectordermountfrominserted)

set@totalprice=(selecttotalpricefromtb_order,insertedwheretb_order.orderid=inserted.orderid)

set@price=(selectbookpricefromtb_bookinfo,insertedwheretb_book

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2