视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
服装电子商务数据库设计v1.0版
2025-09-27 23:37:40 责编:小OO
文档

实训X班X组文 档 编 号

产品版本密级
文件状态:

[   ] 草   稿

[    ] 正式发布

[   ] 正在修改

1.0内部
项目名称服装电子商务共16页

微软实训项目管理平台 数据库设计报告

文档作者:   邹泽桦          

项目组长:   付磊扬     

批 准 人:               

批准日期:                 

版本状态

版本作者参与者起止日期注释
V0.1邹泽桦2013.9.12-2013.9.16

初稿
审阅者

团队版本日期签名
分发

姓名位置分发方式分发日期
1引言

1.1编写目的

数据库设计报告描述了一个数据库的设计,数据库是将一组相关数据存储为一个或多个计算机文件,并允许用户或计算机程序通过数据库管理系统(DBMS)访问这些数据。它同时也描述了用来访问或操作这些数据的软件模块。

本文档是说明了数据库设计的整个概念,设计过程及各对象之间的关系提供了数据库设计的可视性以及软件支持所需的信息。

1.2编写约定

对照《联微邮件通讯平台项目数据库设计报告1.0》编写数据库

1.2.1目录规则

一级标题字体为小三+黑体+加粗,编号从1开始

二级标题字体为四号+黑体+加粗,编号如1.1开始,1为上级编号

三级标题字体为小四+黑体+加粗,编号如1.1.1开始1.1为上两级编码组合;

四级标题字体为五号+黑体+加粗,编号如1.1.1.1开始,1.1.1为上级编号

五级标题字体为五号+黑体+加粗,编号如1),重新开始编号;

六级标题字体为五号+黑体+加粗,编号如(1),重新开始编号;

七级标题字体为五号+黑体+加粗,编号如a.,重新开始编号;

标题的字体依次类推,最小字体不得小于五号,都为黑体+加粗;

1.2.2正文内容

正文内容都为五号+宋体(首行缩进两个字符),段间距为1.5倍行距;项目符号可以自行定义。

图片下方应出现图例“图 *-*-*”,图片需要调整大小,以适合某章节中图片不跳页而使得上一页有大量空白。并且每章最后插入一个分页符,使得各章节之间互不干扰。

表的标注在表上方居中显示“表*-*-*”;表格内的字体统一为小五号+宋体。

表格内的字体统一为五号+宋体。

1.2.3模板标注

采用斜体标注的是提示部分,供填写时参考,此部分内容需要删除。

采用兰色字体标注的是示例部分,供填写时参考,此部分内容需要删除。

1.3读者对象

《微软实训项目管理平台数据库设计报告》的阅读对象为:

1)对相关业务技术和总体方案作出决策的管理人员和质量管理人员;

2)对本《数据需求说明书》进行评审和确认的有关业务、技术人员;

3)参加详细设计,测试设计阶段工作的全体设计人员;

4)《微软实训项目管理平台》项目组,其他有权需要调用本文档的人员

    

1.4术语解释

名词/术语/缩写词

解 释

1.5参考资料

2数据库环境说明

1.待开发的数据库名称:微软实训项目管理平台数据库

2.数据库系统:SQL Server 2008

3.数据库宿主环境:

软件环境: 

           Microsoft SQL Server 2008 R2 数据库

           Power Designer 12.5 数据库开发工具

           Microsoft Visual Studio 2010开发工具

硬件环境:

Intel Pentium 2GHz及以上;

            800×600分辨率及以上;

            内存1G及以上

4.客户端连接工具:IE7.0或以上版本

3数据库的命名规则

数据库命名要遵从以下命名原则:

表意性原则:数据库命名本着表意性原则,即命名应尽量反映存储/action/view/column的数据内容;

长名原则:很少使用或者不使用缩写;

数目最少化原则:数据库对象应该尽量满足数据最小化原则,也就是数据库数目,存储过程,视图等数量最小化。

数据库名:

●数据库数目最少化原则 ;

●数据库名采用Pascal大小写命名方法;

●表名采用Pascal大小写命名法;

●整个表名的长度不要超过30 个字符;

●首字母大写,多个单词的话,单词首字母大写,反对order/Useraccout/ORDER;

●避免中文拼音;

●避免下划线连接,反对User_Accout(下划线适用Oracle数据库);

●避免保留字;

●表别名命名规则:取表义名的前3个字符加最后一个字符。如果存在冲突,适当增加字符(如取表义名的前4 个字符加最后一个字符等);

●数据库中不论是表名还是字段名,都一律用英文,不准出现其它语言;且保留原来的字段名,保留它们的规范; 

●表名称 = 表内容标识(首字大写),如User。

●命名应尽量反映存储的数据内容;

●为了不增加数据库当中的表名的长度,一般不允许出现如Form或者Table的字样,如:记录表:应为Record,而不是RecordTable;

