数据库设计文档模板_第1页
数据库设计文档模板_第2页
数据库设计文档模板_第3页
数据库设计文档模板_第4页
数据库设计文档模板_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.*中心开发部文档编号2011-6-14版本A1密级商密A项目名称时代集团产品跟踪平台项目来源时代集团DR-RD-020数据库设计说明书编写:日期:检查:日期:审核:日期:批准:日期: *版权所有不得复制 TOC o 1-3 h z u HYPERLINK l _Toc277247694时代集团产品跟踪平台 PAGEREF _Toc277247694 h 1HYPERLINK l _Toc277247695数据库设计说明书 PAGEREF _Toc277247695 h 1HYPERLINK l _Toc2772476961引言 PAGEREF _Toc277247696 h 2HYPERLI

2、NK l _Toc2772476971.1编写目的 PAGEREF _Toc277247697 h 2HYPERLINK l _Toc2772476981.2术语表 PAGEREF _Toc277247698 h 2HYPERLINK l _Toc2772476991.3参考资料 PAGEREF _Toc277247699 h 3HYPERLINK l _Toc2772477002数据库环境说明 PAGEREF _Toc277247700 h 3HYPERLINK l _Toc2772477013数据库的命名规则 PAGEREF _Toc277247701 h 3HYPERLINK l _To

3、c2772477024逻辑设计 PAGEREF _Toc277247702 h 3HYPERLINK l _Toc2772477035物理设计 PAGEREF _Toc277247703 h 4HYPERLINK l _Toc2772477045.1表汇总 PAGEREF _Toc277247704 h 4HYPERLINK l _Toc2772477055.2表X:XXX表 PAGEREF _Toc277247705 h 4HYPERLINK l _Toc2772477065.3视图的设计 PAGEREF _Toc277247706 h 6HYPERLINK l _Toc2772477075

4、.4存储过程、函数及触发器的设计 PAGEREF _Toc277247707 h 6HYPERLINK l _Toc2772477086安全性设计 PAGEREF _Toc277247708 h 6HYPERLINK l _Toc2772477096.1防止用户直接操作数据库的方法 PAGEREF _Toc277247709 h 6HYPERLINK l _Toc2772477106.2用户帐号密码的加密方法 PAGEREF _Toc277247710 h 7HYPERLINK l _Toc2772477116.3角色与权限 PAGEREF _Toc277247711 h 7HYPERLINK

5、 l _Toc2772477127优化 PAGEREF _Toc277247712 h 7HYPERLINK l _Toc2772477138数据库管理与维护说明 PAGEREF _Toc277247713 h 7引言编写目的本文档是时代集团产品跟踪平台概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循SQL数据库设计和开发规范。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。术语表序号术语或缩略语说明性定义1ESIDEnterStorageId入库编号2ProIdProductId产品编号3PMID

6、ProductManagerId产品管理员编号参考资料资料名称作者文件编号、版本资料存放地点数据库环境说明数据库实例数据库系统数据库部署环境数据库设计工具数据库存放位置说明数据库的命名规则数据库名称:时代集团的英文名称time-group表名:英文表的用途+下划线+英文字段名:相关属性的英文名逻辑设计提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图ERD。如果采用面向对象方法OOAD,这里实体相当于类class。物理设计提示:1主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们

7、并不一定是一一对应的。2对表结构进行规范化处理第三范式。表汇总表名功能说明Enter_storage产品入库新产品的登记、修改、查询Exit_storage产品出库登记产品出库信息Seller_info销售商信息维护表对销售商信息的添加、修改和查询Product_info产品信息表对新产品的发布,修改,查询等维护Repair_info维修表对已出售产品的维修进行登记,修改L管理员表包含五种身份,销售人员,库存管理人员,售后服务人员,产品信息管理人员,系统管理员表:表的索引: 索引是否建立要根据具体的业务需求来确定。允许为空:不填的表示为是。唯一:不填的表示为是。表的记录数和增长量:根据具体的业

