数据库设计之网上书店系统

    版权声明:对于本博客所有原创文章,允许个人、教育和非商业目的使用,但务必保证文章的完整性且不作任何修改地以超链接形式注明原始作者、出处及本声明。

    博客地址:http://blog.csdn.net/shuxiao9058

    原始作者:季亚


一、    概要设计

2.1    意义

   伴随着信息化的发展,计算机走进了千家万户,人们的交流变得方便,方便了网民的生活!此外,伴随着卓越、当当、淘宝等网络购物平台的兴起,网络购物也被网民认可,首先,网上书店方便了网民的生活,更加便捷地、足不出户便可买到心仪的书籍;其次,网上购书减少了许多中间销售代理,因此价格会比较低,对广大网民的好处是非常明显的;再者,网上书店是信息化购物,基本上所有操作都是通过计算机程序自动完成的,因此大大降低了劳力的消耗;最后,电子商务与出版发行业的结合使发展网上书店及研究网上书店具有双重意义,充分结合互联网销售的特点探索图书发行的新渠道和新模式,是对电子商务科学的充实和补充,更是对出版发行业发行渠道和市场的开拓和创新。

   数据库对于一个系统的意义是相当重要的,它关系到整个项目的整体流程,整个网站的后期维护便捷与否,从长远利益来看,数据库的设计是至关重要的。

2.2    目的

   数据库,即存放数据的仓库,设计出数据库可以方便的运用于实际开发的应用程序或者网站当中,使其能够完成譬如增、、改数据,本实验的目的在于通过一个简要的数据库设计理解整个数据库设计流程。

2.3    内容和要求

   本实验将设计出一个网上书店数据库,其要求简要如下:

1)系统用户由两类组成:管理员和客户。

2)管理员负责后台管理:

    图书信息的维护(增、、改),图书要进行分类管理;

    客户信息的维护;

    订单的确认和删除。

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

4)在数据库设计中应考虑如下因素:

    数据库的逻辑模型应能满足系统的基本需求;

    数据库的逻辑模型应符合关系数据的规范化要求;

    数据库表应具有基本的完整性约束。

二、    需求分析

2.1    背景

   一个书店中的书籍类别、数量是非常庞大的,虽然书籍的分类是非常规范,但仅仅局限于概念上的分类仍无法运用于实践当中,这就给管理人员带来了极大的工作量,因此就需要一个比较科学的管理办法来解决此问题。

   由于数据库能够非常方便地解决此类问题,因此我们便想到了利用数据库来进行数据管理。

2.2    概要分析

   该系统主要分为两部分,一个为普通会员用户部分,亦即前台系统。另外一个是系统的管理员部分,即后台系统。网上书店前台系统部分主要是实现网上选书、购书、产生订单等功能的系统。后台实现书籍管理、用户管理、订单处理等功能。

2.3    开发技术

开发工具:Microsoft SQLServer 2000

开发语言:SQL

开发技术:数据库开发技术

面向对象:需求者

    SQL  Server 2000 Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。本实验中最终将使用Microsoft SQLServer 2000数据库管理系统将我们设计的数据库实现。

2.4    系统主要功能


2-1 系统功能模块图

三、    E-R

3.1 概念设计

   系统共有九个实体:客户、管理员、图书类型、图书、订单、详细订单、参数设置、图书评价、信息反馈。

1)客户(会员)的属性:自动编号CustomerId、客户名、客户密码、真实姓名、性别、客户电话、E-mail、地址、注册时间、提示问题、问题答案、登陆次数、最近登陆时间、邮编

2)管理员的属性:自动编号AdminId、管理员名称、管理员邮箱、密码、权限标志

3)图书类型的属性:自动编号BookTypeId、类别名称

4)图书的属性:自动编号BookId、图书名称、图书类型、出版社、出版日期、开本、版次、图书作者、图书译者、图书ISBN、图书定价、图书页码、图书简介、图书目录、市场价、会员价、成交量、浏览次数、折扣、图书封面图、图书库存量、入库时间、封装方式

5)订单的属性:自动编号Id、订单号OrderId、客户编号、下单日期、总订购数量、留言、送货方式、支付方式、收货人姓名、收货地址、收货人联系方式、备注、总卖出价

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

7)参数设置属性有:网站名、注册条款、公告、地址、邮编、电话号码等