属性(列或字段)

●采用有意义的列名;

●采用Pascal大小写命名法;

●属性名前不要加表名等作为前缀;

●必须有一主键,主键不直接用ID,而是表名+Id;

●不要使用“ID”作为列名;

●属性后不加任何类型标识作为后缀; 

●避免中文拼音;

●避免下划线连接;

●避免名称过长;

●避免保留字。

3.1主键

●主键一般以表名加表示主键的意义的词组成或者表名+Id;

●原则上任何表都必须定义主键;

●原则上反对联合主键;

●主键命名为:“表名+表示意义的词”,如UserId。

3.2外键 

●外键即其主键表的主键名,所以参考主键命名规范。

4物理设计

4.1表汇总

表名功能说明
表 Brand

表 Categories

表 Chileren

表 Commodity

表 CommodityOrders

表 CommodityStyle

表 DeleteBills

表 GoodBills

表 GoodOrders

表 Goodstate

表 Orders

表 OrdersState

表Parameter

表Review

表Salebills

表ShoppingCar

表sysdiagrams

表UserRoles

表Users

表Usertates

4.2表 Project

表名Brand
列别名列名数据类型(精度范围)空/非空

约束条件说明
商标编号

BIDNumber非空主键
商标名称BNamevarchar(10)

非空
parentID

parentIDNumber非空外键
补充说明
表名categories
列别名列名数据类型(精度范围)空/非空

约束条件说明
类别编号

CIDnumber非空主键
parentldparentldnumber非空外键    

类别名字CNamevarchar(20)

非空
HosearchTimeHosearchTimeint非空对于每一件的搜索热度
补充说明
表名children
列别名列名数据类型(精度范围)空/非空

约束条件说明
童装ID

Id

int非空主键
商品ID

commodityIdint非空外键    

体重HeightNvachar(20)

非空
性别sexNvachar(20)

非空
补充说明
表名commodity
列别名列名数据类型(精度范围)空/非空

约束条件说明
商品编号

COMIDnumber非空主键
商品名字COMName

varchar(30)

非空
价格COMPrice

int非空  
风格ID

COMStyleld

number非空
售价COMSales

int非空
点击量Hitnum

int非空
商标编号

Brandldnumber非空外键   

ISBNISBNvarchar(500)

非空
时间timestime非空
介绍Introduction

varchar(500)非空
库存量

Stockint非空
类别ID

CategoriesldNumber

非空
商品类别Goodscategoriesnumber非空
补充说明
表名commodityOrders
列别名列名数据类型(精度范围)空/非空

约束条件
商品列表idnumber非空主键
商品编号

Commodityld number非空外键    

商品数量CommoditycountInt

非空
订单编号

Orderldnumber非空外键
补充说明
表名commodityStyle

列别名列名数据类型(精度范围)空/非空

约束条件说明
风格ID

Id

Number

非空主键
风格名称StyleNamevarhar(50)

非空
补充说明
表名Deletebills
列别名列名数据类型(精度范围)空/非空

约束条件说明
订单编号DELIDnumber非空主键
客户姓名usernamevarchar(10)

非空
用户类型userRolesvarchar(10)

非空
商品名称goodsNamevarchar(10)

非空
价格pricefloat非空
数量numberint非空
总金额Totalprice

float非空
订单状态Orderstate

varchar(10)

非空
订单时间ordertimedatetime非空
补充说明图片数据类型存放的是图片所在路径
表名Goodsbills
列别名列名数据类型(精度范围)空/非空

约束条件
订单编号DBIDint非空主键
客户姓名userNamenvarchar(50)非空外键    

用户类型Userstate

nvarchar(50)非空外键     

商品名称GoodNamenvarchar(100)

非空外键  

价格Price

float非空外键  

数量Number

int非空外键  

总金额totalPricefloat非空外键 

订单状态Orderstate

nvarchar(50)非空外键  

订单时间Ordertime

datetime非空外键  

发货状态deliverStatenvarchar(50)非空
补充说明图片数据类型存放的是图片所在路径
表名GoodsOrders
列别名列名数据类型(精度范围)空/非空

约束条件
订单编号GOIDint非空主键
客户姓名usernamenvarchar(50)非空外键    

用户类型userStatenvarchar(50)非空外键     

商品名称GoodNamenvarchar(100)

非空外键  

价格Price

float非空外键  

数量Number

int非空外键  

总金额totalPricefloat非空外键 

订单状态Orderstate

nvarchar(50)非空外键  

订单时间Ordertime

datetime非空外键  

发货状态deliverStatenvarchar(50)非空
补充说明图片数据类型存放的是图片所在路径
表名Goodstate
列别名列名数据类型(精度范围)空/非空

约束条件
IDint非空主键
Goodstatenvarchar(50)非空外键    

表名Orders
列别名列名数据类型(精度范围)空/非空