8、务需求确定。增长量应确定单位时间如果量大可以按每天,如果不大可以按每月。表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。例如:如果一个表的NAME字段有共2000个值,其中有1999个不同值,1999/2000=0.99 越接近1区别度越高,反之区别度越低。表的并发:根据具体的业务需求预测表的并发。1表名Enter_storage数据库用户库存管理人员主键ESID入库产品编号其他排序字段Product,date,num,storageManagerId索引字段序号字段名称数据类型精度范围允许为空Y/N唯

9、一Y/N区别度默认值约束条件/说明1ESIDintNY2ProductVarcharNN3dateSmallDateTimeNN4numVarcharNN5storageManagerIdVarcharNYMysql脚本CREATE TABLE dbo.Enter_storageESID int IDENTITY NOT NULL,product varchar NOT NULL,date smalldatetime NOT NULL,num varchar NOT NULL,storageManagerId nvarchar NOT NULL, CONSTRAINT PK_addStorag

10、e PRIMARY KEY CLUSTERED WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO记录数增长量表的并发补充说明2.表名Exit_storage数据库用户库存管理人员主键ExitStorageId出库产品编号其他排序字段Product,date,num,storageManagerId索引字段序号字段名称数据类型精度范围允许为空Y/N唯一Y/N区别度默认值约束条件/说明1ExitStorageIdintNY2ProductVarcharNN3dateSmallDateTimeNN4numVarcharNN5storageManag

11、erIdVarcharNYMysql脚本CREATE TABLE dbo.Exit_storageExitStorageId int IDENTITY NOT NULL,product varchar NOT NULL,date smalldatetime NOT NULL,num varchar NOT NULL, CONSTRAINT PK_subStorage PRIMARY KEY CLUSTERED WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Enter_storage Script D

12、ate: 01/17/2011 16:00:59 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明3.表名Seller_info数据库用户销售商管理员主键name其他排序字段telephone,address,product, stockNum,stockDate,stockPrice索引字段序号字段名称数据类型精度范围允许为空Y/N唯一Y/N区别度默认值约束条件/说明1nameVarcharNY2telephoneVarcharNN3addressSmallDateTimeNN

13、4productVarcharNN5stockNumVarcharNN6stockDateSmallDateTimeNN7stockPriceVarcharNNMysql脚本CREATE TABLE dbo.Seller_infoname varchar NOT NULL,telephone varchar NOT NULL,address varchar NOT NULL,product varchar NOT NULL,stockNum varchar NOT NULL,stockDate smalldatetime NOT NULL,stockPrice varchar NOT NULL

14、, CONSTRAINT PK_maketer_Info PRIMARY KEY CLUSTERED WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Repair_info Script Date: 12/16/2010 09:59:13 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明4.表名Product_info数据库用户产品信息管理人员主键proId其他排序字段name,pric

15、e,proDate,storage索引字段序号字段名称数据类型精度范围允许为空Y/N唯一Y/N区别度默认值约束条件/说明1proIdintNY2nameVarcharNN3priceVarcharNN4proDateSmallDateTime NN5storageVarcharNYMysql脚本CREATE TABLE dbo.Product_infoproId int IDENTITY NOT NULL,name varchar NOT NULL,price varchar NOT NULL,proDate smalldatetime NOT NULL,storage varchar NOT

16、 NULL, CONSTRAINT PK_product_Info PRIMARY KEY CLUSTERED WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Login Script Date: 01/17/2011 16:00:59 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明5.表名Repair_info数据库用户售后服务人员主键repairId产品维修编号其他排序字段repa

17、irName,repairtel,product,customer,date,customertel索引字段序号字段名称数据类型精度范围允许为空Y/N唯一Y/N区别度默认值约束条件/说明1repairIdintNY2repairNameVarcharNN3repairtelSmallDateTimeNN4productVarcharNN5customerVarcharNNdateSmallDateTimeNNcustomertelVarcharNNMysql脚本CREATE TABLE dbo.Repair_inforepairId int IDENTITY NOT NULL,repairNa

18、me nchar NULL,repairtel nchar NULL,product varchar NOT NULL,customer varchar NOT NULL,date smalldatetime NOT NULL,customertel nchar NULL, CONSTRAINT PK_Table_1 PRIMARY KEY CLUSTERED WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Product_info Script Date: 01/17/2011 16:00:59 *

