网上超市购物车数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网上超市购物车系统数据库设计说明书
拟制人
审核人_________________
批准人______________________ 【2010年3月12日星期五】
数据库设计说明书
1.引言
1.1编写目的
自Internet出现以来,大量的信息通过它迅速传播,突破了原有的通信方式。在网上,不仅可以迅速找到任何方面的相关内容,而且信息的传递也较以前快了许多。
2000年,全世界已拥有近10亿因特网用户,有一亿多台计算机互联,可以交换数据的网络超过了100万个,每年在网络上的交易次数超过10亿次。电子商务正是由于这种信息的快速流动和资源的大量集成而悄然崛起,并以惊人的速度发展着。
提供高效的内容丰富的Web商业服务是一项连续不断的任务,并不是做好了几个网页放在那里就可以了。所以,设计了这个网上超市购物车系统,以对电子商务有进一步的认识。
1.2背景
a. 待开发软件系统的名称:
网上超市购物车系统
b. 本项目的任务提出者:
石河子大学
c. 本项目开发者:
严凤,丛莉莉
d. 本项目用户:
网上购物人群
1.3参考资料
《软件开发这点儿事——软件开发工具手册》邵志东著
《程序员指南丛书高级编程》但正刚著
《网络应用系统开发与实例》吴明晖主编吴丹红编著
2.外部设计
2.1支持软件
本数据库主要采用微软公司的成熟数据库系统SQL Server2000,提供了较为灵活操作简单的功能,可以为数据库管理员和系统开发人员提供很好的支持。3.结构设计
3.1概念结构设计
本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,商城首页:
热门商品:
购物清单:
3.2 逻辑结构设计:
3.3关系图
3.3物理结构设计
4.存储过程脚本:
(通过商品名称查询商品图片,单价,商品描述,购买时间)
if exists(select * from sysobjects where name='Products_list' and type='p')
drop procedure Products_list
go
create PROCEDURE dbo.Products_list
@spname char(50),@sptupian char(50) output,@danjia money output,
@spmiaoshu char(250) output,@spshijian char(50) output
as
select @sptupian=ProductImage,@danjia=UnitCost,
@spmiaoshu=Description,@spshijian=Datetimed from Products
where ModelName=@spname
go
declare @spname char(50),
declare @sptupian char(50),
declare @danjia money ,
@spmiaoshu char(250),@spshijian char(50)
set @spname='蓝宝石'
exec Products_list @spname,@sptupian output,@danjia output,
@spmiaoshu output,@spshijian output
select @spname as 商品名称,@sptupian as 图片,@danjia as 单价,@spmiaoshu as 商品描述,@spshijian as 购买时间
go
(通过商品ID查询商品名称,商品数量,商品单价,商品描述,购物时间,购物车ID)if exists(select * from sysobjects where name='Shoppingcart_list' and type='p')
drop procedure Shoppingcart_list
go
create PROCEDURE dbo.Shoppingcart_list
@ProductID char(50),
@spname char(50) output,@spshuliang char(50) output,@danjia money output,
@spmiaoshu char(250) output,@spshijian char(50) output,@gouwuchengID char(50) output
as select @spname=ModelName, @spshuliang=Quantity,@danjia=UnitCost,
@spmiaoshu=Description,@spshijian=ShoppingCart.Datetimed,@gouwuchengID=CartID from
Products,ShoppingCart
where ShoppingCart.ProductID=Products.ProductID and Products.ProductID=@ProductID
go
declare @ProductID char(50),
@spname char(50),@spshuliang char(50) ,@danjia money ,
@spmiaoshu char(250),@spshijian char(50),@gouwuchengID char(50)
set @ProductID='64'
exec Shoppingcart_list @ProductID,@spname output,@spshuliang output,@danjia output,
@spmiaoshu output,@spshijian output,@gouwuchengID output
select @ProductID as 商品ID,@spname as 商品名称,@spshuliang as 商品数量,@danjia as 商品单价,
@spmiaoshu as 商品描述,@spshijian as 购买时间,@gouwuchengID 购物车ID
Go
5.触发器脚本:
修改表Products中的ProductID,则表ShoppingCart中的ProductID随之改变
if exists (select * from sysobjects where name ='Product_ID' and type='tr')
drop trigger Product_ID
go
create trigger Product_ID on Products for update as
if update(ProductID)
begin
declare @productID_new char(50),@productID_old char(50)
select @productID_new=ProductID from inserted
select @ProductID_old=ProductID from deleted
update ShoppingCart set ProductID=@productID_new
where ProductID=@productID_old
end
go
update Products set ProductID='99' where ProductID='63'
go
select * from Products
select * from ShoppingCart
(当插入或删除一个商品ID时,如果ID在1—100操作成功,否则提示
商品ID超出所存商品ID范围,无法找到您需要的商品!请核对后重新输入。)if exists (select * from sysobjects where name ='Product' and type='tr')
drop trigger Product
go
create trigger Product on Products for update,insert
as
declare @productID char(50)
select @productID=ProductID from inserted
if @productID>0 and @productID<=100