系统数据库设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXXXXXXXXXXXXXXX项目
XXXXXXX系统
数
据
库
设
计
说
明
书
XXXX股份有限公司
XXXX年XX月
文档管理信息表
文档修订历史
摘要
本数据库设计说明书是以《XXXX学院-XXXX系统-需求分析说明书》为依据,在其需求规定的基础上编写而成。定义总体数据库设计。
XXXX学院XXXX系统使用业界普遍使用的面向对象设计思想进行设计,在数据库设计中使用ORM(对象-关系数据库映射)方法进行数据设计和数据关系管理,ORM方法以最基本的方式进行数据建模,将数据库中的关系数据映射成为利用程序控制的内存对象,数据的关联关系都交由程序管理和实现,而不在数据库的物理结构中进行设计,从而解决了数据库中关系数据无法直接表达多对多关联和继承关系,以及对象属性和状态变更和数据库物理结构不同步的问题。
本数据库说明书在需求分析的基础上进一步明确数据库结构,详细地介绍数据库的各个表结构,为进行后面的实现和测试做准备。
目录
摘要 (3)
目录 (4)
1.引言 (5)
1.1. 编写目的 (5)
1.2. 定义 (5)
1.3. 参考资料 (5)
2.外部设计 (5)
2.1. 标识符和状态 (5)
2.2. 使用它的程序 (6)
2.3. 约定 (6)
2.4. 支持软件 (6)
3.结构设计 (7)
3.1. 物理结构设计 (7)
3.1.1.系统数据总表 (7)
3.1.2.具体数据库设计 (7)
4.运用设计 (8)
4.1. 安全保密设计 (8)
4.1.1.防止用户直接操作数据库的方法 (8)
4.1.2.对应用系统的用户口令进行加密 (8)
4.1.3.对用户进行权限识别和分级 (9)
4.2. 优化 (9)
1.引言
1.1. 编写目的
本说明书在需求分析的基础上进一步明确数据库结构,详细地介绍数据库的各个表结构,为进行后面的实现和测试做准备。
本文主要描述XXXX学院XXXX系统的数据库设计,旨在为项目建设提供必要的依据,同时也作为项目验收的依据之一。
1.2. 定义
1.3. 参考资料
A.《XXXX学院-XXXX系统-需求分析说明书》;
2.外部设计
2.1. 标识符和状态
(1)表名:
T_模块_表标识
(2)视图
V_视图标识
(3)存贮过程
P_存贮过程标识
(4)函数
F_函数标识
(5)触发器
tr_<表名>_(after)
ti_<表名>_(instead)
(6)自定义数据类型
ud_<自定义数据类型标识>_<数据类型>
(7)Default
df_
(8)Rule
ru_
(9)主键
pk_<表名>_<主键标识>
(10)外键
fk_<表名>_<主表名>_<外键标识>
2.2. 使用它的程序
XXXX学院XXXX系统。
2.3. 约定
本系统采用的数据库为ORACLE,版本为11G;
数据库设计工具PowerDesigner,版本为16.0。
2.4. 支持软件
客户端工具:PLSQL Developer,版本:8.5。
3.结构设计
3.1. 物理结构设计
3.1.1.系统数据总表
3.1.1.1.系统表
3.1.1.2.基本信息表
3.1.2.具体数据库设计
3.1.2.1.系统表
1.表[T_SYS_DICT]:[数据字典表]
4.运用设计
4.1. 安全保密设计
4.1.1.防止用户直接操作数据库的方法
通过把关键应用服务器和数据库服务器进行分离,防止用户对数据库服务器的直接操作,保证数据库的安全。
4.1.2.对应用系统的用户口令进行加密
在软件系统中,对于数据的保护、业务操作的许可是通过识别用户身份和权限来完成的。用户口令相比较,相同的话系统将该用户的操作权限分配给用户,用户再根据所分配的权限对系统进行操作。由以上过程可知,用户口令在传输过程中容易被窃取泄漏,另外如果数据库被非法进入则其中保存的口令能够被非法查看。因此,在传输过程中和数据库中的口令记录字段不应使用明文传递和保存,应该在口令被传递前对其明文口令使用有效的主流技术对传输数据进行加密部分描述的加密算法进行加密,在加密后传输到系统。系统将用户提交的经过加密的口令数据保存的加密口令进行比较,相一致则进行后续操作。通过以上措施和过程,证了加密口令即使被窃取仍无法得到原始口令。
4.1.3.对用户进行权限识别和分级
在宿舍管理系统中,不同的业务不同的人员处理,并且对于不同的操作人员其所能够访问的数据是不同的。为了保障各功能模块的授权使用和数据不被非法访问,系统划分了不同的操作权限和数据读写等级。系统管理人员可以方便、灵活的将这些权限登记分配给某一个或某一类用户。当用户登陆时,系统在用户身份验证通过后取得用户的权限,根据用户权限显示相应的功能菜单。当用户对数据进行读、写、删除后浏览操作时,系统判断用户对该数据的访问权限确定是否允许该操作的执行。
4.2. 优化
在给定的系统硬件和系统软件条件下,提高数据库系统的运行效率的办法是:
1.在数据库物理设计时,降低范式,增加冗余, 少用触发器, 多用存储过
程。
2.当计算非常复杂、而且记录条数非常巨大时(例如一千万条),复杂计算
要先在数据库外面,以文件系统方式用java等语言计算处理完成之后,
最后才入库追加到表中去。
3.发现某个表的记录太多,例如超过一千万条,则要对该表进行水平分割。
水平分割的做法是,以该表主键PK的某个值为界线,将该表的记录水平
分割为两个表。若发现某个表的字段太多,例如超过八十个,则垂直分
割该表,将原来的一个表分解为两个表。
4.对数据库管理系统DBMS进行系统优化,即优化各种系统参数,如缓冲区
个数。
5.在使用面向数据的SQL语言进行程序设计时,尽量采取优化算法。
总之,要提高数据库的运行效率,必须从数据库系统级优化、数据库设计级优化、程序实现级优化,这三个层次上同时下功夫。