19、/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明6.表名Login数据库用户管理人员主键userId用户编号其他排序字段password,userName,tel,birthday,registerTime,type索引字段序号字段名称数据类型精度范围允许为空Y/N唯一Y/N区别度默认值约束条件/说明1userIdintNY2passwordVarcharNN3userNameSmallDateTimeNN4telVarcharNN5birthdayVarcharNN6regist

20、erTimeSmallDateTimeNN7typeVarcharNNMysql脚本CREATE TABLE dbo.LoginuserId varchar NOT NULL,password varchar NOT NULL,userName varchar NOT NULL,tel varchar NOT NULL,birthday smalldatetime NOT NULL,registerTime smalldatetime NOT NULL,type nvarchar NOT NULL, CONSTRAINT PK_manager_Info PRIMARY KEY CLUSTERE

21、D WITH ON PRIMARY ON PRIMARYGOSET ANSI_PADDING OFFGO记录数增长量表的并发补充说明视图的设计根据XXX产品的概要设计文档来确定。视图的命名按照xx数据库设计规范中关于视图的命名规范命名。视图的设计应注意以下几点:尽量减少列中使用的公式。去掉所有不必要的列。不要使同一个文档属于多个分类。避免使用表单公式。存储过程、函数及触发器的设计存储过程及触发器的命名按照xx数据库设计规范中关于存储过程及触发器的命名规范命名。存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。 在定义存储过程时,要使用其完成单一、相对集中的任务,不要

22、定义已由其他提供功能的过程。例如:不要定义强制数据完整性的过程使用完整性约束。函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在SQL命令中使用函数。就好像建立自己的substr函数一样触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update或delete语句时执行。1.存储过程:CREATE PROCEDURE Enter_storage_GetMaxIdASDECLARE TempID intSEL

23、ECT TempID = max+1 FROM Enter_storageIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Enter_storage_ExistsESID intASDECLARE TempID intSELECT TempID = count FROM Enter_storage WHERE ESID=ESID IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Enter_storage_ADDESID int output,product varchar,

24、date smalldatetime,num varchar,storageManagerId nvarcharAS INSERT INTO Enter_storageVALUESSET ESID = IDENTITYCREATE PROCEDURE Enter_storage_UpdateESID int,product varchar,date smalldatetime,num varchar,storageManagerId nvarcharAS UPDATE Enter_storage SET product = product,date = date,num = num,stora

25、geManagerId = storageManagerIdWHERE ESID=ESID CREATE PROCEDURE Enter_storage_DeleteESID int AS DELETE Enter_storageWHERE ESID=ESID CREATE PROCEDURE Enter_storage_GetModelESID int AS SELECT ESID,product,date,num,storageManagerIdFROM Enter_storageWHERE ESID=ESID CREATE PROCEDURE Enter_storage_GetListA

26、S SELECT ESID,product,date,num,storageManagerIdFROM Enter_storageCREATE PROCEDURE Exit_storage_GetMaxIdASDECLARE TempID intSELECT TempID = max+1 FROM Exit_storageIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Exit_storage_ExistsExitStorageId intASDECLARE TempID intSELECT TempID = count F

27、ROM Exit_storage WHERE ExitStorageId=ExitStorageId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Exit_storage_ADDExitStorageId int output,product varchar,date smalldatetime,num varchar,storageManagerId nvarcharAS INSERT INTO Exit_storageVALUESSET ExitStorageId = IDENTITYCREATE PROCEDURE Exit_sto

28、rage_UpdateExitStorageId int,product varchar,date smalldatetime,num varchar,storageManagerId nvarcharAS UPDATE Exit_storage SET product = product,date = date,num = num,storageManagerId = storageManagerIdWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_DeleteExitStorageId int AS DELETE

29、 Exit_storageWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_GetModelExitStorageId int AS SELECT ExitStorageId,product,date,num,storageManagerIdFROM Exit_storageWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_GetListAS SELECT ExitStorageId,product,date,num,storageMana

