化妆品商城数据库设计文档.docx
- 文档编号:9241794
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:51.06KB
化妆品商城数据库设计文档.docx
《化妆品商城数据库设计文档.docx》由会员分享,可在线阅读,更多相关《化妆品商城数据库设计文档.docx(15页珍藏版)》请在冰豆网上搜索。
化妆品商城数据库设计文档
ladyshow化妆品商城设计与实现
数据库设计说明书
版本:
1.0
文档信息及版本历史
文档信息
项目名称
ladyshow化妆品商城
文档名称
ladyshow化妆品商城数据库设计说明书
存储位置
版本
作者/修改者
日期
描述
1.0
2014/4/3
开始撰写文档
目录
1引言3
1.1编写目的3
1.2术语表3
1.3数据库命名约定3
1.4参考资料3
2数据库环境说明4
3数据库的命名规则4
3.1数据库-表命名4
3.2数据库-字段命名4
4概要设计4
5逻辑设计7
6物理设计8
6.1确定关系模型的存取方法8
6.2确定数据库的存储结构9
7存储过程、函数及触发器的设计9
8安全性设计9
8.1用户帐号密码的加密方法9
8.2角色与权限10
9数据库实施10
1引言
1.1编写目的
数据库设计说明书是数据库设计的必要部分,对设计中的数据库的所有标识、逻辑结构和物理结构做出具体的设计规定,指导程序员建立数据库的工作。
本文档是Ladyshow网上化妆品商城系统概要设计文档的组成部分,编写数据库设计文档的目的是:
明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,为系统开发的程序员、系统分析员作为基准的文档,本文档遵循《数据库设计和开发规范》。
本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。
1.2术语表
序号
术语或缩略语
说明性定义
1
TM
TheManager,店长
2
TAOTS
Theadministratoroftheservice,客服管理员
3
MA
Member,会员
4
UR
User,用户
1.3数据库命名约定
前缀
说明
PK
表示主键
UK
表示唯一键
FK
表示外键
UI
表示唯一索引
NUI
表示非唯一索引
1.4参考资料
资料名称
作者
文件编号、版本
资料存放地点
《软件工程理论与实践》
张燕、洪蕾、钟睿、李慧
ISBN:
9787111382843
出版日期:
机械工业出版社
出版日期:
2012-10-1
所发教材
《数据库系统概论》
王珊、萨师煊
ISBN:
9787040195835
高等教育出版社
出版日期:
2006-5出版社:
高等教育出版社
出版时间:
2006-7-3出版社:
高等教育出版社
出版时间:
2006-7-3
所发教材
《JSP程序设计教程》
郭珍、王国辉
ISBN:
9787115177742,出版社:
人民邮电出版社第二版
出版日期:
2012-10-1
所发教材
2数据库环境说明
数据库实例
数据库管理系统
数据库部署环境
数据库设计工具
数据库存放位置
说明
实例名,文件名
MySQL
软硬件、网络环境
visio
"D:
\MySQL\Setup.exe"
实例用途说明
3数据库的命名规则
3.1数据库-表命名
1.表名用tb_开头,表名长度不能超过30个字符。
2.表中含有的单词建议用完整的单词。
3.2数据库-字段命名
1.数据库字段名第一个单词或其缩写全部采用小写英文单词,如果有多个单词从第二个以后单词首字母大写,单词之间无空格。
字段长度不能超过30个字符。
2.如果该字段是代码,则在单词后加_Id。
3.如果该字段表示的是时间,则使用_Date为后缀。
4.如果该字段表示的是名称,则使用_Name为后缀。
4概要设计
根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
Ladyshow化妆品网上商城可划分的实体有:
会员实体,管理员实体,订单实体,商品实体,商品类别实体,评论实体。
1.会员实体图
图4-1会员实体及属性图
2.管理员实体图
图4-2管理员实体及属性图
3.商品实体图
图4-4商品实体及属性图
4.商品类别实体图
图4-5商品类别及属性图
5.总的E-R图
图4-6总的E-R图
5逻辑设计
表5-1 会员表
表中列名
数据类型
可否为空
是否为主键
中文名称
username
Char(30)
Notnull
主键
用户名
pwd
Char(10)
Notnull
密码
mibao
Char(30)
密保
answer
Char(30)
密码
表5-2 商品类别表
表中列名
数据类型
可否为空
是否为主键
中文名称
typeId
Char(10)
Notnull
主键
类别ID
typeName
Char(20)
Notnull
类别名称
表5-3 商品表
表中列名
数据类型
可否为空
是否为主键
中文名称
goodId
Char(10)
Notnull
主键
商品ID
goodName
Char(20)
Notnull
商品名字
price
float
Notnull
单价
number
int
库存量
goodDetail
Char(30)
商品描述
typeId
Char(10)
Notnull(外键)
类别ID
表5-4 商品图片表
表中列名
数据类型
可否为空
是否为主键
中文名称
picId
int
Notnull
主键
图片ID
goodId
Char(20)
Notnull(外键)
商品ID
pic
Char(20)
图片
表5-5 订单表
表中列名
数据类型
可否为空
是否为主键
中文名称
orderId
Char(20)
Notnull
主键
订单ID
num
int
Notnull
总量
address
Char(30)
Notnull
收件地址
tel
Char(12)
Notnull
电话号码
Kd
Char
(2)
Notnull
快递
userName
Char(30)
Notnull(外键)
用户ID
orderDate
Char(20)
Notnull
订单日期
price
float
Notnull
总价
表5-6订单详情表
表中列名
数据类型
可否为空
是否为主键
中文名称
orderId
Char(20)
Notnull
主键
订单ID
goodId
Char(10)
Notnull(外键)
主键
商品ID
num
int
Notnull
数量
表5-7 客服表
表中列名
数据类型
可否为空
是否为主键
中文名称
username
Char(30)
Notnull
主键
用户名
pwd
Char(10)
Notnull
密码
mibao
Char(30)
密保
answer
Char(30)
密保答案
表5-7 评论表
表中列名
数据类型
可否为空
是否为主键
中文名称
username
Char(30)
Notnull(外键)
主键
用户名
goodId
Char(10)
Notnull(外键)
主键
密码
content
char(70)
Notnull
内容
a_date
Char(20)
Notnull
评论时间
6物理设计
6.1确定关系模型的存取方法
在实际设计中最常用的存取方法是索引,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:
在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。
才能充分利用索引的作用避免因索引引起的负面作用。
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法。
所谓的“合理”主要有两个含义:
一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。
主要体现在后者。
(1)建立索引:
①对商品类别表在typeId属性列上建立聚集索引。
②对商品表在goodId上建立聚集索引,在goodName、goodDetail、上typeId建立非聚集索引。
③对订单表在orderId上建立聚集索引。
6.2确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。
将日志文件和数据库对象(表、索引等)分别放在不同的磁盘可以改进系统的性能。
所以系统将日志文件和数据文件存放在不同磁盘上。
7存储过程、函数及触发器的设计
存储过程:
根据具体的业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。
在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其它定义提供功能的过程。
1.对商品按类别查询:
Delimiter//
Createprocedureproc1(inpinchar(10))
Begin
Declarenumchar(10);
Setnum=pin;
SelectgoodId,goodNamefromtb_goodswheretypeId=num;
End;
Delimiter
2.对订单按订单号查询:
Delimiter//
Createprocedureproc1(inpinchar(10))
Begin
Declarenumchar(10);
Setnum=pin;
SelectorderDate,allPricefromtb_dingdanwhereordered=num;
End;
Delimiter
触发器:
对于复杂业务规则使用触发器,简单的完整性规则通过约束实现。
8安全性设计
8.1用户帐号密码的加密方法
使用Strust2、Spring等所学框架中的passwordEncorde和Saltsource对密码进行MD5加密和解密
8.2角色与权限
角色
可以访问的表与列
操作权限
店长
可访问所有表
完全控制权限
客服
可以访问订单表,订单详情表,评论表,会员信息表
查看所访问表的信息,个人信息的管理,商品的增删改查
会员
访问订单表,订单详情表,
对自己订单的增删改查,个人信息管理
9数据库实施
此阶段主要任务包括创建数据库,加载初始数据.
1.创建数据库脚本
createdatabaseladyshow;
useladyshow;
2.创建表脚本
客户表
createtabletb_customer(
usernamechar(30)primarykey,
pwdchar(10)notnull,
mibaochar(30),
answerchar(30)
)
商品类别表
createtabletb_goodType(
typeIdchar(10)primarykey,
typeNamechar(20)notnull
)
商品表
createtabletb_goods(
goodIdchar(10)primarykey,
goodNamechar(20)notnull,
pricefloatnotnull,
numberint,
goodDetailchar(30),
typeIdchar(10),
foreignkey(typeId)referencestb_goodType(typeId)ondeletecascade
onupdatecascade
)
商品图片表
createtabletb_goodPic(
picIdintprimarykey,
goodIdchar(10),
picchar(20),
foreignkey(goodId)referencestb_goods(goodId)ondeletecascadeon
updatecascade
);
订单表
createtabletb_dingdan(
orderIdchar(20)primarykey,
orderDatechar(20)notnull,
allPricefloatnotnull
)
订单详情表
createtabletb_detail(
orderIdchar(20),
goodIdchar(10),
numintnotnull,
addresschar(30)notnull,
telchar(12)notnull,
kdchar
(2)notnull,
usernamechar(30),
primarykey(orderId,goodId),
foreignkey(orderId)referencestb_dingdan(orderId)ondelete
cascadeonupdatecascade,
foreignkey(goodId)referencestb_goods(goodId)ondeletecascadeon
updatecascade,
foreignkey(username)referencestb_customer(username)ondelete
cascadeonupdatecascade
)
客服表
createtabletb_manager(
usernamechar(30)primarykey,
pwdchar(10)notnull,
mibaochar(30),
answerchar(30)
)
评论表
createtabletb_artical(
usernamechar(30),
goodIdchar(10),
contentchar(70),
a_datechar(20)notnull,
primarykey(username,goodId),
foreignkey(username)referencestb_customer(username),
foreignkey(goodId)referencestb_goods(goodId)
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 化妆品 商城 数据库 设计 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)