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

付费下载

下载本文档

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

文档简介

1、*中心开发部文档编号2011-6-14版本A1密级商密A项目名称时代集团广品跟踪平台项目来源时代集团DR-RD-020(V1.1)数据库设计说明书(内部资料请勿外传)编写:日期检查:日期审核:日期批准:日期*版权所有不得复制时代集团产品跟踪平台错误!未定义书签数据库设计说明书11引言21.1 编写目的21.2 术语表21.3 参考资料32数据库环境说明33数据库的命名规则 34逻辑设计35物理设计45.1 表汇总55.2 表凶:XXX表55.3 视图的设计115.4 存储过程、函数及触发器的设计126安全性设计236.1 防止用户直接操作数据库的方法236.2 用户帐号密码的加密方法 236.

2、3 角色与权限237优化248数据库管理与维护说明241引言1.1 编写目的本文档是时代集团产品跟踪平台概要设计文档的组成部分, 编写数据库设计文档的目的是: 明确数据库的表名、 字段名 等数据信息,用来指导后期的数据库脚本的开发, 本文档遵循SQL数据库设计和开发规范. 本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员。1.2 术语表序号术语或缩略语说明性定义1ESIDEnterStorageld入库编号2ProIdProductId产品编号3PMIDProductManagerId产品管理员编号1.3 参考资料资料名称作者文件编号、版本资料存放地点2数据库环境说明数据库 实例数

3、据库系统数据库部 署环境数据库设 计工具数据库存放 ag说明3数据库的命名规则数据库名称:时代集团的英文名称time-group表名:英文(表的用途)+下划线+英文字段名:相关属性的英文名4逻辑设计提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD) 如果采用面向对象方法(OOAD),这里实体相当于类(class)。合作伙伴运营商ttrelscoop_rels合同模板torder服务提供商cp_coop_relsL,sp_coop_relsinhr_partner_sp内容提供商结算规则5物理设计提示:(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的

4、列,实体之 间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表, 但是它们并 不一定是一一对应的。(2)对表结构进行规范化处理(第三范式)。5.1 表汇总表名功能说明Enter_storage产品入库(新产品的登记、修改、查询)Exit_storage产品出库(登记产品出库信息)Seller_info销售商信息维护表(对销售商信息的添加、修改和查询)Product_info产品信息表(对新产品的发布,修改,查询等维护)Repair_info维修表(对已出售产品的维修进行登记,修改)L管理员表(包含五种身份,销售人员,库存管理人员,售后服务人员,产品 信息管理人员,系统管理员)

5、5.2 表:表的索引:索引是否建立要根据具体的业务需求来确定。允许为空:不填的表示为“是”。唯一:不填的表示为“是”。表的记录数和增长量:根据具体的业务需求确定。增长量应确定单位时间如果量大可 以按每天,如果不大可以按每月。表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段 值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即 可。例如:如果一个表的NAM序段有共2000个值,其中有1999个 不同值,1999/2000=0.99越接近1区别度越高,反之区别度越低。表的并发:根据具体的业务需求预测表的并发。1.表名Enter_storage数据库用户库存管理人

6、员主键ESID入库产品编号其他排序字段Product , date , num,storageManagerId索引字段序号字段名称数据类型(精度 范围)允许为空Y/N唯一Y/N区别 度默认 值约束条件/说明1ESIDintNY2ProductVarchar(50)NN3dateSmallDateTimeNN4numVarchar(50)NN5storageManagerIdVarchar(50)NYMysql脚本CREATE TABLE dbo.Enter_storage(ESIDint IDENTITY(1,1) NOT NULL,product varchar(50) NOT NULL,

7、date smalldatetime NOT NULL,num varchar(6) NOT NULL,storageManagerId nvarchar(50) NOT NULL, CONSTRAINT PK_addStorage PRIMARY KEY CLUSTERED (ESID ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LO ON) ON PRIMARY )ON PRIMARY GOSET ANSI_PA

8、DDING OFFGO记录数增长量表的并发补充说明2.表名Exit_storage数据库用户库存管理人员主键ExitStorageId 出库产品编号其他排序字段Product , date , num,storageManagerId索引字段序号字段名称数据类型(精度 范围)允许为空Y/N唯一Y/N区别 度默认 值约束条件/说明1ExitStorageIdintNY2ProductVarchar(50)NN3dateSmallDateTimeNN4numVarchar(50)NN5storageManagerIdVarchar(50)NYMysql脚本CREATE TABLE dbo.Exit

9、_storage(ExitStorageIdint IDENTITY(1,1) NOT NULL,product varchar(50) NOT NULL,date smalldatetime NOT NULL,num varchar(6) NOT NULL,CONSTRAINT PK_subStorage PRIMARY KEY CLUSTERED (ExitStorageId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAG

10、E_LOCKS = ON) ON PRIMARY)ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Enter_storage ScriptDate: 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 , s

11、tockPrice索引字段序号字段名称数据类型(精度 范围)允许为空Y/N唯一Y/N区别度默认值约束条件/说明1nameVarchar(50)NY2telephoneVarchar(50)NN3addressSmallDateTimeNN4productVarchar(50)NN5stockNumVarchar(50)NN6stockDateSmallDateTimeNN7stockPriceVarchar(50)NNMysql脚本CREATE TABLE dbo.Seller_info(name varchar(50) NOT NULL,telephone varchar(20) NOT N

12、ULL,address varchar(50) NOT NULL,product varchar(50) NOT NULL,stockNumvarchar(6) NOT NULL,stockDate smalldatetime NOT NULL,stockPrice varchar(10) NOT NULL, CONSTRAINT PK_maketer_Info PRIMARY KEY CLUSTERED (name ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEY OFF, ALLOW_ROW_LOC

13、KSON, ALLOW_PAGE_LOC =ON) ON PRIMARY )ON PRIMARY GOSET 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, price , proDate,storage索引字段序号字段名

14、称数据类型(精度 范围)允许为空Y/N唯一Y/N区别 度默认 值约束条件/说明1proIdintNY2nameVarchar(50)NN3priceVarchar(50)NN4proDateSmallDateTimeNN5storageVarchar(50)NYMysql脚本CREATE TABLE dbo.ProductJnfo(proId int IDENTITY。/) NOT NULL,name varchar(50) NOT NULL,price varchar(6) NOT NULL,proDate smalldatetime NOT NULL,storage varchar(4)

15、NOT NULL,CONSTRAINT PK_product_Info PRIMARY KEY CLUSTERED(proId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY)ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Login Script Date:01/17/2011 16:00:59 */SET ANSI

16、_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明5.表名Repair_info数据库用户售后服务人员主键repairId 广品维修编号其他排序字段repairName , repairtel , product,customer , date , customertel索引字段序号字段名称数据类型(精度 范围)允许为空Y/N唯一Y/N区别度默认值约束条件/说明1repairIdintNY2repairNameVarchar(50)NN3repairtelSmallDateTimeNN4product

17、Varchar(50)NN5customerVarchar(50)NNdateSmallDateTimeNNcustomertelVarchar(50)NNMysql脚本CREATE TABLE dbo.Repair_info(repairIdint IDENTITY。/) NOT NULL,repairName nchar(10) NULL,repairtel nchar(10) NULL,product varchar(50) NOT NULL,customer varchar(20) NOT NULL,date smalldatetime NOT NULL,customertel nch

18、ar(10) NULL,CONSTRAINT PK_Table_1 PRIMARY KEY CLUSTERED (repairId ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE= OFF, IGNORE_DUP_KEYOFF, ALLOW_ROW_LOCKSON, ALLOW_PAGE_LOC =ON) ON PRIMARY)ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Product_info Script Date:01/17/2011 16:00:59 */SET ANS

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

