数据库设计说明书txt.docx
《数据库设计说明书txt.docx》由会员分享,可在线阅读,更多相关《数据库设计说明书txt.docx(19页珍藏版)》请在冰豆网上搜索。
数据库设计说明书txt
编号:
HY-MS-QKXYHSXT-OPD-P13
版本:
1.2
数据库设计说明书
项目名称:
浙江油田远程管控决策系统
委托单位:
浙江油田公司
承担单位:
克拉玛依红有软件有限责任公司
编写:
李波2014年6月18日
校对:
崔德红2014年9月21日
审核:
崔德红2014年9月25日
目录
1引言1
1.1编写说明1
1.2背景1
1.3修订审批记录1
1.4术语和缩写词1
1.5参考资料2
2外部设计2
2.1标识符和状态2
2.2使用该数据库的程序2
2.3约定3
2.3.1数据库中表(Table)的命名约定3
2.3.2数据库表中字段(表的域Column)命名约定3
2.3.3数据库中存储过程(StoreProcedure)命名约定3
2.3.4数据库中触发器(Trigger)命名约定3
2.3.5数据库中创建的视图(View)命名约定3
2.3.6数据库中函数(FUNCTION)命名约定3
2.3.7数据库中数据库链接(DATABASELINK)*的命名约定3
2.3.8输入参数及输出参数命名约定4
2.3.9变量命名约定4
2.4支持软件4
2.5专门说明4
3结构设计5
3.1概念结构设计5
3.2逻辑结构设计5
3.2.1表目录5
3.2.2表结构5
3.3物理结构设计6
3.3.1设计数据的存取路径6
3.3.2设计数据的存放位置6
3.4完整性设计6
3.5安全保密设计7
3.5.1用户身份的标识7
3.5.2存取控制7
3.6其它设计7
3.6.1利用软件系统提供的备份机制7
3.6.2数据库的备份和恢复7
1引言
1.1编写说明
编写《数据库设计说明书》的目的是为系统设计、系统开发提供参考,主要读者是系统设计人员、系统开发人员、用户。
1.2背景
应用数据库名:
zjdb
版本号:
ORACLE11G
使用范围:
数据录入、信息查询
任务提出者:
浙江油田公司
开发者:
克拉玛依红有软件有限责任公司
1.3修订审批记录
表1.3文档修订记录表
修订记录
章节
修订日期
版本
修订描述
修订者
审核者
崔德红
表1.3.1文档审批记录表
审批记录
审批方式
审批日期
版本
审批意见
提交者
审批者
1.4术语和缩写词
概念结构设计:
是对现实世界的一种抽象,即对实际的人、物、事和概念进行人为处理,抽取人们关心的共同特性,忽略非本质的细节,并把这引起特性用各种概念精确地加以描述。
概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。
逻辑数据库设计:
是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库全局逻辑结构和每个用户的局部逻辑结构。
物理数据库设计:
是在逻辑结构确定之后,设计数据库的存储结构及其它细节。
数据字典:
是存储“关于数据项的数据”,它记录有关数据的来源、说明、与其他数据的关系、用途和格式等信息。
下面是ORACLE数据库专用术语和名称:
✧表-----------------------------------Table
✧字段---------------------------------Column
✧存储过程-----------------------------StoreProcedure
✧触发器-------------------------------Trigger
✧游标---------------------------------Cursor
✧索引---------------------------------Index
✧视图---------------------------------View
✧序列---------------------------------Sequence
✧函数---------------------------------Function
✧约束---------------------------------Constraint
1.5参考资料
作者
名称
出版单位
发表日期
2外部设计
2.1标识符和状态
本数据库命名为:
zjdb
使用它的程序是:
浙江油田远程管控决策系统
2.2使用该数据库的程序
程序名称:
浙江油田远程管控决策系统版本号:
1.4
程序名称:
PLSQLDeveloper版本号:
8.0
2.3约定
2.3.1数据库中表(Table)的命名约定
根据新疆油田分公司《开发数据库数据结构及填写规定》数据表代码编码方法进行编码。
实时数据表:
TIME+井号为表名,“TIME”表示时间数据;
其他:
名称的英文简写编码;
临时表采用以TEMP_+各专业表名+序号(序号随着表的主次顺序进行递增)。
2.3.2数据库表中字段(表的域Column)命名约定
表中字段的命名以整理后数据项名称的英文缩写为主。
若在同一表中有两个以上字段汉语拼音缩写相同,则将名称中能区别它们的第一个汉字的汉语拼音尽可能少地加入命名中。
2.3.3数据库中存储过程(StoreProcedure)命名约定
在数据库中创建的存储过程命名规则如下:
a)数据统计的存储过程名以TSP_+[专业]+表名组成;
b)数据检查的存储过程名以SSP_+SJJC_+表名组成;
c)查询依据的存储过程名以SSP_+CYYJ_+字段名组成;
d)报表处理的存储过程名以BSP_+[专业]+表名组成;
e)生成树的过程名以TREE_+表名组成;
f)信息查询的存储过程名以XSP_+[专业]+表名组成。
2.3.4数据库中触发器(Trigger)命名约定
在数据库中依附于表创建的触发器,插入触发器的名称以’INS_’+当前表名组成,更新触发器的名称以‘UPD_’+当前表名组成,删除触发器的名称以‘DEL_’+当前表名组成,其它的触发器应用最能表现此触发器功能的字母表示。
2.3.5数据库中创建的视图(View)命名约定
在数据库中创建的视图(View),均以基表+‘_V’组成。
2.3.6数据库中函数(FUNCTION)命名约定
FUN_+用途简写
F_+用途简写
2.3.7数据库中数据库链接(DATABASELINK)*的命名约定
在数据库中创建的数据库链接(DATABASELINK)*,最能表现此数据库链接(DATABASELINK)*内容的术语或名称的汉语拼音缩写命名。
如:
建立一个与产能建设数据库的链接,其命名为CNJS,钻井数据库,其命名ZJSJK。
2.3.8输入参数及输出参数命名约定
P_参数每一个汉字拼音第一个字母组合。
2.3.9变量命名约定
V_变量每一个汉字拼音第一个字母组合。
注:
*表示此术语或名称为ORACLE独有。
2.4支持软件
1.本系统应用数据库采用ORACLE11g进行数据维护、数据库备份、恢复、权限管理等。
2.数据库备份命令:
EXPUSERNAME/PASSWORD@TNSNAMEFILE=FILENAME
3.数据库恢复命令:
IMPUSERNAME/PASSWORD@TNSNAMEFILE=FILENAME
4.表授权命令:
GRANTXXXXONTABLENAMETOUSERNAME
5.数据更新命令:
UPDATETABLENAEMSETCOLUMNNAME=XXXXX
2.5专门说明
本系统涉及到的数据库分为应用数据库:
ZHTZ,系统数据库:
DJHS_JCPT。
应用数据库存放的是新疆油田区块(单井)效益核算数据,系统数据库存放数据字典和元数据。
开发和测试均在测试服务器上完成,项目验收后,将数据库迁移到集群服务器上。
3结构设计
3.1概念结构设计
图3.1概念结构设计
3.2逻辑结构设计
3.2.1表目录
表3.2.1数据表目录
序号
模块名称
数据集名称
数据集标题
数据类型
1
用户表
Users
用户数据表
表
2
部门表
Department
部门数据表
表
3
角色表
Role
角色管理表
表
4
权限表
Privilege
权限管理表
表
5
文件信息表
Files
文件管理表
表
6
井基础信息表
JHTableIndex
井的基础信息管理表
表
7
井的实时数据表
Time+井号
井的实时数据表(动态创建)
表
3.3物理结构设计
3.3.1设计数据的存取路径
在创建索引的时候,一般遵循以下的一些经验性原则:
✓在经常需要搜索的列上建立索引。
✓在主关键字上建立索引。
✓在经常用于连接的列上建立索引,即在外键上建立索引。
✓在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。
✓在经常需要排序的列上建立索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询的时间。
✓在经常成为查询条件的列上建立索引。
也就是说,在经常使用在WHERE子句中的列上面建立索引。
✓对于那些在查询中很少使用和参考的列不应该创建索引。
因为既然这些列很少使用到,有索引并不能提高查询的速度。
相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。
✓过长的属性不应该建立索引,例如超过30个字节。
因为在过长的属性上建立索引,索引所占的存储空间较大,而索引的级数也随之增加,有诸多不利之处。
如果实在需要在其上建立索引,必须采取索引属性压缩的措施。
✓经常更新的属性或表不应该建立索引。
因为在更新时有关的索引需要做相应的修改。
3.3.2设计数据的存放位置
✓数据库数据备份、日志文件备份等由于只在故障恢复时才使用,而且数据量很大,可以存放在磁带上。
✓将表和索引分别放在不同的磁盘上。
✓将比较大的表分别放在两个磁盘上,以加快存取速度。
✓将数据分布到多个磁盘上。
4应用设计
4.1触发器设计
无。
4.2视图设计
无。
4.3包设计
无。
4.4函数设计
无。
8其它设计
5.1完整性设计
数据库在各数据表之间,按照逻辑需求设置了关联关系。
在表与表之间,形成了必要的多级主从关系。
借助外键制约和外键限制机制,利用系统自动定义生成的触发器程序,有效的保证了相关数据的参照完整性。
5.2安全保密设计
5.2.1用户身份的标识
用户标识(ID)与口令(Password)正确,系统才能访问数据库。
5.2.2存取控制
数据库管理系统对不同级别和层次的用户,对数据的操作权限执行存取控制。
用户不能直接访问、修改数据库数据,只能通过数据录入系统修改、新增、删除数据。
5.3其它设计
数据库管理系统能提供存取权限等方面的安全措施,但在系统运行过程中还可能发生硬设备的失效或故障、软件发生的错误、操作员或用户操作中发生的失误等而造成对数据库的破坏。
因此数据库管理系统必须具备故障检测手段,并把数据库系统恢复到故障发生前的“本来面貌”。
本次数据库管理系统采用ORACLE10G。
数据库恢复的基本手段包括:
5.3.1利用软件系统提供的备份机制
当数据库运行正常,但数据发生了破坏,可以查看日志文件检查用户操作,跟踪在发生错误前每一次所进行的更新活动。
软件系统本身提供备份机制,后备副本恢复数据库。
5.3.2数据库的备份和恢复
要求Oracle数据库管理员对数据库进行定期完全备份和增量、累积备份。
一旦数据库发生破坏,就可方便的利用备份文件进行数据恢复。
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象等而获得数据库安全保密的设计考虑。
以及将要采用的保证数据安全保密的措施和机制,如数据库安全破坏标识、资源保护方式、存取控制方式等。
附表1:
数据库逻辑结构字典格式
表3.6.2指标管理(T_ZBGL)
序号
数据项名称
拼音代码
数据类型
宽度
小数位数
计量单位
主键
外键
参照表
非空值
值约束
规范值
维护级别
数据项描述
1
指标编码
ZBID
VARCHAR(20)
20
TRUE
TRUE
TRUE
2
指标唯一标识
2
指标名称
ZBMC
VARCHAR(50)
50
FALSE
FALSE
FALSE
2
指标名称
3
分类ID
FLID
VARCHAR(20)
20
FALSE
FALSE
FALSE
指标分类管理表ID
4
指标核算区间
ZBHSQJ
VARCHAR(20)
20
FALSE
FALSE
FALSE
2
指定是月度/季度/年度/指标
6
是否启用
SFQY
VARCHAR
(2)
2
FALSE
FALSE
FALSE
2
是否启用
7
指标添加日期
ZBTJRQ
DATE
FALSE
FALSE
FALSE
2
指标添加日期
8
备注
BZ
CLOB
FALSE
FALSE
FALSE
2
备注
9
添加用户
TJYH
VARCHAR(30)
30
FALSE
FALSE
FALSE
2
添加用户
10
指标单位
ZBDW
VARCHAR(50)
50
FALSE
FALSE
FALSE
2
指标计量单位
11
是否审核
SFSH
VARCHAR
(2)
2
FALSE
FALSE
FALSE
2
表示审核状态1通过,0不通过
12
禁用日期
JYRQ
DATE
FALSE
FALSE
FALSE
2
禁用日期
表3.6.2.1单位指标关系管理(T_DWZBGXGL)
序号
数据项名称
拼音代码
数据类型
宽度
小数位数
计量单位
主键
外键
参照表
非空值
值约束
规范值
维护级别
数据项描述
1
对象ID
DXID
VARCHAR(20)
20
TRUE
FALSE
TRUE
2
对象唯一标识编码
2
对象名称
FXMC
VARCHAR(50)
20
FALSE
FALSE
FALSE
2
对象名称
3
对象类型
FXLX
VARCHAR(50)
50
FALSE
FALSE
FALSE
2
标识为单位/部门/区块/计量站
4
指标编码
ZBID
VARCHAR(20)
20
FALSE
TRUE
TRUE
22
指标管理表指标编码
5
指标来源
ZBLY
CLOB
FALSE
FALSE
FALSE
2
指标数据来源,为sql语句
6
指标名称
ZBMC
VARCHAR(50)
50
FALSE
FALSE
FALSE
2
指标管理表指标名称
7
是否启用
SFQY
VARCHAR
(2)
2
FALSE
FALSE
FALSE
2
是否启用
8
是否审核
SFSH
VARCHAR(4)
4
FALSE
FALSE
FALSE
2
表示审核状态1通过,0不通过
表3.6.2.2指标分类(T_ZBFLGL)
序号
数据项名称
拼音代码
数据类型
宽度
小数位数
计量单位
主键
外键
参照表
非空值
值约束
规范值
维护级别
数据项描述
1
父级分类id
FJFLID
VARCHAR(15)
15
FALSE
FALSE
FALSE
2
父分类ID
2
分类ID
FLID
VARCHAR(15)
15
TRUE
FALSE
TRUE
2
分类ID
3
指标编码
ZBID
VARCHAR(50)
50
FALSE
TRUE
TRUE
2
指标管理表指标编码
4
指标分类名称
ZBFLMC
VARCHAR(50)
50
FALSE
FALSE
FALSE
2
指标管理表指标名称
5
是否启用
SFQY
VARCHAR
(2)
2
FALSE
FALSE
FALSE
2
是否启用
6
添加日期
TJRQ
DATE
FALSE
FALSE
FALSE
2
添加日期
7
是否审核
SFSH
VARCHAR(4)
4
FALSE
FALSE
FALSE
2
表示审核状态1通过,0不通过
8
禁用日期
JYRQ
DATE
FALSE
FALSE
FALSE
2
禁用日期
表3.6.2.3成本数据表(T_CBSJB)
序号
数据项名称
拼音代码
数据类型
宽度
小数位数
计量单位
主键
外键
参照表
非空值
值约束
规范值
维护级别
数据项描述
1
指标编码
ZBID
VARCHAR(20)
20
TRUE
FALSE
TRUE
2
指标编码
2
年度
ND
VARCHAR(4)
4
FALSE
FALSE
FALSE
2
年度
3
月度
YD
VARCHAR
(2)
2
FALSE
FALSE
FALSE
2
月度
4
季度
JD
VARCHAR(8)
8
FALSE
FALSE
FALSE
2
季度
5
指标值
ZBZ
FLOAT
FALSE
FALSE
FALSE
2
陈本数据值
6
计量单位
JLDW
VARCHAR(20)
20
FALSE
FALSE
FALSE
2
计量单位
7
数据id
SJID
VARCHAR(20)
20
FALSE
FALSE
FALSE
2
数据id
8
对象ID
DXID
VARCHAR(20)
20
TRUE
FALSE
TRUE
2
对象唯一标识编码