8)图书评价的属性:自动编号CommentId、图书编号、评论客户编号、评论客户名、评论时间、评论内容、审核标志

9)信息反馈的属性:自动编号ReplyId、留言类型、留言主题、留言内容、留言客户编号、留言客户名、留言日期、客户IP

3.2 E-R


3-1 图书类别信息

 


3-2 管理员信息

 


3-3 图书信息

 


3-4 客户信息

 


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

 


3-6 订单信息

 


3-7 订单详细信息

 


3-8 图书评论信息

 


3-9 信息反馈

 


3-10 网上书店顶层E-R

四、    逻辑结构

4.1    逻辑转换

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

客户(会员)(客户编号,客户名,客户密码,真实姓名,性别,客户电话,E-mail,地址,注册时间,提示问题,问题答案,登陆次数,最近登陆时间,邮编)

管理员管理员编号,管理员名称,管理员邮箱,密码,权限标志)

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

图书图书编号,图书名称,图书类型,出版社,出版日期,开本,版次,图书作者,图书译者,图书ISBN,图书定价,图书页码,图书简介,图书目录,市场价,会员价,成交量,浏览次数,折扣,图书封面图,图书库存量,入库时间、封装方式)

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

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

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

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

信息反馈信息反馈编号,留言类型,留言主题,留言内容,留言客户编号,留言客户名,留言日期,客户IP

4.2    细化表结构

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

(1)   客户信息表tb_customerinfo

1 客户信息表

列名

说明

数据类型

约束

CustomerId

客户编号

int