约束条件
idint非空主键
Qualityint非空外键    

Moneytotalfloat非空外键     

OrderStateIdint非空外键  

UserIdint非空外键  

OrderTimedatetime非空外键  

GoodstateIdint非空外键 

补充说明图片数据类型存放的是图片所在路径
表名OrderStates
列别名列名数据类型(精度范围)空/非空

约束条件
idint非空主键
Statesnvarchar(50)非空外键    

补充说明图片数据类型存放的是图片所在路径
表名Parameter
列别名列名数据类型(精度范围)空/非空

约束条件
ParameterIdnumber非空主键
CommodityId

number非空外键    

Color

varchar(10)

非空
materialvarchar(10)

非空
sizeInt

非空
Fitages

varchar(10)

非空
Style1

varchar(10)

非空
Style2

varchar(10)

非空
补充说明图片数据类型存放的是图片所在路径
表名Review
列别名列名数据类型(精度范围)空/非空

约束条件
ReviewIdint非空主键
CommodityId

number非空外键    

timesTime

非空
usersIdNumber

非空外键
Titlevarchar(10)

非空
contentvarchar(10)

非空
补充说明图片数据类型存放的是图片所在路径
表名Salebills
列别名列名数据类型(精度范围)空/非空

约束条件
订单编号SBIDint非空主键
客户姓名usernamevarchar(10)

非空
用户类型userStatevarchar(10)

商品名称goodsNamevarchar(10)

价格Price

Int

数量Number

Int

总金额totalPriceInt

订单状态orderStatevarchar(10)

发货状态deliverStatevarchar(10)

订单时间ordertimevarchar(10)

补充说明图片数据类型存放的是图片所在路径
表名ShoppingCar
列别名列名数据类型(精度范围)空/非空

约束条件
SCIDnumber非空主键
userIDnumber非空外键    

CommodityIdnumber非空外键
commodityCountInt

非空
ShopingTimeTime

非空
Moneytotalint非空
补充说明图片数据类型存放的是图片所在路径
表名sysdiagrams
列别名列名数据类型(精度范围)空/非空

约束条件
Name

number非空主键
Printcipal_id

number非空外键    

Diagram_id

number非空
Version

Varchar(10)

非空
definitionVarchar(10)

非空
补充说明图片数据类型存放的是图片所在路径
表名UserRoles
列别名列名数据类型(精度范围)空/非空

约束条件
URIDnumber非空主键
Rolesvarchar(50)非空
补充说明图片数据类型存放的是图片所在路径
表名Users
列别名列名数据类型(精度范围)空/非空

约束条件
usersIDint非空主键
userSNamevarchar(50)非空外键    

Passwords

Rigstertime
roleID
statesId
lastlogintime
补充说明图片数据类型存放的是图片所在路径
表名Usertates
列别名列名数据类型(精度范围)空/非空

约束条件
UTIDNumber

非空主键
statesvarchar(50)非空
补充说明图片数据类型存放的是图片所在路径
5安全性设计

5.1防止用户直接操作数据库的方法

采用三层架构开发该系统,用户只能访问web层应用,并通过web层调用业务逻辑处理层BLL里面的方法调用数据库内容,完全杜绝了用户直接操控数据库的方法。

5.2用户帐号密码的加密方法

采用MD5加密方法,MD5是输入不定长度信息,输出固定长度128-bits的算法。经过程序流程,生成四个32位数据,最后联合起来成为一个128-bits散列。基本方式为,求余、取余、调整长度、与链接变量进行循环运算。

将密码转换成32位数据存储在数据库里,极大地加强了账户密码的安全性。

5.3其他

防止SQL注入式攻击我们的解决方式是:

1、首先在UI录入时,要控制数据的类型和长度、防止SQL注入式攻击,系统提供检测注入式攻击的函数,一旦检测出注入式攻击,该数据即不能提交;

 2、业务逻辑层控制,通过在方法内部将SQL关键字用一定的方法屏蔽掉,然后检查数据长度,保证提交SQL时,不会有SQL数据库注入式攻击代码;但是这样处理后,要求UI输出时将屏蔽的字符还原。因此系统提供屏蔽字符 的函数和还原字符的函数。

3、在数据访问层,绝大多数采用存储过程访问数据,调用时以存储过程参数的方式访问,也会很好的防止注入式攻击。

6性能优化

分析并优化数据库的“时-空”效率,尽可能地“提高处理速度”并且“降低数据占用空间”。

(1)分析“时-空”效率的瓶颈,找出优化对象(目标),并确定优先级。

(2)当优化对象(目标)之间存在对抗时,给出折衷方案。

(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。

优先级优化对象(目标)措施
7数据库管理与维护说明

完成数据库的物理设计以后,设计人员就要用RDBMS提供的数据定义语言和其他使用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了。下载本文

显示全文
专题