网上超市购物车数据库设计.docx
- 文档编号:11560719
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:14
- 大小:702.89KB
网上超市购物车数据库设计.docx
《网上超市购物车数据库设计.docx》由会员分享,可在线阅读,更多相关《网上超市购物车数据库设计.docx(14页珍藏版)》请在冰豆网上搜索。
网上超市购物车数据库设计
网上超市购物车系统
数据库设计说明书
拟制人
审核人___________
批准人______________________
数据库设计说明书
1.引言
1.1编写目的
自Internet出现以来,大量的信息通过它迅速传播,突破了原有的通信方式。
在网上,不仅可以迅速找到任何方面的相关内容,而且信息的传递也较以前快了许多。
2000年,全世界已拥有近10亿因特网用户,有一亿多台计算机互联,可以交换数据的网络超过了100万个,每年在网络上的交易次数超过10亿次。
电子商务正是由于这种信息的快速流动和资源的大量集成而悄然崛起,并以惊人的速度发展着。
提供高效的内容丰富的Web商业服务是一项连续不断的任务,并不是做好了几个网页放在那里就可以了。
所以,设计了这个网上超市购物车系统,以对电子商务有进一步的认识。
1.2背景
a.待开发软件系统的名称:
网上超市购物车系统
b.本项目的任务提出者:
石河子大学
c.本项目开发者:
严凤,丛莉莉
d.本项目用户:
网上购物人群
1.3参考资料
《软件开发这点儿事——软件开发工具手册》邵志东著
《程序员指南丛书ASP.NET高级编程》但正刚著
《ASP.NET网络应用系统开发与实例》吴明晖主编吴丹红编著
2.外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQLServer2000,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。
3.结构设计
3.1概念结构设计
本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,
商城首页:
热门商品:
购物清单:
3.2逻辑结构设计:
3.3关系图
3.3物理结构设计
Customers用户表:
列名
说明
类型(长度)
备注
ID
顾客id
Int
不允许空,主键
Name
顾客名称
Varchar(50)
不允许空
Password
登录密码
Varchar(50)
不允许空
Phone
家庭电话
Varchar(50)
允许空
Fax
传真号码
Varchar(50)
允许空
MobilePhone
移动电话
Varchar(50)
允许空
邮件地址
Varchar(50)
允许空
Address
详细地址
Varchar(50)
允许空
Postcode
邮政编码
Char(6)
允许空
QQ号
Varchar(50)
允许空
MSN
MSN号
Varchar(50)
允许空
Categories商品分类表:
列名
说明
类型
备注
ID
商品类型id
Int(4.)
不允许空,主键
Name
商品类型名称
Varchar(50)
不允许空
Memo
商品类型描述
Varchar(255)
允许空
Products商品表:
列名
说明
类型
备注
ProductID
商品ID
Int
不允许为空
CategoryID
分类ID
Int
不允许为空
ModelNumber
商品编号
Varchar(50)
允许为空
ModelName
商品名称
Varchar(255)
允许为空
ProductImage
商品图片文件名
Varchar(50)
允许为空
UnitCost
单价
Money
不允许为空
Discount
折扣
Money
不允许为空
Description
描述
Varchar(2000)
允许为空
DateTimed
上架时间
Smalldatetime
不允许为空
Clicks
点击量
Int
不允许为空
Sales
销售量
Int
不允许为空
Commend
是否推荐
Bit
不允许为空
Orders订单表
列名
订单ID
类型
备注
ID
订单ID
Int
不允许为空
Memo
备注
Varchar(2000)
允许为空
OrderDate
下订单时间
Smalldatetime
不允许为空
CustomerID
用户ID
Int
不允许为空
ShipDate
发货时间
Smalldatetime
不允许为空
HasSend
是否送货
Bit
不允许为空
HasReceive
顾客是否收到
Bit
不允许为空
Payway
付款方式
Varchar(50)
允许为空
Carryway
送货方式
Varchar(50)
允许为空
ReceiveAddress
收货地址
Varchar(2000)
允许为空
OrderDetails订单详情表:
列名
说明
类型
备注
ID
ID
Int(4)
不允许空,主键
OrderID
订单ID
Int(4)
不允许空
ProductID
商品ID
Int(4)
不允许空
Quantity
商品数量
Int(4)
不允许空
UnitCost
商品单价
Money
允许空
Shoppingcart购物车表:
列名
说明
类型
备注
CartID
购物车ID
Varchar(50)
不允许为空
ProductID
商品ID
Int
不允许为空
ID
用户ID
Int
不允许为空
Quantity
商品数量
Int
不允许为空
DateTimed
购买时间
Smalldatetime
允许为空
Managers管理员表:
列名
说明
类型
备注
ID
管理员主键
Int
不允许为空
Name
管理员姓名
Varchar(50)
不允许为空
Password
管理员密码
Varchar(50)
允许为空
4.存储过程脚本:
(通过商品名称查询商品图片,单价,商品描述,购买时间)
ifexists(select*fromsysobjectswherename='Products_list'andtype='p')
dropprocedureProducts_list
go
createPROCEDUREdbo.Products_list
@spnamechar(50),@sptupianchar(50)output,@danjiamoneyoutput,
@spmiaoshuchar(250)output,@spshijianchar(50)output
as
select@sptupian=ProductImage,@danjia=UnitCost,
@spmiaoshu=Description,@spshijian=DatetimedfromProducts
whereModelName=@spname
go
declare@spnamechar(50),
declare@sptupianchar(50),
declare@danjiamoney,
@spmiaoshuchar(250),@spshijianchar(50)
set@spname='蓝宝石'
execProducts_list@spname,@sptupianoutput,@danjiaoutput,
@spmiaoshuoutput,@spshijianoutput
select@spnameas商品名称,@sptupianas图片,@danjiaas单价,@spmiaoshuas商品描述,@spshijianas购买时间
go
(通过商品ID查询商品名称,商品数量,商品单价,商品描述,购物时间,购物车ID)
ifexists(select*fromsysobjectswherename='Shoppingcart_list'andtype='p')
dropprocedureShoppingcart_list
go
createPROCEDUREdbo.Shoppingcart_list
@ProductIDchar(50),
@spnamechar(50)output,@spshuliangchar(50)output,@danjiamoneyoutput,
@spmiaoshuchar(250)output,@spshijianchar(50)output,@gouwuchengIDchar(50)output
asselect@spname=ModelName,@spshuliang=Quantity,@danjia=UnitCost,
@spmiaoshu=Description,@spshijian=ShoppingCart.Datetimed,@gouwuchengID=CartIDfromProducts,ShoppingCart
whereShoppingCart.ProductID=Products.ProductIDandProducts.ProductID=@ProductID
go
declare@ProductIDchar(50),
@spnamechar(50),@spshuliangchar(50),@danjiamoney,
@spmiaoshuchar(250),@spshijianchar(50),@gouwuchengIDchar(50)
set@ProductID='64'
execShoppingcart_list@ProductID,@spnameoutput,@spshuliangoutput,@danjiaoutput,
@spmiaoshuoutput,@spshijianoutput,@gouwuchengIDoutput
select@ProductIDas商品ID,@spnameas商品名称,@spshuliangas商品数量,@danjiaas商品单价,
@spmiaoshuas商品描述,@spshijianas购买时间,@gouwuchengID购物车ID
Go
5.触发器脚本:
修改表Products中的ProductID,则表ShoppingCart中的ProductID随之改变
ifexists(select*fromsysobjectswherename='Product_ID'andtype='tr')
droptriggerProduct_ID
go
createtriggerProduct_IDonProductsforupdateas
ifupdate(ProductID)
begin
declare@productID_newchar(50),@productID_oldchar(50)
select@productID_new=ProductIDfrominserted
select@ProductID_old=ProductIDfromdeleted
updateShoppingCartsetProductID=@productID_new
whereProductID=@productID_old
end
go
updateProductssetProductID='99'whereProductID='63'
go
select*fromProducts
select*fromShoppingCart
(当插入或删除一个商品ID时,如果ID在1—100操作成功,否则提示
商品ID超出所存商品ID范围,无法找到您需要的商品!
请核对后重新输入。
)
ifexists(select*fromsysobjectswherename='Product'andtype='tr')
droptriggerProduct
go
createtriggerProductonProductsforupdate,insert
as
declare@productIDchar(50)
select@productID=ProductIDfrominserted
if@productID>0and@productID<=100
begin
print'操作成功完成!
'
return
end
print'商品ID超出所存商品ID范围,无法找到您需要的商品!
请核对后重新输入。
'
rollbackTransaction
go
insertintoProducts(ProductID,CategoryID,ModelNumber,ModelName,Datetimed,Clicks,Sales,Commend)
values('78','12','3564N','微波炉','2002-05-1311:
29:
00','47','3000','1')
go
insertintoProducts(ProductID,CategoryID,ModelNumber,ModelName,Datetimed,Clicks,Sales,Commend)
values('188','11','888N','空气加湿器','2002-05-1311:
29:
00','20','450','1')
go
select*fromProducts
go
6.视图脚本:
SELECTdbo.Orders.ID,dbo.OrdersDetails.IDASExpr1,dbo.OrdersDetails.OrderID,
dbo.OrdersDetails.ProductID,dbo.OrdersDetails.Quantity
FROMdbo.OrdersINNERJOIN
dbo.OrdersDetailsONdbo.Orders.ID=dbo.OrdersDetails.ID
SELECTdbo.ShoppingCart.ID,dbo.Products.ProductID,dbo.Products.CategoryID,
dbo.Products.ModelNumber,dbo.Products.ModelName
FROMdbo.ShoppingCartINNERJOIN
dbo.ProductsONdbo.ShoppingCart.ProductID=dbo.Products.ProductID
7:
数据库恢复与备份:
数据库的完全备份
backupdatabaseOnlineShop
todisk='f:
\备份数据库\OnlineShop'
withinit
go
数据库的恢复
restoredatabaseOnlineShop
fromdisk='f:
\备份数据库\OnlineShop'
withrecovery
go
数据库差异备份
backupdatabaseOnlineShop
todisk='f:
\备份数据库\OnlineShop'
withinit
go
数据库的恢复
restoredatabaseOnlineShop
fromdisk='f:
\备份数据库\OnlineShop'
withnorecovery
go
restoredatabaseOnlineShop
fromdisk='f:
\备份数据库\OnlineShop'
withfile=2
go
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上超市 购物 数据库 设计