主码(自增字段

CustomerName

客户名称

varchar(20)

主码not null

CustomerPwd

客户密码

varchar(20)

not null

Customertruename

真实姓名

varchar(20)

not null

CustomerSex

性别

varchar(2)

not null, 取“男”或“女”

CustomerTel

客户电话

varchar(20)

not null

CustomerEmail

E-mail

varchar(20)

not null

CustomerAddr

地址

varchar(20)

not null

CustomerRegTime

注册时间

datetime

not null

CustomerQues

提示问题

varchar(200)

 

CustomerAnswer

问题答案

varchar(200)

 

CustomerLogTime

登陆次数

int

not null

CustomerLastLogT

最近登陆时间

datetime

not null

(2)   图书类型信息表tb_booktypeinfo

2 图书类型信息表

列名

说明

数据类型

约束

BookTypeId

图书类型编号

int

主码(自增字段

BookTypeName

类别名称

varchar(50)

not null

(3)   图书信息表tb_bookinfo

3 图书信息表

列名

说明

数据类型

约束

BookId

图书编号

int

主码(自增字段

BookTypeId

图书类型

int

not null, 引用tb_booktypeinfo的外码

BookName

课程名

varchar(20)

not null

BookPress

出版社

varchar(20)

not null

BookPubDate

出版日期

datetime

not null

BookSize

开本

varchar(10)

not null

BookVersion

版次

varchar(10)

not null

BookAuthor

图书作者

varchar(10)

not null

BookTanslor

图书译者

varchar(10)

 

Bookisbn

图书ISBN

varchar(20)

not null

BookPrice

图书定价

money

not null

BookPages

图书页码

int

not null

BookOutline

图书简介

varchar(200)

not null

BookCatalog

图书目录

varchar(200)

not null

BookMprice

市场价

money

not null

BookPrprice

会员价

money

not null

BookDealmount

成交量

int

not null

BookLookmount

浏览次数

int

not null

BookDiscount

折扣

decimal

not null

BookPic

图书封面图

varchar(20)

not null

BookStoremount

图书库存量

int

not null

BookStoretime

入库时间

datetime

not null

BookPackstyle

封装方式

varchar(20)

not null

(4)   管理员信息表tb_manager

4 管理员信息表

列名

说明

数据类型

约束

AdminId

管理员编号

int

主码(自增字段

AdminName

管理员名称

varchar(10)

not null

AdminPwd

密码

varchar(20)

not null

AdminFlag

权限标志

int

not null

(5)   参数设置信息表tb_parameter

5 参数设置信息表

列名

说明

数据类型

约束

webname

网站名

varchar(20)

主码(自增字段

regtiaoyue

注册条款

varchar(100)

not null

notice

公告

varchar(100)

not null

address

地址

varchar(20)

not null

postcode

邮编

varchar(10)

not null

tel

电话号码

varchar(10)

not null

copyright

版权

varchar(20)

not null

weblogo

网站Logo

varchar(100)

not null

website

网站地址

varchar(10)

not null

affordmethod

支付方式

varchar(100)

not null

shopstream

购物流程

varchar(100)

not null

postmethod

送货方式

varchar(100)

not null

postprice

送货费用

money

not null

Postdescp

运输说明

varchar(100)

not null

worktime

工作时间

varchar(20)

not null

service

售后服务

varchar(100)

not null

law

使用法律

varchar(100)

not null

commques

常见问题

varchar(100)

not null

dealrule

交易条款

varchar(100)

not null

(6)   购物车临时订购信息tb_shopbook

6 购物车临时订购信息表

列名

说明

数据类型

约束

CustomerId

客户编号

int

主码(自增字段

BookId

图书编号

int

主码, 引用tb_bookinfo的外码

ordermount

订购数量

int

not null

price

总价

money

not null

ispay

是否付款

varchar(10)

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

(7)   订单信息表tb_order

7 订单信息表

列名

说明

数据类型

约束

Id

自动编号

int

not null自增字段

OrderId

订单编号

varchar(20)

主码

CustomerId

客户编号

int

not null, 引用tb_customerinfo的外码

Orderdate

下单日期

datetime

not null

Ordermount

总订购数量

int

not null

message

留言

varchar(100)

 

postmethod

送货方式

varchar(100)

not null

paymethod

支付方式

varchar(100)

not null

recevername

收货人姓名

varchar(10)

not null

receveraddr

收货地址

varchar(20)

not null

recevertel

收货人电话号码

varchar(10)

not null

memo

备注

varchar(100)

 

totalprice

总卖出价

money

not null

(8)   订单详细信息表tb_orderdetail

8 订单详细信息表

列名

说明

数据类型

约束

Id

自动编号

int

not null自增字段

OrderDetailId

详细订单编号

int

主码

OrderId

订单号

varchar(20)

not null, 引用tb_order的外码

BookId

图书编号

int

not null

ordermount

订购数量

int

not null

poststatus

发货状态

varchar(10)

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

Recevstatus

收货状态

varchar(10)

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

sigletotalprice

卖出总价

money

not null

(9)   图书评价信息表tb_comment

9 图书评价信息表

列名

说明

数据类型

约束

CommentId

图书评价编号

int

主码(自增字段

BookId

图书编号

int

not null,引用tb_bookinfo的外码

CustomerId

评论客户编号

int

not null, 引用tb_customerinfo的外码

Customername

评论客户名

varchar(20)

not null

Commentdate

评论时间

datetime

not null

Commentcontent

评论内容

varchar(100)

not null

Commentflag

审核标志

varchar(10)

not null

(10) 信息反馈信息表tb_reply

10 信息反馈信息表

列名

说明

数据类型

约束

ReplyId

信息反馈编号

int

主码(自增字段

ReplyType

留言类型

varchar(20)

not null

Replytitle

留言主题

varchar(20)

not null

Replycontent

留言内容

varchar(100)

not null

CustomerId

留言客户编号

int

not null, 引用tb_customerinfo的外码

Customername

留言客户名

varchar(20)

not null

Commentdate

留言日期

datetime

not null

CustomerIP

客户IP

varchar(10)

not null

其中,表5即参数设置信息表是用户配置网站logo、名称、公告等信息的表,它是一个独立于其它表的表。

五、    数据库实施

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

5.1    创建表

(1) tb_customerinfo客户信息表

create table tb_customerinfo (
   CustomerId           int                  identity,
   CustomerName         varchar(20)          not null,
   CustomerPwd          varchar(20)          not null,
   Customertruename     varchar(20)          not null,
   CustomerSex          varchar(2)           not null
      constraint CKC_CUSTOMERSEX_TB_CUSTO check (CustomerSex in ('男','女')),
   CustomerTel          varchar(20)          not null,
   CustomerEmail        varchar(20)          not null,
   CustomerAddr         varchar(20)          not null,
   CustomerRegTime      datetime             not null,
   CustomerQues         varchar(200)         null,
   CustomerAnswer       varchar(200)         null,
   CustomerLogTime      int                  not null,
   CustomerLastLogT     datetime             not null,
   constraint PK_TB_CUSTOMERINFO primary key(CustomerId, CustomerName)
)
(2) tb_booktypeinfo图书类型信息表
create table tb_booktypeinfo (
   BookTypeId           int                  identity,
   BookTypeName         varchar(50)          not null,
   constraint PK_TB_BOOKTYPEINFO primary key (BookTypeId)
)
(3) tb_bookinfo图书信息表
create table tb_bookinfo (
   BookId               int                  identity,
   BookTypeId           int                  not null,
   BookName             varchar(20)          not null,
   BookType             varchar(10)          not null,
   BookPress            varchar(20)          not null,
   BookPubDate          datetime             not null,
   BookSize             varbinary(10)        not null,
   BookVersion          varchar(10)          not null,
   BookAuthor           varchar(10)          not null,
   BookTanslor          varchar(10)          null,
   Bookisbn             varchar(20)          not null,
   BookPrice            money                not null,
   BookPages            int                  not null,
   BookOutline          varchar(200)         not null,
   BookCatalog          varchar(200)         not null,
   BookMprice           money                not null,
   BookPrprice          money                not null,
   BookDealmount        int                  not null,
   BookLookmount        int                  null,
   BookDiscount         varchar(10)          not null,
   BookPic              money                not null,
   BookStoremount       int                  not null,
   BookStoretime        datetime             not null,
   BookPackstyle        varchar(20)          not null,
   constraint PK_TB_BOOKINFO primary key (BookId)
)
(4) tb_manager管理员信息表
create table tb_manager (
   AdminId              int                  identity,
   AdminName            varchar(10)          not null,
   AdminPwd             varchar(20)          not null,
   AdminFlag            int                  not null,
   constraint PK_TB_MANAGER primary key (AdminId)
)
(5) tb_parameter参数设置信息表
tb_ create table tb_parameter (
   webname              varchar(20)          not null,
   regtiaoyue           varchar(100)         not null,
   notice               varchar(100)         not null,
   address              varchar(20)          not null,
   postcode             varchar(10)          not null,
   tel                  varchar(10)          not null,
   copyright            varchar(20)          not null,
   weblogo              varchar(100)         not null,
   website              varchar(10)          not null,
   affordmethod         varchar(100)         not null,
   shopstream           varchar(100)         not null,
   postmethod           varchar(100)         not null,
   postprice            money                not null,
   Postdescp            varchar(100)         not null,
   worktime             varchar(20)          not null,
   service              varchar(100)         not null,
   law                  varchar(100)         not null,
   commques             varchar(100)         not null,
   dealrule             varchar(100)         not null,
   constraint PK_TB_PARAMETER primary key (webname)
)
(6) shopbook购物车零时订购信息
create table tb_shopbook (
   CustomerId           int                  not null,
   BookId               int                  not null,
   ordermount           int                  not null,
   price                money                not null,
   ispay                varchar(10)          not null default '未付款'
      constraint CKC_ISPAY_TB_SHOPB check (ispay in ('未付款','已付款')),
   constraint PK_TB_SHOPBOOK primary key (CustomerId, BookId)
)
(7)  tb_order订单信息表
create table tb_order (
   Id                   int                  identity,
   OrderId              varchar(20)          not null,
   CustomerId           int                  not null,
   Orderdate            datetime             not null,
   Ordermount           int                  not null,
   message              varchar(100)         null,
   postmethod           varchar(100)         not null,
   paymethod            varchar(100)         not null,
   recevername          varchar(10)          not null,
   receveraddr          varchar(20)          not null,
   recevertel           varchar(10)          not null,
   memo                 varchar(100)         null,
   totalprice           money                not null,
   constraint PK_TB_ORDER primary key (OrderId)
)
(8) tb_orderdetail订单详细信息表
create table tb_orderdetail (
   id                   int                  identity,
   OrderDetailId        varchar(20)          not null,
   OrderId              varchar(20)          not null,
   BookId               int                  not null,
   ordermount           int                  not null,
   poststatus           varchar(10)          not null default '未发货'
      constraint CKC_POSTSTATUS_TB_ORDER check (poststatus in ('未发货','已发货')),
   Recevstatus          varchar(10)          not null default '未收货'
      constraint CKC_RECEVSTATUS_TB_ORDER check (Recevstatus in ('未收货','已收货')),
   sigletotalprice      money                not null,
   constraint PK_TB_ORDERDETAIL primary key (OrderDetailId)
)
(9) tb_comment图书评价信息表
create table tb_comment (
   CommentId            int                  not null,
   BookId               int                  not null,
   CustomerId           int                  not null,
   Customername         varchar(20)          not null,
   Commentdate          datetime             not null,
   Commentcontent       varchar(100)         not null,
   Commentflag          varchar(10)          not null,
   constraint PK_TB_COMMENT primary key (CommentId)
)
(10) tb_reply信息反馈信息表
create table tb_reply (
   ReplyId              int                  not null,
   CustomerId           int                  not null,
   ReplyType            varchar(20)          not null,
   Replytitle           varchar(20)          not null,
   Replycontent         varchar(100)         not null,
   Customername         varchar(20)          not null,
   Commentdate          datetime             not null,
   CustomerIP           varchar(10)          not null,
   constraint PK_TB_REPLY primary key (ReplyId)
)

5.2    创建约束条件

alter table tb_bookinfo
   add constraint FK_TB_BOOKI_REFERENCE_TB_BOOKT foreign key (BookTypeId)
      references tb_booktypeinfo (BookTypeId)
go
 
alter table tb_comment
   add constraint FK_TB_COMME_REFERENCE_TB_BOOKI foreign key (BookId)
      references tb_bookinfo (BookId)
go
 
alter table tb_comment
   add constraint FK_TB_COMME_REFERENCE_TB_CUSTO foreign key (CustomerId)
      references tb_customerinfo (CustomerId)
go
 
alter table tb_order
   add constraint FK_TB_ORDER_REFERENCE_TB_CUSTO foreign key (CustomerId)
      references tb_customerinfo (CustomerId)
go
 
alter table tb_orderdetail
   add constraint FK_TB_ORDER_REFERENCE_TB_ORDER foreign key (OrderId)
      references tb_order (OrderId)
go
 
alter table tb_orderdetail
   add constraint FK_TB_ORDER_REFERENCE_TB_BOOKI foreign key (BookId)
      references tb_bookinfo (BookId)
go
 
alter table tb_reply
   add constraint FK_TB_REPLY_REFERENCE_TB_CUSTO foreign key (CustomerId)
      references tb_customerinfo (CustomerId)
go
 
alter table tb_shopbook
   add constraint FK_TB_SHOPB_REFERENCE_TB_BOOKI foreign key (BookId)
      references tb_bookinfo (BookId)
go
 
alter table tb_shopbook
   add constraint FK_TB_SHOPB_REFERENCE_TB_CUSTO foreign key (CustomerId)
      references tb_customerinfo (CustomerId)
go

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

insert into tb_manager(AdminName,AdminPwd, AdminFlag) values (’admin’,’admin’,1)
insert into tb_customerinfot (CustomerName, CustomerPwd, Customertruename, CustomerSex, CustomerTel, CustomerEmail, CustomerAddr, CustomerRegTime, CustomerQues, CustomerAnswer, CustomerLogTime, CustomerLastLogT) values (‘toy’,’toy’,’李明’,’男’,’1231628368’,’[email protected]’,’常熟理工’,’1’,’’,’’,’2010-12-22 11:00:11:111’,’ 2010-12-22 11:00:11:111’)
insert into tb_booktypeinfo(BookTypeName) values (’科技类’)
insert into tb_bookinfo values (‘’, ’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-1 1:1:1:111’,’精品包装’)
insert into tb_order values (‘’, ’20101202001’, ’1’ ,’ 2010-12-22 12:00:11:111’, ’2’, ’’,’申通快递’,’建行’,’’,’李明’,’常熟理工’,’12313212323’,’’,’180’)
insert into tb_orderdetail values (‘’, ’ 2010120200101’, ’ 20101202001’ ,’1’, ’2’, ’’,’’,’云峰’,’’,’180’)
insert into tb_parameter values (‘风云网上书店’, ’热熔器额外人’, ’的发爱的’ ,’南京十字路口’, ’331231’, ’080-21312’,’@copyright ljfl’, C://logo.jpg’,’www.jljl.com’,’建行、工行’,’发的发放’,’合法哈客户卡的合法’,’发的发’,’发的发’,’7.00’,’8:00-12:00’,’f得法’,’发的说法’,’0.87’,’的法定’)

5.4    创建必要触发器

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

create trigger trig1
on tb_bookinfo
for update
as
if(update(BookStoremount))
 begin
 declare @mount int
 set @mount=(select BookStoremount from deleted)
 if(@mount<0)
 begin 
    print '库存不足,库存为空'
    rollback
end
end

5.4.2   定义一个触发器,其基本功能是在填写订单和详细订单的时候相应的总价被计算处理填入相应的位置。其具体代码如下所示:

create trigger trig2
on tb_orderdetail
for insert,update
as
 begin
 declare @mount int,@price money,@sigleprice money,@totalprice money
 set @mount=(select ordermount from inserted)
 set @totalprice=(select totalprice from tb_order,inserted where tb_order.orderid=inserted.orderid)
 set @price=(select bookprice from tb_bookinfo,inserted where tb_bookinfo.bookid=inserted.bookid)
 set @sigleprice=@mount*@price
update tb_orderdetail set sigletotalprice=@sigleprice where orderdetailid=(select orderdetailid from inserted )
update tb_order set totalprice=(@totalprice+@sigleprice) where orderid=(select orderid from inserted)
end
 go

5.5    创建必要存储过程

5.5.1           建立存储过程customer_book,功能是客户在网站前台根据客户名称来查询买到的图书详细情况,其实现代码如下所示:

create procedure customer_book
@customername varchar(20),
@orderdate datetime out,
@bookname varchar(20) out,
@price money out,@orsermount int out,
@sigletotalprice money out,
@totalprice money out,
@pstatus varchar(10) out,
@rstatus varchar(10) out
as
 select
    @orderdate=orderdate,@bookname=bookname,@price=bookprice,
    @sigletotalprice=sigletotalprice,@totalprice=totalprice,
    @pstatus=poststatus,@rstatus=recevstatus
 from tb_bookinfo,tb_customerinfo,tb_order,tb_orderdetail
 where tb_customerinfo.customerid=tb_order.customerid
and tb_bookinfo.bookid=tb_orderdetail.bookid
       and tb_customerinfo.customername=@customername

5.5.2   建立存储过程admin_book,功能是管理员在网站后台根据客户名称来查询买到的图书详细情况,其实现代码如下所示:

create procedure admin_book
@customername varchar(20),
@orderdate datetime out,
@bookname varchar(20) out,
@message varchar(100) out,
@memo varchar(100) out,
@recevername varchar(10)out,
@receveraddr varchar(20) out,
@recevertel varchar(10) out,
@price money out,
@orsermount int out,
@sigletotalprice money out,
@totalprice money out,
@pstatus varchar(10) out,
@rstatus varchar(10) out
as
 select
    @orderdate=orderdate,@bookname=bookname,@message=message,
    @memo=memo,@recevername=recevername,@receveraddr=receveraddr,
    @recevertel=recevertel,@price=bookprice,@sigletotalprice=sigletotalprice,
    @totalprice=totalprice,@pstatus=poststatus,@rstatus=recevstatus
 from tb_bookinfo,tb_customerinfo,tb_order,tb_orderdetail
 where tb_customerinfo.customerid=tb_order.customerid
    and tb_bookinfo.bookid=tb_orderdetail.bookid
    and tb_customerinfo.customername=@customername

六、    总结

    通过本次实验使我对数据库有了一个更加全面,更加深入的了解,也可以说是对本学期所学的数据库知识的一个总结,这次实验不像以前一样,只是对数据库某一部分知识的练习巩固,不仅仅是设计几张表,设计几个存储过程,触发器,而是对这些知识的一个整合,是一次综合的练习,使我对设计一个数据库的流程有了一个了解和掌握。

参考文献

[1]   王珊,萨师煊. 数据库系统概论[M].北京:高等教育出版社.2006.5(2010重印).

[2]   白尚旺,党伟超.PowerDesign软件工程技术[M].北京:电子工业出版社.2004.8.


备注:以前帮同学做的数据库系统大作业(在本人的基础上修改的,参考:数据库设计之学生选课系统),不喜勿喷!!!

你可能感兴趣的:(〖其他类别〗,数据库,null,reference,microsoft,table,insert)