跟踪产品销售平台数据库设计文档模板.docx

上传人:b****8 文档编号:9150398 上传时间:2023-02-03 格式:DOCX 页数:33 大小:107.58KB
下载 相关 举报
跟踪产品销售平台数据库设计文档模板.docx_第1页
第1页 / 共33页
跟踪产品销售平台数据库设计文档模板.docx_第2页
第2页 / 共33页
跟踪产品销售平台数据库设计文档模板.docx_第3页
第3页 / 共33页
跟踪产品销售平台数据库设计文档模板.docx_第4页
第4页 / 共33页
跟踪产品销售平台数据库设计文档模板.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

跟踪产品销售平台数据库设计文档模板.docx

《跟踪产品销售平台数据库设计文档模板.docx》由会员分享,可在线阅读,更多相关《跟踪产品销售平台数据库设计文档模板.docx(33页珍藏版)》请在冰豆网上搜索。

跟踪产品销售平台数据库设计文档模板.docx

跟踪产品销售平台数据库设计文档模板

*****中心开发部

文档编号

2011-6-14

版本

A1

密级

商密A

项目名称

时代集团产品跟踪平台

项目来源

时代集团

DR-RD-020(V1.1)

 

数据库设计说明书

(内部资料请勿外传)

编写:

日期:

检查:

日期:

审核:

日期:

批准:

日期:

*********

版权所有不得复制

时代集团产品跟踪平台1

数据库设计说明书1

1引言2

1.1编写目的2

1.2术语表2

1.3参考资料3

2数据库环境说明3

3数据库的命名规则3

4逻辑设计3

5物理设计4

5.1表汇总4

5.2表[X]:

[XXX表]4

5.3视图的设计6

5.4存储过程、函数及触发器的设计6

6安全性设计6

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

6.2用户帐号密码的加密方法7

6.3角色与权限7

7优化7

8数据库管理与维护说明7

1引言

1.1编写目的

本文档是时代集团产品跟踪平台

概要设计文档的组成部分,编写数据库设计文档的目的是:

明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《SQL数据库设计和开发规范》。

本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。

1.2术语表

序号

术语或缩略语

说明性定义

1

ESID

EnterStorageId入库编号

2

ProId

ProductId产品编号

3

PMID

ProductManagerId产品管理员编号

1.3参考资料

资料名称

作者

文件编号、版本

资料存放地点

2数据库环境说明

数据库实例

数据库系统

数据库部署环境

数据库设计工具

数据库存放位置

说明

3数据库的命名规则

数据库名称:

时代集团的英文名称time-group

表名:

英文(表的用途)+下划线+英文

字段名:

相关属性的英文名

4逻辑设计

提示:

数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。

如果采用面向对象方法(OOAD),这里实体相当于类(class)。

 

5物理设计

提示:

(1)主要是设计表结构。

一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。

逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。

(2)对表结构进行规范化处理(第三范式)。

5.1表汇总

表名

功能说明

Enter_storage

产品入库(新产品的登记、修改、查询)

Exit_storage

产品出库(登记产品出库信息)

Seller_info

销售商信息维护表(对销售商信息的添加、修改和查询)

Product_info

产品信息表(对新产品的发布,修改,查询等维护)

Repair_info

维修表(对已出售产品的维修进行登记,修改)

Login

管理员表(包含五种身份,销售人员,库存管理人员,售后服务人员,产品信息管理人员,系统管理员)

5.2表:

表的索引:

索引是否建立要根据具体的业务需求来确定。

允许为空:

不填的表示为“是”。

唯一:

不填的表示为“是”。

表的记录数和增长量:

根据具体的业务需求确定。

增长量应确定单位时间如果量大可以按每天,如果不大可以按每月。

表字段的区别度:

主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。

例如:

如果一个表的NAME字段有共2000个值,其中有1999个不同值,1999/2000=0.99越接近1区别度越高,反之区别度越低。

表的并发:

根据具体的业务需求预测表的并发。

1.

表名

Enter_storage

数据库用户

库存管理人员

主键

ESID入库产品编号

其他排序字段

Product,date,num,storageManagerId

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

ESID

int

N

Y

入库编号

2

Product

Varchar(50)

N

N

入库产品

3

date

SmallDateTime

N

N

入库日期

4

num

Varchar(50)

N

N

入库量

5

storageManagerId

Varchar(50)

