数据库概论-网上图书商城数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《在线图书商城》数据库设计
数据库在在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。数据库设计一般包括以下四个部分:数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库物理结构实现。
一、数据库需求分析
系统主要分为两部分,一个为普通会员用户部分,亦即前台系统。另外一个是系统的管理员部分,即后台系统。
网上书店前台系统部分主要是实现网上选书、购书、产生订单等功能的系统。后台实现书籍管理、用户管理、订单处理等功能。
开发工具:Microsoft SQLServer 2000
开发语言:SQL
二、数据库概念结构设计
系统共有九个实体:客户、管理员、图书类型、图书、订单、详细订单、参数设置、图书评价、信息反馈。
(1)客户(会员)的属性:自动编号CustomerId、客户名、客户密码、真实姓名、性别、客户电话、E-mail、地址、注册时间、提示问题、问题答案、登陆次数、最近登陆时间、邮编
(2)管理员的属性:自动编号AdminId、管理员名称、管理员邮箱、密码、权限标志
(3)图书类型的属性:自动编号BookTypeId、类别名称
(4)图书的属性:自动编号BookId、图书名称、图书类型、出版社、出版日期、开本、版次、图书作者、图书译者、图书ISBN、图书定价、图书页码、图书简介、图书目录、市场价、会员价、成交量、浏览次数、折扣、图书封面图、图书库存量、入库时间、封装方式
(5)订单的属性:自动编号Id、订单号OrderId、客户编号、下单日期、总订购数量、留言、送货方式、支付方式、收货人姓名、收货地址、收货人联系方式、备注、总卖出价
(6)详细订单属性:自动编号Id、详细订单OrderDetailId、订单号OrderId、图书编号、订购数量、发货状态、收货状态、卖出总价
(7)参数设置属性有:网站名、注册条款、公告、地址、邮编、电话号码等
(8)图书评价的属性:自动编号CommentId、图书编号、评论客户编号、评论客户名、评论时间、
(9)信息反馈的属性:自动编号ReplyId 、留言类型、留言主题、留言内容、留言客户编号、留言客户名、留言日期、客户IP
根据上面设计规划出的实体,其具体的“E-R 图”如下:
1.图书类别信息
2.图书信息
图书类型 图书类编号
类别名称
图书
图书编号 图书名称 图书类型
出版社
出版日期
版次
图书作者
会员价 市场价 图书库存量 成交量 开本
封装方式
入库时间 图书目录 图书简介 图书定价 图书封面图
图书译者
折扣
备注
3.管理员信息
4.客户信息
5.订单信息
权限标志
客户
客户编号 客户密码 真实姓名
性别
邮编
客户名 注册时间 提示问题 客户电话
客户电子邮
箱
客户密码
问题答案
登陆次数
最近登录时
间
订单
订单编号 客户编号 下单日期
总订购数量
留言
送货方式
支付方式
总价 备注 收货人联系方式
收货地址
收货人姓名
评论内容
审核标志
6.图书评论信
三、据库逻辑结构设计 & 数据库物理结构实现
1.客户(会员):
(客户编号,客户名,客户密码,真实姓名,性别,客户电话,E-mail,地址,注册时间,提示问题,问题答案,登陆次数,最近登陆时间,邮编)
表1:客户信息表tb_customerinfo
列名说明数据类型约束
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
代码实现: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.管理员:
(管理员编号,管理员名称,管理员邮箱,密码,权限标志)
表2:管理员信息表tb_manager
列名说明数据类型约束
AdminId管理员编号int主码(自增字段)AdminName管理员名称varchar(10)not null
AdminPwd密码varchar(20)not null
AdminFlag权限标志int not null
代码实现: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)
)