1、网上书店数据设计参考网上书店数据库设计一、概要设计2.1意义伴随着信息化的发展,计算机走进了千家万户,人们的交流变得方便,方便了网民的生活!此外,伴随着卓越、当当、淘宝等网络购物平台的兴起,网络购物也被网民认可,首先,网上书店方便了网民的生活,更加便捷地、足不出户便可买到心仪的书籍;其次,网上购书减少了许多中间销售代理,因此价格会比较低,对广大网民的好处是非常明显的;再者,网上书店是信息化购物,基本上所有操作都是通过计算机程序自动完成的,因此大大降低了劳力的消耗;最后,电子商务与出版发行业的结合使发展网上书店及研究网上书店具有双重意义,充分结合互联网销售的特点探索图书发行的新渠道和新模式,是对
2、电子商务科学的充实和补充,更是对出版发行业发行渠道和市场的开拓和创新。数据库对于一个系统的意义是相当重要的,它关系到整个项目的整体流程,整个网站的后期维护便捷与否,从长远利益来看,数据库的设计是至关重要的。2.2目的数据库,即存放数据的仓库,设计出数据库可以方便的运用于实际开发的应用程序或者网站当中,使其能够完成譬如增、删、改数据,本实验的目的在于通过一个简要的数据库设计理解整个数据库设计流程。2.3内容和要求本实验将设计出一个网上书店数据库,其要求简要如下:(1)系统用户由两类组成:管理员和客户。(2)管理员负责后台管理:图书信息的维护(增、删、改),图书要进行分类管理;客户信息的维护;订单
3、的确认和删除。(3)读者可以查询图书的基本信息,可以维护自己的信息,可以进行网上订书,可以查询订单处理的情况。(4)在数据库设计中应考虑如下因素:数据库的逻辑模型应能满足系统的基本需求;数据库的逻辑模型应符合关系数据的规范化要求;数据库表应具有基本的完整性约束。二、需求分析2.1背景一个书店中的书籍类别、数量是非常庞大的,虽然书籍的分类是非常规范,但仅仅局限于概念上的分类仍无法运用于实践当中,这就给管理人员带来了极大的工作量,因此就需要一个比较科学的管理办法来解决此问题。由于数据库能够非常方便地解决此类问题,因此我们便想到了利用数据库来进行数据管理。2.2概要分析该系统主要分为两部分,一个为普
4、通会员用户部分,亦即前台系统。另外一个是系统的管理员部分,即后台系统。网上书店前台系统部分主要是实现网上选书、购书、产生订单等功能的系统。后台实现书籍管理、用户管理、订单处理等功能。2.3开发技术开发工具:Microsoft SQLServer 2008开发语言:SQL开发技术:数据库开发技术面向对象:需求者2.4系统主要功能图2-1系统功能模块图三、E-R图3.1概念设计系统共有九个实体:客户、管理员、图书类型、图书、订单、详细订单、参数设置、图书评价、信息反馈。(1)客户(会员)的属性:自动编号CustomerId、客户名、客户密码、真实姓名、性别、客户电话、E-mail、地址、注册时间、
5、提示问题、问题答案、登陆次数、最近登陆时间、邮编(2)管理员的属性:自动编号AdminId、管理员名称、管理员邮箱、密码、权限标志(3)图书类型的属性:自动编号BookTypeId、类别名称(4)图书的属性:自动编号BookId、图书名称、图书类型、出版社、出版日期、开本、版次、图书作者、图书译者、图书ISBN、图书定价、图书页码、图书简介、图书目录、市场价、会员价、成交量、浏览次数、折扣、图书封面图、图书库存量、入库时间、封装方式(5)订单的属性:自动编号Id、订单号OrderId、客户编号、下单日期、总订购数量、留言、送货方式、支付方式、收货人姓名、收货地址、收货人联系方式、备注、总卖出价
6、(6)详细订单属性:自动编号Id、详细订单OrderDetailId、订单号OrderId、图书编号、订购数量、发货状态、收货状态、卖出总价(7)参数设置属性有:网站名、注册条款、公告、地址、邮编、电话号码等(8)图书评价的属性:自动编号CommentId、图书编号、评论客户编号、评论客户名、评论时间、评论内容、审核标志(9)信息反馈的属性:自动编号ReplyId、留言类型、留言主题、留言内容、留言客户编号、留言客户名、留言日期、客户IP3.2 E-R图图3-1图书类别信息图3-2管理员信息图3-3图书信息图3-4客户信息图3-5购物车临时订购信息图3-6订单信息图3-7订单详细信息图3-8图
7、书评论信息图3-9信息反馈图3-10网上书店顶层E-R图四、逻辑结构4.1逻辑转换根据3.2节中的E-R图可以将系统中的概念模型转换为具体的表(即关系)结构,共分为9个关系,详细信息如下所示:客户(会员)(客户编号,客户名,客户密码,真实姓名,性别,客户电话,E-mail,地址,注册时间,提示问题,问题答案,登陆次数,最近登陆时间,邮编)管理员(管理员编号,管理员名称,管理员邮箱,密码,权限标志)图书类型(图书类型编号,类别名称)图书(图书编号,图书名称,图书类型,出版社,出版日期,开本,版次,图书作者,图书译者,图书ISBN,图书定价,图书页码,图书简介,图书目录,市场价,会员价,成交量,浏
8、览次数,折扣,图书封面图,图书库存量,入库时间、封装方式)购物车零时订购信息(客户编号,图书编号,订购数量,总价,是否付款)订单(Id,订单号,客户编号,下单日期,总订购数量,留言,送货方式,支付方式,收货人姓名,收货地址,收货人联系方式,备注,总卖出价)详细订单(Id,详细订单编号,订单号,图书编号,订购数量,发货状态,收货状态,卖出总价)图书评价(图书评价编号,图书编号,评论客户编号,评论客户名,评论时间、评论内容,审核标志)信息反馈(信息反馈编号,留言类型,留言主题,留言内容,留言客户编号,留言客户名,留言日期,客户IP)4.2细化表结构为方便,根据上述文字描述,用英文简写为表和列取名,
9、确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:(1)客户信息表tb_customerinfo表1客户信息表列名说明数据类型约束CustomerId客户编号int主码(自增字段)CustomerName客户名称varchar(20)主码not nullCustomerPwd客户密码varchar(20)not nullCustomertruename真实姓名varchar(20)not nullCustomerSex性别varchar(2)not null,取“男”或“女”CustomerTel客户电话varchar(20)not nullCustomerEmailE-
10、mailvarchar(20)not nullCustomerAddr地址varchar(20)not nullCustomerRegTime注册时间datetimenot nullCustomerQues提示问题varchar(200)CustomerAnswer问题答案varchar(200)CustomerLogTime登陆次数intnot nullCustomerLastLogT最近登陆时间datetimenot null(2)图书类型信息表tb_booktypeinfo表2图书类型信息表列名说明数据类型约束BookTypeId图书类型编号int主码(自增字段)BookTypeName
11、类别名称varchar(50)not null(3)图书信息表tb_bookinfo表3图书信息表列名说明数据类型约束BookId图书编号int主码(自增字段)BookTypeId图书类型intnot null,引用tb_booktypeinfo的外码BookName课程名varchar(20)not nullBookPress出版社varchar(20)not nullBookPubDate出版日期datetimenot nullBookSize开本varchar(10)not nullBookVersion版次varchar(10)not nullBookAuthor图书作者varchar
12、(10)not nullBookTanslor图书译者varchar(10)Bookisbn图书ISBNvarchar(20)not nullBookPrice图书定价moneynot nullBookPages图书页码intnot nullBookOutline图书简介varchar(200)not nullBookCatalog图书目录varchar(200)not nullBookMprice市场价moneynot nullBookPrprice会员价moneynot nullBookDealmount成交量intnot nullBookLookmount浏览次数intnot nullB
13、ookDiscount折扣decimalnot nullBookPic图书封面图varchar(20)not nullBookStoremount图书库存量intnot nullBookStoretime入库时间datetimenot nullBookPackstyle封装方式varchar(20)not null(4)管理员信息表tb_manager表4管理员信息表列名说明数据类型约束AdminId管理员编号int主码(自增字段)AdminName管理员名称varchar(10)not nullAdminPwd密码varchar(20)not nullAdminFlag权限标志intnot
14、null(5)参数设置信息表tb_parameter表5参数设置信息表列名说明数据类型约束webname网站名varchar(20)主码(自增字段)regtiaoyue注册条款varchar(100)not nullnotice公告varchar(100)not nulladdress地址varchar(20)not nullpostcode邮编varchar(10)not nulltel电话号码varchar(10)not nullcopyright版权varchar(20)not nullweblogo网站Logovarchar(100)not nullwebsite网站地址varchar
15、(10)not nullaffordmethod支付方式varchar(100)not nullshopstream购物流程varchar(100)not nullpostmethod送货方式varchar(100)not nullpostprice送货费用moneynot nullPostdescp运输说明varchar(100)not nullworktime工作时间varchar(20)not nullservice售后服务varchar(100)not nulllaw使用法律varchar(100)not nullcommques常见问题varchar(100)not nulldeal
16、rule交易条款varchar(100)not null(6)购物车临时订购信息tb_shopbook表6购物车临时订购信息表列名说明数据类型约束CustomerId客户编号int主码(自增字段)BookId图书编号int主码,引用tb_bookinfo的外码ordermount订购数量intnot nullprice总价moneynot nullispay是否付款varchar(10)not null,默认为未付款,取“未付款”或“已付款”(7)订单信息表tb_order表7订单信息表列名说明数据类型约束Id自动编号intnot null(自增字段)OrderId订单编号varchar(20
17、)主码CustomerId客户编号intnot null,引用tb_customerinfo的外码Orderdate下单日期datetimenot nullOrdermount总订购数量intnot nullmessage留言varchar(100)postmethod送货方式varchar(100)not nullpaymethod支付方式varchar(100)not nullrecevername收货人姓名varchar(10)not nullreceveraddr收货地址varchar(20)not nullrecevertel收货人电话号码varchar(10)not nullmem
18、o备注varchar(100)totalprice总卖出价moneynot null(8)订单详细信息表tb_orderdetail表8订单详细信息表列名说明数据类型约束Id自动编号intnot null(自增字段)OrderDetailId详细订单编号int主码OrderId订单号varchar(20)not null,引用tb_order的外码BookId图书编号intnot nullordermount订购数量intnot nullpoststatus发货状态varchar(10)not null,默认为未发货,取“未发货”或“已发货”Recevstatus收货状态varchar(10)
19、not null,默认为未收货,取“未收货”或“已收货”sigletotalprice卖出总价moneynot null(9)图书评价信息表tb_comment表9图书评价信息表列名说明数据类型约束CommentId图书评价编号int主码(自增字段)BookId图书编号intnot null,引用tb_bookinfo的外码CustomerId评论客户编号intnot null,引用tb_customerinfo的外码Customername评论客户名varchar(20)not nullCommentdate评论时间datetimenot nullCommentcontent评论内容varc
20、har(100)not nullCommentflag审核标志varchar(10)not null(10)信息反馈信息表tb_reply表10信息反馈信息表列名说明数据类型约束ReplyId信息反馈编号int主码(自增字段)ReplyType留言类型varchar(20)not nullReplytitle留言主题varchar(20)not nullReplycontent留言内容varchar(100)not nullCustomerId留言客户编号intnot null,引用tb_customerinfo的外码Customername留言客户名varchar(20)not nullCo
21、mmentdate留言日期datetimenot nullCustomerIP客户IPvarchar(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 n
22、ull, 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 varcha
23、r(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, cons
24、traint 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,
25、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 nul
26、l, 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
27、 ( 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
28、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(10