N

Y

库存管理编号

Mysql脚本

CREATETABLE[dbo].[Enter_storage](

[ESID][int]IDENTITY(1,1)NOTNULL,

[product][varchar](50)NOTNULL,

[date][smalldatetime]NOTNULL,

[num][varchar](6)NOTNULL,

[storageManagerId][nvarchar](50)NOTNULL,

CONSTRAINT[PK_addStorage]PRIMARYKEYCLUSTERED

[ESID]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

记录数

增长量

表的并发

补充说明

2.

表名

Exit_storage

数据库用户

库存管理人员

主键

ExitStorageId出库产品编号

其他排序字段

Product,date,num,storageManagerId

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

ExitStorageId

int

N

Y

出库编号

2

Product

Varchar(50)

N

N

出库产品

3

date

SmallDateTime

N

N

出库日期

4

num

Varchar(50)

N

N

出库数量

5

storageManagerId

Varchar(50)

N

Y

库存管理编号

6

ESID

Int

N

Y

入库编号

Mysql脚本

CREATETABLE[dbo].[Exit_storage](

[ExitStorageId][int]IDENTITY(1,1)NOTNULL,

[product][varchar](50)NOTNULL,

[date][smalldatetime]NOTNULL,

[num][varchar](6)NOTNULL,

[storageManagerId][varchar](50)NOTNULL

[ESID][int]NOTNULL

CONSTRAINT[PK_subStorage]PRIMARYKEYCLUSTERED

[ExitStorageId]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

/******Object:

Table[dbo].[Enter_storage]ScriptDate:

01/17/201116:

00:

59******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

记录数

增长量

表的并发

补充说明

3.

表名

Seller_info

数据库用户

销售商管理员

主键

name

其他排序字段

telephone,address,product,stockNum,stockDate,stockPrice

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

name

Varchar(50)

N

Y

销售姓名

2

telephone

Varchar(50)

N

N

电话号码

3

address

SmallDateTime

N

N

地址

4

product

Varchar(50)

N

N

产品

5

stockNum

Varchar(50)

N

N

供应量

6

stockDate

SmallDateTime

N

N

供应日期

7

stockPrice

Varchar(50)

N

N

价格

Mysql脚本

CREATETABLE[dbo].[Seller_info]([name][varchar](50)NOTNULL,[telephone][varchar](20)NOTNULL,[address][varchar](50)NOTNULL,[product][varchar](50)NOTNULL,[stockNum][varchar](6)NOTNULL,[stockDate][smalldatetime]NOTNULL,[stockPrice][varchar](10)NOTNULL,CONSTRAINT[PK_maketer_Info]PRIMARYKEYCLUSTERED([name]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******Object:

Table[dbo].[Repair_info]ScriptDate:

12/16/201009:

59:

13******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGO

记录数

增长量

表的并发

补充说明

4.

表名

Product_info

数据库用户

产品信息管理人员

主键

proId

其他排序字段

name,price,proDate,storage

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

proId

int

N

Y

产品编号

2

name

Varchar(50)

N

N

产品名称

3

price

Varchar(50)

N

N

价格

4

proDate

SmallDateTime

N

N

出产日期

5

storage

Varchar(50)

N

Y

库存量

Mysql脚本

CREATETABLE[dbo].[Product_info](

[proId][int]IDENTITY(1,1)NOTNULL,

[name][varchar](50)NOTNULL,

[price][varchar](6)NOTNULL,

[proDate][smalldatetime]NOTNULL,

[storage][varchar](4)NOTNULL,

CONSTRAINT[PK_product_Info]PRIMARYKEYCLUSTERED

[proId]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

/******Object:

Table[dbo].[Login]ScriptDate:

01/17/201116:

00:

59******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

记录数

增长量

表的并发

补充说明

5.

表名

Repair_info

数据库用户

售后服务人员

主键

repairId产品维修编号

其他排序字段

repairName,repairtel,product,customer,date,customertel

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

repairId

int

N

Y

维护编号

2

repairName

Varchar(50)

N

N

维护名称

3

repairtel

SmallDateTime

N

N

维护电话

4

product

Varchar(50)

N

N

维护名称

5

customer

Varchar(50)

N

N

客户名

date

SmallDateTime

N

N

日期

customertel

Varchar(50)

N

N

客户电话

Mysql脚本

CREATETABLE[dbo].[Repair_info](

[repairId][int]IDENTITY(1,1)NOTNULL,

[repairName][nchar](10)NULL,

[repairtel][nchar](10)NULL,

[product][varchar](50)NOTNULL,

[customer][varchar](20)NOTNULL,

[date][smalldatetime]NOTNULL,

[customertel][nchar](10)NULL,

CONSTRAINT[PK_Table_1]PRIMARYKEYCLUSTERED

[repairId]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

/******Object:

Table[dbo].[Product_info]ScriptDate:

01/17/201116:

00:

59******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

记录数

增长量

表的并发

补充说明

6.

表名

Login

数据库用户

管理人员

主键

userId用户编号

其他排序字段

password,userName,tel,birthday,registerTime,type

索引字段

序号

字段名称

数据类型(精度范围)

允许为空Y/N

唯一Y/N

区别度

默认值

约束条件/说明

1

userId

int

N

Y

用户编号

2

password

Varchar(50)

N

N

用户密码

3

userName

SmallDateTime

N

N

用户姓名

4

tel

Varchar(50)

N

N

电话号码

5

birthday

Varchar(50)

N

N

出生日期

6

registerTime

SmallDateTime

N

N

注册日期

7

type

Varchar(50)

N

N

角色

Mysql脚本

CREATETABLE[dbo].[Login](

[userId][varchar](10)NOTNULL,

[password][varchar](16)NOTNULL,

[userName][varchar](20)NOTNULL,

[tel][varchar](20)NOTNULL,

[birthday][smalldatetime]NOTNULL,

[registerTime][smalldatetime]NOTNULL,

[type][nvarchar](50)NOTNULL,

CONSTRAINT[PK_manager_Info]PRIMARYKEYCLUSTERED

[userId]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

记录数

增长量

表的并发

补充说明

 

5.3视图的设计

[根据XXX产品的概要设计文档来确定。

视图的命名按照《xx数据库设计规范》中关于视图的命名规范命名。

视图的设计应注意以下几点:

1尽量减少列中使用的公式。

2去掉所有不必要的列。

3不要使同一个文档属于多个分类。

4避免使用表单公式。

]

5.4存储过程、函数及触发器的设计

[存储过程及触发器的命名按照《xx数据库设计规范》中关于存储过程及触发器的命名规范命名。

存储过程:

根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。

在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他提供功能的过程。

例如:

不要定义强制数据完整性的过程(使用完整性约束)。

函数:

函数与存储过程非常相似,它也是存储在数据库中的对象。

但是可以在SQL命令中使用函数。

就好像建立自己的substr函数一样

触发器:

触发器是存储在数据库中的程序,它在某一特定事件发生时执行。

这些程序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update或delete语句时执行。

]

1.存储过程:

CREATEPROCEDUREEnter_storage_GetMaxId

AS

DECLARE@TempIDint

SELECT@TempID=max([ESID])+1FROM[Enter_storage]

IF@TempIDISNULL

RETURN1

ELSE

RETURN@TempID

 

CREATEPROCEDUREEnter_storage_Exists

@ESIDint

AS

DECLARE@TempIDint

SELECT@TempID=count

(1)FROM[Enter_storage]WHEREESID=@ESID

IF@TempID=0

RETURN0

ELSE

RETURN1

 

CREATEPROCEDUREEnter_storage_ADD

@ESIDintoutput,

@productvarchar(50),

@datesmalldatetime,

@numvarchar(6),

@storageManagerIdnvarchar(50)

AS

INSERTINTO[Enter_storage](

[product],[date],[num],[storageManagerId]

)VALUES(

@product,@date,@num,@storageManagerId

SET@ESID=@@IDENTITY

CREATEPROCEDUREEnter_storage_Update

@ESIDint,

@productvarchar(50),

@datesmalldatetime,

@numvarchar(6),

@storageManagerIdnvarchar(50)

AS

UPDATE[Enter_storage]SET

[product]=@product,[date]=@date,[num]=@num,[storageManagerId]=@storageManagerId

WHEREESID=@ESID

CREATEPROCEDUREEnter_storage_Delete

@ESIDint

AS

DELETE[Enter_storage]

WHEREESID=@ESID

CREATEPROCEDUREEnter_storage_GetModel

@ESIDint

AS

SELECT

ESID,product,date,num,storageManagerId

FR

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1