已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网上书店数据库设计一、概要设计2.1意义伴随着信息化的发展,计算机走进了千家万户,人们的交流变得方便,方便了网民的生活!此外,伴随着卓越、当当、淘宝等网络购物平台的兴起,网络购物也被网民认可,首先,网上书店方便了网民的生活,更加便捷地、足不出户便可买到心仪的书籍;其次,网上购书减少了许多中间销售代理,因此价格会比较低,对广大网民的好处是非常明显的;再者,网上书店是信息化购物,基本上所有操作都是通过计算机程序自动完成的,因此大大降低了劳力的消耗;最后,电子商务与出版发行业的结合使发展网上书店及研究网上书店具有双重意义,充分结合互联网销售的特点探索图书发行的新渠道和新模式,是对电子商务科学的充实和补充,更是对出版发行业发行渠道和市场的开拓和创新。数据库对于一个系统的意义是相当重要的,它关系到整个项目的整体流程,整个网站的后期维护便捷与否,从长远利益来看,数据库的设计是至关重要的。2.2目的数据库,即存放数据的仓库,设计出数据库可以方便的运用于实际开发的应用程序或者网站当中,使其能够完成譬如增、删、改数据,本实验的目的在于通过一个简要的数据库设计理解整个数据库设计流程。2.3内容和要求本实验将设计出一个网上书店数据库,其要求简要如下:(1)系统用户由两类组成:管理员和客户。(2)管理员负责后台管理:图书信息的维护(增、删、改),图书要进行分类管理;客户信息的维护;订单的确认和删除。(3)读者可以查询图书的基本信息,可以维护自己的信息,可以进行网上订书,可以查询订单处理的情况。(4)在数据库设计中应考虑如下因素:数据库的逻辑模型应能满足系统的基本需求;数据库的逻辑模型应符合关系数据的规范化要求;数据库表应具有基本的完整性约束。二、需求分析2.1背景一个书店中的书籍类别、数量是非常庞大的,虽然书籍的分类是非常规范,但仅仅局限于概念上的分类仍无法运用于实践当中,这就给管理人员带来了极大的工作量,因此就需要一个比较科学的管理办法来解决此问题。由于数据库能够非常方便地解决此类问题,因此我们便想到了利用数据库来进行数据管理。2.2概要分析该系统主要分为两部分,一个为普通会员用户部分,亦即前台系统。另外一个是系统的管理员部分,即后台系统。网上书店前台系统部分主要是实现网上选书、购书、产生订单等功能的系统。后台实现书籍管理、用户管理、订单处理等功能。2.3开发技术开发工具:Microsoft SQLServer 2008开发语言:SQL开发技术:数据库开发技术面向对象:需求者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、留言类型、留言主题、留言内容、留言客户编号、留言客户名、留言日期、客户IP3.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 nullCustomerPwd客户密码varchar(20)not nullCustomertruename真实姓名varchar(20)not nullCustomerSex性别varchar(2)not null,取“男”或“女”CustomerTel客户电话varchar(20)not nullCustomerEmailE-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类别名称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(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 nullBookDiscount折扣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 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(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 nulldealrule交易条款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)主码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 nullmemo备注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)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评论内容varchar(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 nullCommentdate留言日期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 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)go5.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,,常熟理工,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,,建行、工行,发的发放,合法哈客户卡的合法,发的发,发的发,7.00,8:00-12:00,f得法,发的说法,0.87,的法定)5.4创建必要触发器5.4.1定义一个触发器,其基本功能是在tb_bookinfo表中修改库存数量时,检查数量是否小于0,如果是提示库存不足,库存为空。其具体代码如下所示:create trigger trig1on tb_bookinfofor updateasif(update(BookStoremount) begin declare mount int set mount=(select BookStoremount from deleted) if(mount0) begin print 库存不足,库存为空 rollbackendend5.4.2定义一个触发器,其基本功能是在填写订单和详细订单的时候相应的总价被计算处理填入相应的位置。其具体代码如下所示:create trigger trig2on tb_orderdetailfor insert,updateas 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*priceupdate 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 go5.5创建必要存储过程5.5.1建立存储过程customer_book,功能是客户在网站前台根据客户名称来查询买到的图书详细情况,其实现代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学英语复习提纲及练习题
- 五星级酒店保洁服务合同范本
- 室内装修施工保护细则指南
- 渠道服务费结算三方协议模版
- 现代企业内控管理实务手册
- 物流仓库智能化管理应用案例
- 美术史重要术语解释与经典案例分析
- 小学数学预习单元练习卷下载
- 外墙挂板施工方案及要求
- 布袋除尘器装置施工方案
- DB37T 4010-2020含阿胶的食品中阿胶含量的测定方法
- 口腔科突然停电应急预案
- 商场保洁标准培训
- 2025年度合同审查与修改实务操作手册合同
- GA/T 2154-2024安全防范指纹识别应用小尺寸指纹识别模块技术要求和测试方法
- 上海市某中学2024-2025学年七年级数学上学期期中检测试卷(含答案)
- 骨折康复的注意事项
- 重介洗煤系统的密度控制
- 第10课《往事依依》课件-2024-2025学年统编版(2024)语文七年级上册
- 部编版四年级上册语文全册分课时看拼音写词语(含参考答案)
- 绝对完整的英语词根词缀大全
评论
0/150
提交评论