版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DR-RD-020(V1.1)数据库设计说明书数据库设计说明书(内部资料 请勿外传)编编 写:写:日日 期:期:检检 查:查:日日 期:期:审审 核:核:日日 期:期:批批 准:准:日日 期:期: *版权所有版权所有 不得复制不得复制文档编号文档编号2011-6-14版本版本A1密级密级商密A项目名称项目名称时代集团产品跟踪平台*中心开发部中心开发部项目来源项目来源时代集团时代集团产品跟踪平台时代集团产品跟踪平台 .1数据库设计说明书数据库设计说明书 .11引言引言.21.1编写目的.21.2术语表.21.3参考资料.32数据库环境说明数据库环境说明.33数据库的命名规则数据库的命名规则.34
2、逻辑设计逻辑设计.35物理设计物理设计.45.1表汇总.45.2表X:XXX 表.45.3视图的设计.65.4存储过程、函数及触发器的设计.66安全性设计安全性设计.66.1防止用户直接操作数据库的方法.66.2用户帐号密码的加密方法.76.3角色与权限.77优化优化.78数据库管理与维护说明数据库管理与维护说明.71引言引言1.1编写目的编写目的本文档是时代集团产品跟踪平台概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循SQL 数据库设计和开发规范 。本文档的读者对象是需求人员、系统设计人员、开发人员、测试人员
3、。1.2术语表术语表序号序号术语或缩略语术语或缩略语说明性定义说明性定义1ESIDEnterStorageId 入库编号2ProIdProductId 产品编号3PMIDProductManagerId 产品管理员编号1.3参考资料参考资料资料名称作者文件编号、版本资料存放地点2数据库环境说明数据库环境说明数据库实例数据库系统数据库部署环境数据库设计工具数据库存放位置说明3数据库的命名规则数据库的命名规则数据库名称:时代集团的英文名称time-group表名:英文(表的用途)+下划线+英文字段名:相关属性的英文名 4逻辑设计逻辑设计提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体
4、关系图(ERD) 。如果采用面向对象方法(OOAD) ,这里实体相当于类(class) 。inhr_partner_spinhr_partner_cppartner_sett_relscoop_relssettle_order_relspartner_sett_ordercoop_settl_ordersp_coop_relscp_coop_rels伙 伙 伙 伙伙 伙 伙 伙 伙伙 伙 伙 伙 伙伙 伙 伙 1伙 伙 伙 伙伙 伙 伙伙 伙 伙 伙伙 伙 伙 伙伙 伙 伙 25物理设计物理设计提示:(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约
5、束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。(2)对表结构进行规范化处理(第三范式) 。5.1表汇总表汇总表名功能说明Enter_storage产品入库(新产品的登记、修改、查询)Exit_storage产品出库(登记产品出库信息)Seller_info销售商信息维护表(对销售商信息的添加、修改和查询)Product_info产品信息表(对新产品的发布,修改,查询等维护)Repair_info维修表(对已出售产品的维修进行登记,修改)L管理员表(包含五种身份,销售人员,库存管理人员,售后服务人员,产品信息管理人员,系统管理员)5.2表:表的索引: 索引是否
6、建立要根据具体的业务需求来确定。允许为空:不填的表示为“是” 。唯一:不填的表示为“是” 。表的记录数和增长量:根据具体的业务需求确定。增长量应确定单位时间如果量大可以按每天,如果不大可以按每月。表字段的区别度:主要是考虑到将来在此字段上建立索引类型选择时作为参考,当字段值唯一时可以不考虑,当字段值不唯一时,估算一个区别度,近似即可。例如:如果一个表的 NAME 字段有共 2000 个值,其中有 1999 个不同值,1999/2000=0.99 越接近 1 区别度越高,反之区别度越低。表的并发:根据具体的业务需求预测表的并发。1表名Enter_storage数据库用户库存管理人员主键ESID
7、入库产品编号其他排序字段Product,date,num,storageManagerId索引字段序号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1ESIDintNY2ProductVarchar(50)NN3dateSmallDateTimeNN4numVarchar(50)NN5storageManagerIdVarchar(50)NYMysql 脚本CREATE TABLE dbo.Enter_storage(ESID int IDENTITY(1,1) NOT NULL,product varchar(50) NOT NULL,date smalld
8、atetime 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_LOCKS = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING O
9、FFGO记录数增长量表的并发补充说明2.2.表名Exit_storage数据库用户库存管理人员主键ExitStorageId 出库产品编号其他排序字段Product,date,num,storageManagerId索引字段序号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1ExitStorageIdintNY2ProductVarchar(50)NN3dateSmallDateTimeNN4numVarchar(50)NN5storageManagerIdVarchar(50)NYMysql 脚本CREATE TABLE dbo.Exit_storage(E
10、xitStorageId int 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_PAGE_LOCK
11、S = ON) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO/* Object: Table dbo.Enter_storage Script Date: 01/17/2011 16:00:59 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明3.3.表名Seller_info数据库用户销售商管理员主键name 其他排序字段telephone,address,product, stockNum,stockDate,stockPric
12、e索引字段序号字段名称数据类型(精度范围)允许为空 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 NULL,add
13、ress varchar(50) NOT NULL,product varchar(50) NOT NULL,stockNum varchar(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_LOCKS
14、= ON, ALLOW_PAGE_LOCKS = ON) 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.4. 表名Product_info数据库用户产品信息管理人员主键proId其他排序字段name,price,proDate, storage索引字段序
15、号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1proIdintNY2nameVarchar(50)NN3priceVarchar(50)NN4proDateSmallDateTime NN5storageVarchar(50)NYMysql 脚本CREATE TABLE dbo.Product_info(proId int IDENTITY(1,1) NOT NULL,name varchar(50) NOT NULL,price varchar(6) NOT NULL,proDate smalldatetime NOT NULL,storage varc
16、har(4) 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:
17、59 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明5.5.表名Repair_info数据库用户售后服务人员主键repairId 产品维修编号其他排序字段repairName,repairtel,product, customer,date,customertel索引字段序号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1repairIdintNY2repairNameVarchar(50)NN3repairtelSmallDateTimeNN
18、4productVarchar(50)NN5customerVarchar(50)NNdateSmallDateTimeNNcustomertelVarchar(50)NNMysql 脚本CREATE TABLE dbo.Repair_info(repairId int IDENTITY(1,1) NOT NULL,repairName nchar(10) NULL,repairtel nchar(10) NULL,product varchar(50) NOT NULL,customer varchar(20) NOT NULL,date smalldatetime NOT NULL,cus
19、tomertel nchar(10) NULL, CONSTRAINT PK_Table_1 PRIMARY KEY CLUSTERED (repairId 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.Product_info Script Date: 01/1
20、7/2011 16:00:59 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGO记录数增长量表的并发补充说明6.6.表名Login数据库用户管理人员主键userId 用户编号其他排序字段password,userName,tel, birthday,registerTime,type索引字段序号字段名称数据类型(精度范围)允许为空 Y/N唯一Y/N区别度默认值约束条件/说明1userIdintNY2passwordVarchar(50)NN3userNameSmallDateTimeNN4telVarcha
21、r(50)NN5birthdayVarchar(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
22、(50) NOT NULL, CONSTRAINT 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) ON PRIMARY) ON PRIMARYGOSET ANSI_PADDING OFFGO记录数增长量表的并发补充说明5.35.3视图的设计视图的设计根据 XXX 产品的概要设计文档来确定。视图的命名按照x
23、x 数据库设计规范中关于视图的命名规范命名。视图的设计应注意以下几点:1 尽量减少列中使用的公式。2 去掉所有不必要的列。3 不要使同一个文档属于多个分类。4 避免使用表单公式。5.45.4存储过程、函数及触发器的设计存储过程、函数及触发器的设计存储过程及触发器的命名按照xx 数据库设计规范中关于存储过程及触发器的命名规范命名。存储过程:根据具体得业务逻辑确定输入参数个数,类型,确定对哪几个表进行何种作。 在定义存储过程时,要使用其完成单一、相对集中的任务,不要定义已由其他提供功能的过程。例如:不要定义强制数据完整性的过程(使用完整性约束) 。函数 :函数与存储过程非常相似,它也是存储在数据库
24、中的对象。但是可以在SQL 命令中使用函数。就好像建立自己的 substr 函数一样触发器 :触发器是存储在数据库中的程序,它在某一特定事件发生时执行。这些程序可以用 PL/SQL 和 java 语言编写,也可以用作 c 语言的调用,数据库允许用户定义这些程序,然后在相关的表,视图或者数据库动作执行insert,update 或 delete 语句时执行。1.存储过程:CREATE PROCEDURE Enter_storage_GetMaxIdASDECLARE TempID intSELECT TempID = max(ESID)+1 FROM Enter_storageIF TempID
25、 IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Enter_storage_ExistsESID intASDECLARE TempID intSELECT TempID = count(1) FROM Enter_storage WHERE ESID=ESID IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Enter_storage_ADDESID int output,product varchar(50),date smalldatetime,num varchar(6),stora
26、geManagerId nvarchar(50) AS INSERT 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) AS UPDATE Enter_storag
27、e SET product = product,date = date,num = num,storageManagerId = 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_storageWHER
28、E ESID=ESID CREATE PROCEDURE Enter_storage_GetList AS SELECT ESID,product,date,num,storageManagerIdFROM Enter_storageCREATE PROCEDURE Exit_storage_GetMaxIdASDECLARE TempID intSELECT TempID = max(ExitStorageId)+1 FROM Exit_storageIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Exit_storage
29、_ExistsExitStorageId intASDECLARE TempID intSELECT TempID = count(1) FROM Exit_storage WHERE ExitStorageId=ExitStorageId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Exit_storage_ADDExitStorageId int output,product varchar(50),date smalldatetime,num varchar(6),storageManagerId nvarchar(50) AS I
30、NSERT 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 varchar(6),storageManagerId nvarchar(50) AS UPDATE Exit_storage SET product
31、= product,date = date,num = num,storageManagerId = storageManagerIdWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_DeleteExitStorageId int AS DELETE Exit_storageWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_GetModelExitStorageId int AS SELECT ExitStorageId,product,d
32、ate,num,storageManagerIdFROM Exit_storageWHERE ExitStorageId=ExitStorageId CREATE PROCEDURE Exit_storage_GetList AS SELECT ExitStorageId,product,date,num,storageManagerIdFROM Exit_storageCREATE PROCEDURE Login_ExistsuserId varchar(10)ASDECLARE TempID intSELECT TempID = count(1) FROM Login WHERE user
33、Id=userId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Login_ADDuserId varchar(10),password varchar(16),userName varchar(20),tel varchar(20),birthday smalldatetime,registerTime smalldatetime,type nvarchar(50) AS INSERT INTO Login(userId,password,userName,tel,birthday,registerTime,type)VALUES(us
34、erId,password,userName,tel,birthday,registerTime,type)CREATE PROCEDURE Login_UpdateuserId varchar(10),password varchar(16),userName varchar(20),tel varchar(20),birthday smalldatetime,registerTime smalldatetime,type nvarchar(50) AS UPDATE Login SET password = password,userName = userName,tel = tel,bi
35、rthday = birthday,registerTime = registerTime,type = typeWHERE userId=userId CREATE PROCEDURE Login_DeleteuserId varchar(10) AS DELETE LoginWHERE userId=userId CREATE PROCEDURE Login_GetModeluserId varchar(10) AS SELECT userId,password,userName,tel,birthday,registerTime,typeFROM LoginWHERE userId=us
36、erId CREATE PROCEDURE Login_GetList AS SELECT userId,password,userName,tel,birthday,registerTime,typeFROM LoginCREATE PROCEDURE Product_info_GetMaxIdASDECLARE TempID intSELECT TempID = max(proId)+1 FROM Product_infoIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Product_info_ExistsproId i
37、ntASDECLARE TempID intSELECT TempID = count(1) FROM Product_info WHERE proId=proId IF TempID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Product_info_ADDproId int output,name varchar(50),price varchar(6),proDate smalldatetime,storage varchar(4) AS INSERT INTO Product_info(name,price,proDate,storage)VALU
38、ES(name,price,proDate,storage)SET proId = IDENTITYCREATE PROCEDURE Product_info_UpdateproId int,name varchar(50),price varchar(6),proDate smalldatetime,storage varchar(4) AS UPDATE Product_info SET name = name,price = price,proDate = proDate,storage = storageWHERE proId=proId CREATE PROCEDURE Produc
39、t_info_DeleteproId int AS DELETE Product_infoWHERE proId=proId CREATE PROCEDURE Product_info_GetModelproId int AS SELECT proId,name,price,proDate,storageFROM Product_infoWHERE proId=proId CREATE PROCEDURE Product_info_GetList AS SELECT proId,name,price,proDate,storageFROM Product_infoCREATE PROCEDUR
40、E Repair_info_GetMaxIdASDECLARE TempID intSELECT TempID = max(repairId)+1 FROM Repair_infoIF TempID IS NULLRETURN 1ELSERETURN TempIDCREATE PROCEDURE Repair_info_ExistsrepairId intASDECLARE TempID intSELECT TempID = count(1) FROM Repair_info WHERE repairId=repairId IF TempID = 0RETURN 0ELSERETURN 1CR
41、EATE PROCEDURE Repair_info_ADDrepairId int output,repairName nchar(10),repairtel nchar(10),product varchar(50),customer varchar(20),date smalldatetime,customertel nchar(10) AS INSERT INTO Repair_info(repairName,repairtel,product,customer,date,customertel)VALUES(repairName,repairtel,product,customer,
42、date,customertel)SET repairId = IDENTITYCREATE PROCEDURE Repair_info_UpdaterepairId int,repairName nchar(10),repairtel nchar(10),product varchar(50),customer varchar(20),date smalldatetime,customertel nchar(10) AS UPDATE Repair_info SET repairName = repairName,repairtel = repairtel,product = product
43、,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,customertelFR
44、OM Repair_infoWHERE repairId=repairId CREATE PROCEDURE Repair_info_GetList AS SELECT repairId,repairName,repairtel,product,customer,date,customertelFROM Repair_infoCREATE PROCEDURE Seller_info_Existsname varchar(50)ASDECLARE TempID intSELECT TempID = count(1) FROM Seller_info WHERE name=name IF Temp
45、ID = 0RETURN 0ELSERETURN 1CREATE PROCEDURE Seller_info_ADDname varchar(50),telephone varchar(20),address varchar(50),product varchar(50),stockNum varchar(6),stockDate smalldatetime,stockPrice varchar(10) AS INSERT INTO Seller_info(name,telephone,address,product,stockNum,stockDate,stockPrice)VALUES(name,telephone,address,product,stockNum,stockDate,stockPrice)CREATE PROCEDURE Seller_info_Updatename varchar(50),telephone varchar(20),address varchar(50),product varchar(50
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025专业仓储合同
- 2025国英置业合同成本手册
- 2025年度农村私人鱼塘承包与绿色渔业发展合作合同
- 二零二五年度农产品品牌营销委托收购合作协议3篇
- 二零二五年度车辆未过户期间的车辆事故免责条款合同3篇
- 二零二五年度火锅店转让及底料供应协议3篇
- 二零二五年度执业药师药品市场营销推广服务合同3篇
- 2025年度特种水产品养殖项目合伙经营合同3篇
- 二零二五年度特色小镇建设住房合作协议3篇
- 2025年度家庭农场规模化养猪场整体转让合同3篇
- 手机短视频拍摄与剪辑(微课版) 课件 第7章 视频摄像
- GH/T 1451-2024调配蜂蜜水
- 送温暖活动困难职工帮扶申请表
- 小学六年级英语教学小助手的培养研究
- 2024年人教版初二物理上册期末考试卷(附答案)
- 山东省临沂市河东区2023-2024学年五年级下学期期末综合(道德与法治+科学)检测试题
- 广安市岳池县2022-2023学年七年级上学期期末道德与法治试题
- 产品进入医院的程序及方法
- 司机劳务合同
- 搭乘私家车免责协议书
- 某冶金机械修造厂全厂总压降变电所及配电系统设计
评论
0/150
提交评论