30、gerIdFROM Exit_storageCREATE PROCEDURE Login_ExistsuserId varcharASDECLARE TempID intSELECT TempID = count FROM Login WHERE userId=userId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Login_ADDuserId varchar,password varchar,userName varchar,tel varchar,birthday smalldatetime,registerTime smalld

31、atetime,type nvarcharAS INSERT INTO LoginVALUESCREATE PROCEDURE Login_UpdateuserId varchar,password varchar,userName varchar,tel varchar,birthday smalldatetime,registerTime smalldatetime,type nvarcharAS UPDATE Login SET password = password,userName = userName,tel = tel,birthday = birthday,registerTi

32、me = registerTime,type = typeWHERE userId=userId CREATE PROCEDURE Login_DeleteuserId varcharAS DELETE LoginWHERE userId=userId CREATE PROCEDURE Login_GetModeluserId varcharAS SELECT userId,password,userName,tel,birthday,registerTime,typeFROM LoginWHERE userId=userId CREATE PROCEDURE Login_GetListAS

33、SELECT userId,password,userName,tel,birthday,registerTime,typeFROM LoginCREATE PROCEDURE Product_info_GetMaxIdASDECLARE TempID intSELECT TempID = max+1 FROM Product_infoIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Product_info_ExistsproId intASDECLARE TempID intSELECT TempID = count FR

34、OM Product_info WHERE proId=proId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Product_info_ADDproId int output,name varchar,price varchar,proDate smalldatetime,storage varcharAS INSERT INTO Product_infoVALUESSET proId = IDENTITYCREATE PROCEDURE Product_info_UpdateproId int,name varchar,price v

35、archar,proDate smalldatetime,storage varcharAS UPDATE Product_info SET name = name,price = price,proDate = proDate,storage = storageWHERE proId=proId CREATE PROCEDURE Product_info_DeleteproId int AS DELETE Product_infoWHERE proId=proId CREATE PROCEDURE Product_info_GetModelproId int AS SELECT proId,

36、name,price,proDate,storageFROM Product_infoWHERE proId=proId CREATE PROCEDURE Product_info_GetListAS SELECT proId,name,price,proDate,storageFROM Product_infoCREATE PROCEDURE Repair_info_GetMaxIdASDECLARE TempID intSELECT TempID = max+1 FROM Repair_infoIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE

37、 PROCEDURE Repair_info_ExistsrepairId intASDECLARE TempID intSELECT TempID = count FROM Repair_info WHERE repairId=repairId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Repair_info_ADDrepairId int output,repairName nchar,repairtel nchar,product varchar,customer varchar,date smalldatetime,custom

38、ertel ncharAS INSERT INTO Repair_infoVALUESSET repairId = IDENTITYCREATE PROCEDURE Repair_info_UpdaterepairId int,repairName nchar,repairtel nchar,product varchar,customer varchar,date smalldatetime,customertel ncharAS UPDATE Repair_info SET repairName = repairName,repairtel = repairtel,product = pr

39、oduct,customer = customer,date = date,customertel = customertelWHERE repairId=repairId CREATE PROCEDURE Repair_info_DeleterepairId int AS DELETE Repair_infoWHERE repairId=repairId CREATE PROCEDURE Repair_info_GetModelrepairId int AS SELECT repairId,repairName,repairtel,product,customer,date,customer

40、telFROM Repair_infoWHERE repairId=repairId CREATE PROCEDURE Repair_info_GetListAS SELECT repairId,repairName,repairtel,product,customer,date,customertelFROM Repair_infoCREATE PROCEDURE Seller_info_Existsname varcharASDECLARE TempID intSELECT TempID = count FROM Seller_info WHERE name=name IF TempID

41、= 0RETURN 0ELSERETURN 1CREATE PROCEDURE Seller_info_ADDname varchar,telephone varchar,address varchar,product varchar,stockNum varchar,stockDate smalldatetime,stockPrice varcharAS INSERT INTO Seller_infoVALUESCREATE PROCEDURE Seller_info_Updatename varchar,telephone varchar,address varchar,product varchar,sto

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论