`
tansitongba
  • 浏览: 503637 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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

博客地址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客户信息表

(2)tb_booktypeinfo图书类型信息表
(3)tb_bookinfo图书信息表
(4)tb_manager管理员信息表
(5)tb_parameter参数设置信息表
(6)shopbook购物车零时订购信息
(7)tb_order订单信息表
(8)tb_orderdetail订单详细信息表
(9)tb_comment图书评价信息表
(10)tb_reply信息反馈信息表

5.2 创建约束条件


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


5.4 创建必要触发器

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


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


5.5 创建必要存储过程

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


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

六、总结

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

参考文献

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

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


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

分享到:
评论

相关推荐

    数据库作业-网上书店系统数据库设计.docx

    网上书店系统是一个典型的在线购物平台,它涉及到数据库设计的关键元素,包括实体关系(ER)模型、关系模式、数据类型和数据库操作。以下是该系统数据库设计的相关知识点: 1. **实体和实体关系**: - **角色...

    网上书店管理系统 数据库系统设计

    本文将详细介绍一份针对大学课程设计的《网上书店管理系统 数据库系统设计》报告,阐述其设计意图、作用范围及需求分析,并深入探讨其软件需求、系统功能模块以及数据库设计的核心内容。 首先,该系统的软件需求...

    数据库课程实验13——网上书店管理系统数据库设计

    华科数据库课程实验13——网上书店管理系统数据库设计。压缩文件包括一个sql文件和WORD文档,其中SQL为初步实现的数据库文件;WORD文档描述了需求分析、数据字典、ER图、ER图转换为关系模式以及初步具体实验代码截图...

    c# 数据库系统,网上书店,

    本项目基于C#和Visual Studio 2010,结合SQL Server 2008数据库,构建了一个完整的网上书店系统。这个系统不仅展示了C#在数据库交互上的强大能力,同时也体现了Web应用程序的设计和实现。 1. **C#与数据库交互**: ...

    网上书店管理系统(Sql Server 2000和JSP共同开发)数据库课程设计

    该网上书店为‘用户’提供了会员注册,购物车管理,商品搜索,用户资料修改等功能,为‘管理员’提供了商品管理,用户信息管理,订单管理等功能。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的...

    数据库课程设计 网上图书销售系统数据库课程设计上报告.doc

    【网上图书销售系统...通过本次课程设计,学生将深入理解数据库设计原则,掌握ER模型、关系模型的转换,以及SQL语句的编写与优化。同时,还能学习到系统架构设计、前端开发以及如何处理用户交互,全面提升综合技能。

    网上书店系统数据库课程设计

    网上书店系统数据库课程设计是一项常见的IT实践项目,旨在让学生深入理解数据库原理并应用到实际系统中。在这个项目中,学生通常需要设计、实现并优化一个用于网上书店的数据库系统。以下是一些关键知识点的详细说明...

    书店管理系统数据库设计(PL SQL)

    书店管理系统数据库设计主要涉及到使用PL/SQL语言对数据库进行规划和构建,以满足书店的日常运营需求。在本文中,我们将详细讨论系统需求、数据库的概念设计、逻辑设计以及数据库的创建。 1. 系统需求分析 书店管理...

    数据库课程设计 网上书店管理系统包括需求分析

    网上书店管理系统是一个典型的数据库应用案例,它涉及到许多关键的IT知识点,主要集中在数据库设计、JAVA编程以及系统需求分析这三个方面。下面将详细阐述这些领域的核心概念。 首先,**需求分析**是任何系统开发的...

    数据库课程设计网上书店

    总的来说,“数据库课程设计网上书店”项目提供了一个全面的学习平台,涵盖了数据库设计的全过程,从理论到实践,从需求分析到系统实现,对提升数据库管理和开发技能大有裨益。通过这个项目,学习者可以深入了解...

    数据库课程设计:网上书店

    网上书店系统通常涉及到用户管理、商品展示、购物车、订单处理等核心功能,这些都是数据库操作的关键。 首先,我们需要理解ASP(Active Server Pages)技术。ASP是微软开发的一种服务器端脚本语言,用于创建动态...

    数据库课程设计-网上书店

    综上所述,网上书店的数据库课程设计是一个全面的实践项目,涵盖了数据库设计的全过程,对于理解和掌握数据库系统有极大的帮助。在实际操作中,还需要不断学习和适应新的技术和最佳实践,以满足日益复杂的业务需求。

    数据库设计网上书店数据库设计

    【网上书店数据库设计】是指构建一个支持在线图书销售和管理的数据库系统,旨在提供便捷的购书服务。设计包括对数据库的需求分析、创建、基本操作以及高级特性的应用,同时考虑了安全性方面的要求。 在【需求分析】...

    数据库课程设计,书店销售管理系统(源码+论文).zip

    2022年新鲜出炉的数据库课程设计,基于Java+MySQL+Redis的书店销售管理系统,包含源码以及论文。

    数据库课设网上书店管理系统.zip

    python实现网上书店系统,全部数据库课设要求都实现了,进入之后直接运行operation.py即可,配套数据库也在dbmanager.py中有方法,自己运行即可,效果很好,不过不推荐直接照抄,可以参考思路,因为这个阶段大多数都...

    网上书店数据库设计与分析

    网上书店数据库设计与分析是构建一个高效、稳定且易于维护的在线销售平台的关键步骤。数据库设计涉及多个层面,包括需求分析、概念模型设计、逻辑模型设计以及物理模型设计,确保数据的完整性和一致性。 首先,我们...

    C#+SQL数据库开发的网上书店系统

    总的来说,"C#+SQL数据库开发的网上书店系统"是一个涵盖了软件工程多个领域的实践项目,涉及前端交互、后端逻辑、数据库设计等多个环节,对于学习和提升全栈开发技能具有很高的价值。通过深入研究这个项目,开发者...

    一个网上书店的数据库简单设计

    网上书店的数据库设计是构建电子商务系统的关键部分,它负责存储、管理和检索与图书销售相关的大量信息。在这个实例中,我们有一个简单的数据库设计方案,包括关系图、Visio设计文档以及实际的数据库文件。以下是对...

Global site tag (gtag.js) - Google Analytics