20、(50)NN6registerTimeSmallDateTimeNN7typeVarchar(50)NNMysql脚本CREATE TABLE dbo.Login(userId varchar(10) NOT NULL,password varchar(16) NOT NULL,userName varchar(20) NOT NULL,tel varchar(20) NOT NULL,birthday smalldatetime NOT NULL,registerTime smalldatetime NOT NULL,type nvarchar(50) NOT NULL,CONSTRAINT

21、 PK_manager_Info PRIMARY KEY CLUSTERED (userId ASC)WITH (PAD_INDEX= OFF, STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS ON PRIMARY)ON PRIMARY GOSET ANSI_PADDING OFFGO记录数增长量表的并发补充说明ON)5.3 视图的设计根据XXX产品的概要设计文档来确定。视图的命名按照xx数据库设计规范中关于视图的命名规范命名 视图的设计应注意以下几点:1尽量减少

22、列中使用的公式。2去掉所有不必要的列。3不要使同一个文档属于多个分类。4避免使用表单公式。山-七0册把I Tyiir Jra.Ed_jd.cUi ;1!尹!* *w 201141117Coljun nsT?CcmpuIjKLcnjtl-1c戛知学NukbtTriniPfliiinqSaksColei gn1ESIDMlns肖cno(vo:'JUL.2mudnc50reI«nsldK*bntncIno(n *h小'JUL-4nurvsiehiFrc6nonono5nvacbarncICCno小酊到Chre«e_PFC_:l_45iderti幺用 ncnenen

23、t Nee Par ReDicaliM小e NULL FJULINULLRoGwriColhiNo org.rrcoi col mn de* nM :5.4存储过程、函数及触发器的设计存储过程及触发器的命名按照xx数据库设计规范中关于存储过程及触发器的命名 规范命名。存储过程:根据具体得业务逻辑确定输入参数个数,类型 ,确定对哪几个表进行何种 作。在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其 他提供功能的过程。例如:不要定义强制数据完整性的过程(使用完整性约 束)。函数 :函数与存储过程非常相似,它也是存储在数据库中的对象。但是可以在 SQ僚令中使用函数。就好像建立自己的

24、substr函数一样触发器:触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程 序可以用PL/SQL和java语言编写,也可以用作c语言的调用,数据库允许 用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert ,update或delete语句时执行。1 .存储过程:CREATE PROCEDURE Enter_storage_GetMaxIdASDECLARE TempID intSELECT TempID = max ( ESID )+ 1 FROM Enter_storage IF TempID IS NULLRETURN 1ELSERETURN TempID

25、CREATE PROCEDURE Enter_storage_Exists ESID int AS DECLARE TempID intSELECT TempID = count ( 1) FROM Enter_storage WHERE ESID =ESID IF TempID = 0 RETURN 0ELSERETURN 1CREATE PROCEDURE Enter_storage_ADD ESID int output , product varchar ( 50 ), date smalldatetime , num varchar ( 6), storageManagerId nv

26、archar ( 50 )ASINSERT INTO Enter_storage ( product , date , num, storageManagerId ) VALUES (product , date , num, storageManagerId )SET ESID = IDENTITYCREATE PROCEDURE Enter_storage_UpdateESID int , product varchar ( 50 ), date smalldatetime , num varchar ( 6), storageManagerId nvarchar ( 50 ) ASUPD

27、ATE Enter_storage SET product = product , date = date , num = num, storageManagerId storageManagerIdWHERE ESID =ESIDCREATE PROCEDURE Enter_storage_Delete ESID int ASDELETE Enter_storage WHERE ESID =ESIDCREATE PROCEDURE Enter_storage_GetModel ESID int ASSELECTESID , product , date , num, storageManag

28、erId FROM Enter_storage WHERE ESID =ESIDCREATE PROCEDURE Enter_storage_GetListASSELECTESID , product , date , num, storageManagerId FROM Enter_storage CREATE PROCEDURE Exit_storage_GetMaxId ASDECLARE TempID intSELECT TempID = max ( ExitStorageId )+ 1 FROM Exit_storage IF TempID IS NULL RETURN 1 ELSE

29、RETURN TempIDCREATE PROCEDURE Exit_storage_ExistsExitStorageId int AS DECLARE TempID intSELECT TempID = count ( 1) FROM Exit_storage WHEREExitStorageId =ExitStorageIdIF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Exit_storage_ADDExitStorageId int output ,product varchar ( 50 ),date smalldatetime

30、,num varchar ( 6), storageManagerId nvarchar ( 50 )ASINSERT INTO Exit_storage ( product , date , num, storageManagerId ) VALUES (product , date , num, storageManagerId )SET ExitStorageId = IDENTITYCREATE PROCEDURE Exit_storage_UpdateExitStorageId int ,product varchar ( 50 ),date smalldatetime ,num v

31、archar ( 6), storageManagerId nvarchar ( 50 ) ASUPDATE Exit_storage SET product = product , date = date , num = num, storageManagerId = storageManagerIdWHERE ExitStorageId =ExitStorageIdCREATE PROCEDURE Exit_storage_DeleteExitStorageId int ASDELETE Exit_storage WHERE ExitStorageId =ExitStorageIdCREA

32、TE PROCEDURE Exit_storage_GetModelExitStorageId intASSELECTExitStorageId , product , date , num, storageManagerIdFROM Exit_storage WHERE ExitStorageId =ExitStorageIdCREATE PROCEDURE Exit_storage_GetListASSELECTExitStorageId , product , date , num, storageManagerIdFROM Exit_storage CREATE PROCEDURE L

33、ogin_Exists userId varchar ( 10 ) ASDECLARE TempID intSELECT TempID = count ( 1) FROM Login WHERE userId =userIdIF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Login_ADD userId varchar ( 10 ), password varchar ( 16 ), userName varchar ( 20 ), tel varchar ( 20 ), birthday smalldatetime , registerTi

34、me smalldatetime type nvarchar ( 50 )ASINSERT INTO Login ( userId , password , userName , tel , birthday , registerTime , t ype ) VALUES (userId , password , userName , tel , birthday , registerTime , type )CREATE PROCEDURE Login_Update userId varchar ( 10 ), passwordvarchar ( 16 ),userName varchar

35、( 20 ), tel varchar ( 20 ), birthday smalldatetime , registerTime smalldatetime , type nvarchar ( 50 ) ASUPDATE Login SET password = password , userName = userName , tel = tel , birthday = birthday , registerTime = registerTime , type = type WHERE userId =userIdCREATE PROCEDURE Login_Delete userId v

36、archar ( 10 )ASDELETE Login WHERE userId =userIdCREATE PROCEDURE Login_GetModeluserId varchar ( 10 )ASSELECTuserId , password , userName , tel , birthday , registerTime , type FROM Login WHERE userId =userIdCREATE PROCEDURE Login_GetListASSELECTuserId , password , userName , tel , birthday , registe

37、rTime , type FROM Login CREATE PROCEDURE Product_info_GetMaxIdASDECLARE TempID intSELECT TempID = max ( proId )+ 1 FROM Product_info IF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Product_info_ExistsproId intASDECLARE TempID int WHERE proId =proIdSELECT TempID = count ( 1) FROM Product_i

38、nfoIF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Product_info_ADD proId int output , name varchar ( 50 ), price varchar ( 6),proDate smalldatetime , storage varchar ( 4)ASINSERT INTO Product_info ( name , price , proDate , storage ) VALUES (name, price , proDate , storage )SET proId = IDENTITYCR

39、EATE PROCEDURE Product_info_Update proId int , name varchar ( 50 ), price varchar ( 6), proDate smalldatetime , storage varchar ( 4) ASUPDATE Product_info SET name = name, price = price , proDate = proDate , storage = storage WHERE proId =proIdCREATE PROCEDURE Product_info_DeleteproId int ASDELETE P

40、roduct_info WHERE proId =proIdCREATE PROCEDURE Product_info_GetModelproId int ASSELECTproId , name , price , proDate , storageFROM Product_info WHERE proId =proIdCREATE PROCEDURE Product_info_GetListASSELECT, storageproId , name , price , proDateFROM Product_info CREATE PROCEDURE Repair_info_GetMaxI

41、dASDECLARE TempID intSELECT TempID = max ( repairId )+ 1 FROM Repair_info IF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Repair_info_ExistsrepairId intASDECLARE TempID intSELECT TempID = count ( 1 ) FROM Repair_info WHERE repairId =repairIdIF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDUR

42、E Repair_info_ADD repairId int output , repairName nchar ( 10 ), repairtel nchar ( 10 ), product varchar ( 50 ), customer varchar ( 20 ), date smalldatetime , customertel nchar ( 10 )ASINSERT INTO Repair_info ( repairName , repairtel , product , customer , date , customertel ) VALUES (repairName , r

43、epairtel , product , customer , date , customertel)SET repairId = IDENTITYCREATE PROCEDURE Repair_info_Update repairId int , repairName nchar ( 10 ), repairtel nchar ( 10 ), product varchar ( 50 ), customer varchar ( 20 ), date smalldatetime , customertel nchar ( 10 ) ASUPDATE Repair_info SET repair

44、Name = repairName , repairtel = repairtel , product = product , customer = customer , date = date , customertel = customertel WHERE repairId =repairIdCREATE PROCEDURE Repair_info_Delete repairId int ASDELETE Repair_info WHERE repairId =repairIdCREATE PROCEDURE Repair_info_GetModelrepairId intASSELEC

45、TrepairId , repairName , repairtel , product , customer , date , customertel FROM Repair_info WHERE repairId =repairIdCREATE PROCEDURE Repair_info_GetListASSELECTrepairId , repairName , repairtel , product , customer , date , customertel FROM Repair_info CREATE PROCEDURE Seller_info_Exists name varc

46、har ( 50 )ASDECLARE TempID intSELECT TempID = count ( 1 ) FROM Seller_info WHERE name =name IF TempID = 0 RETURN 0 ELSERETURN 1CREATE PROCEDURESeller_info_ADDname varchar ( 50 ),telephonevarchar( 20),addressvarchar( 50 ),productvarchar( 50 ),stockNumvarchar( 6),stockDatesmalldatetime,stockPricevarchar ( 10 )ASINSERT INTO Seller_info (st name , telephone , address , product , stockNum , stockDate , ockPrice ) VALUES (name, telephone , address , product , stockNum , stockDate , stockPrice )CREATE PROCEDURE Seller_info_Updatename varchar ( 50 ),telephone varchar ( 20 ),addre

温馨提示

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

评论

0/150

提交评论