网上图书销售系统数据库分析与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网上图书销售系统分析与设计
1.项目背景
跟着Internet的兴起,收集已经成为当代人糊口中的一部分,越来越多的人喜欢在网上生意。本系统便是一个基于B/S模式的收集化的图书发卖打点系统,授与的是妙技,实现了用户注册信息打点、用户信息打点、图书发卖点打点、图手札息打点、客户订单打点、购物信息打点,库存打点,动静打点等模块。通过测试,根基实现了这个集成书籍打点、网上定购等功效于一体的图书发卖打点系统。在Internet上通过它用户可以打破时刻和空间的限定来实现网上购书,有效地收缩了图书通顺发行枢纽,将泛博读者、图书、出版者、发行者严密地联络在一路,年夜年夜提高了图书通顺率。它有着策划本钱低、库存是假造的、用户检索便
2.
3.
(
(2 管理员ID char 10 主键 姓名 varchar 6 not null 登录密码
char
10
not null
表2 书
书号
char
8
主键
书籍类型char 8 not null 书籍介绍varchar 40 not null 出版日期datetime 默认
定价int 4 not null 管理员ID char 10 外键
银行编号char 10 外键
表6 银行
银行编号char 10 主键
名称varchar 20 not null 负责人varchar 6 not null
表7 订书
ID int 4 主键,标识订单号char 4 外键
书号char 8 外键
(表设计)图3_1 书
(表设计)图3_2 订单
(表设计)图3_3 银行
(3)视图设计
视图功能:使用查询分析器在网上图书销售系统数据库中建立一个有客户名,书名,订购日期,数目的客户购书情况的视图客户购书情况。视图定义,如图4_1所示:
create view 客户购书情况
AS
select top 100 percent 客户名,书名,订购日期,数目from 客户,订单,订书,书where
客户.客户ID=订单.客户ID and
订单.订单号=订书.订单号and
订书.书号=书.书号
order by 客户名
(视图)4_1 客户购书情况
视图功能:使用查询分析器在网上图书销售系统数据库中建立一个有客户名,订单号,订单状态,订购日期,付款数,付款日期,银行编号的客户订单情况的视图客户订单信息。视图定义,如图4_2所示:
create view 客户订单信息
AS
select top 100 percent 客户名,订单号,订单状态,订购日期,
付款数,付款日期,银行编号from
客户,订单where
客户.客户ID=订单.客户ID
order by 客户名
(视图)4_2 客户订单信息
视图功能:使用查询分析器在网上图书销售系统数据库中建立一个有书名,厂名,总数的图书供应情况的视图图书供应情况查询。视图定义,如图4_3所示:
create view 图书供应情况查询
AS
select top 100 percent 书名,厂名,总数from
书,供应,供应商where
供应商.厂号=供应.厂号and
供应.书号=书.书号
order by 书名
(视图)4_3图书供应情况查询
(4)默认约束规则
外键约束定义:建立书表和供应表之间的参照关系,如图5_1_1所示
(外键约束)图5_1 _1 外键约束定义:建立订单表和客户表之间的参照关系,如图5_1_2所示
(外键约束)图5_1_2 外键约束定义:建立订单表和银行表之间的参照关系,如图5_1_3所示
(外键约束)图5_1_3 Check约束定义:设置书表中的数目字段取值在0-1000之间,如图5_2_1所示
(Check约束) 图5_2_1 Check约束定义:设置订单表中的付款数字段取值在0-10000之间,如图5_2_2所示
(Check约束) 图5_2_2
Check约束定义:设置订单表中的订单状态字段的值为‘完成’或‘未完成’,如图5_2_3所示
(Check约束) 图5_2_3
Default约束定义:设置订单表中的订单状态默认值为‘未完成’,如图5_3_1所示
(Default约束)图5_3_1 Default约束定义:设置订单表中的付款数默认值为0,如图5_3_2所示
(Default约束)图5_3_2 Default约束定义:设置管理员表中的登录密码默认值为‘123456’,如图5_3_3所示
(Default约束)图5_3_3
(5)存储过程设计
存储过程功能:用CREATE PROCEDURE语句创建存储过程图书价格查询,要求根据书的书号返回书名和定价。存储过程定义,如图6_1所示:
/*
create procedure 图书价格查询
@书号char(8),
@书名varchar(20) output,
@定价int output
AS
if exists (select * from 书where 书号=@书号)
select @书名=书名,@定价=定价
from 书
where 书号=@书号
else
print '没有这本书!'
*/
declare @书名varchar(20) ,@定价int
execute 图书信息查询'0012',@书名output,@定价output
select 书名=@书名,定价=@定价