软件工程专业毕业论文教学示范文档——蓝梦大学官方网站及教学平台系统数据库表结构设计书_第1页
软件工程专业毕业论文教学示范文档——蓝梦大学官方网站及教学平台系统数据库表结构设计书_第2页
软件工程专业毕业论文教学示范文档——蓝梦大学官方网站及教学平台系统数据库表结构设计书_第3页
软件工程专业毕业论文教学示范文档——蓝梦大学官方网站及教学平台系统数据库表结构设计书_第4页
软件工程专业毕业论文教学示范文档——蓝梦大学官方网站及教学平台系统数据库表结构设计书_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、蓝梦大学官方网站及教学平台系统数据库表结构设计书蓝梦教育集团有限公司信息系统开发中心版权所有不得复制二零一六年十月二十三日文档属性文档属性文件状态:文件标识:bluedream-pm-04j草稿当前版本:1.0正式发布作者:正在修改文件密级:普通v 秘密绝密变更记录日期作者版本变更内容审阅者目录1 引言51.1 目的51.1.1为什么要提供此文档51.1.2 木文档主要内容51.3阅读对象61.1.4 适用环境61.2 项目背景61.2.1为什么要进行此系统项目的开发工作61.2.2系统将采用“逐级分阶段”的模式进行系统扩容61.3 术语定义81.4 参考资料82 数据库表结构设计原则和策略9

2、2.1 系统数据库设计的基本原则92.1.1遵守项目组所制定出的命名规范92.1.2遵守范式标准和合理地数据兀余102.1.3保证数据的完整性和一致性112.1.4主键定义及主键值的合理设置122.1.5在基本数据库表的基础上可以创建出中间表和临吋表132.1.6将多对多的关系转换为一对多的关系142.2 数据库系统安全性设计152.2.1数据库表数据访问的安全保密设计152.2.2数据访问必须要进行身份验证162.2.3遵守最少权限的角色分配原则162.2.4 防范sql注入攻击172.2.5充分应用视图技术提高数据库系统安全性182.2.6对敏感数据的访问需耍应用审计功能182.3 数据库

3、系统的性能优化设计192.3.1尽可能提高数据库系统的运行效率192.3.2充分应用数据库系统中的索引技术203 概念设计213业务实体213.2 实体关系214 物理设计214.1 数据库表设计214.1.1数据库表汇总214.1.2数据库表结构设计214.2 数据字典224.3 编码表225 视图、存储过程、触发器设计225.1 数据视图225.2 自定义函数225.3 自定义存储过程225.4 自定义触发器221引言1.1 目的1.1.1为什么要提供此文档规范化的软件文档是工程化开发软件系统的基础,文档资料是软件系统的牛命线。而 一个好的软件系统设计会让项目开发组省时、省力,让企业省钱,

4、让用户省心。因此,在 整个软件开发的生命过程中,软件系统的设计起着至关重耍的作用一一好的软件系统的设 计会提高软件系统的总体质量、节约开发成本,同时也是改进质量、按时和按需交付软件 产品的关键因素。从整个软件系统项目各个开发阶段来看,软件系统项目的开发过程可以分为需求、设 计、编码、测试等主要的阶段。其中系统设计承接系统的需求分析并基于准确的系统需求 分析,对项目的目标进行结构化搭建一一软件系统的需求具有驱动性,而软件系统的设计 则具有导航性;设计阶段所产生出的设计说明书以及设计规范不仅是后续系统编码开发实 现阶段的作业指导和为编码人员提供开发实现的依据,也是系统测试人员开发相关的测试 用例的

5、指导书;规范化的设计文档同时也能够方便项目的管理人员制定幽项目计划书并按 其要求布置和控制开发工作的全过程。本文档是对蓝梦大学官方网站及教学平台系统总体设计书的进一步扩展,包含有 项目中的各个数据库表结构定义。为此,将本文档命名为蓝梦大学官方网诂及教学平台 系统数据库表结构设计书(简称为蓝梦大学官方网站及教学平台数据库表设计书)。1.1.2本文档主要内容本文档将描述对“蓝梦人学官方网站及教学平台系统”系统的数据库表结构的说明, 主要包括“概念设计”、“物理设计”、“完整性设计”和“安全性设计”、“性能优化 设计”,并最终产牛出“蓝梦大学官方网站及教学平台系统”项目的数据库表结构设计书。1.1.

6、3阅读对象本文档主要提供给与“蓝梦大学官方网站及教学平台系统”项目相关的人员阅读和参 考,主要的人员如下:1、项目管理人员2、系统设计人员3、系统开发人员4、系统测试人员其中“系统开发人员”、“系统测试人员”应重点阅读木文档的各部分,其他人员可 选择性阅读本文档。1.1.4适用环境本文档定义的数据结构适用于mysql5.0或更高版本。1-2 项目背景1. 2.1为什么要进行此系统项目的开发工作蓝梦大学近30多年一直从事和开展职业教育服务、高校师资培训、企业信息化咨询服 务、社会个体it技能培训等业务。官方门户网站在1900年吋就已经 正式上线,至今已经进行了多次的改版和更新。为能够适应企业员工

7、、大学生就业、高校师资培训等传统业务发展的需要,同时也能 够适应新形势下的在线培训(e-learning)的业务需要以扩大培训中心的业务量,不仅急切 需要对原有的蓝梦大学官方网站进行功能扩展、性能提升、页而美观的改进和进一步提高 系统的用户体验,而ii也需要将蓝梦人学官方网站从一般的培训课程宣传扩展为在线培训 (e-learning)的业务平台。1.2.2系统将采用“逐级分阶段”的模式进行系统扩容最终能够构建岀一个网络化的教学平台,从而更好地辅助和扩展现有的各个业务服务。 但考虑到系统开发的风险和业务发展的实际需要,木系统将会采用“逐级分阶段”的模式进行系统扩容,而不是“一步到位”的高成本的构

8、建模式一一也就是一期工程首先为官方 门户网站,二期工程再扩展为网络教学平台和培训业务工作平台。1. 3术语定义缩写、术语解释课件课件(courseware)是指为课程的教学或学习而编制的计算机程序及相应的 文档资料。一般采用文字、声音、图像、视频剪辑等多媒体手段制作,并且 可以在线点播观看或下载后离线观看。pk“pk”为主键(primary key)的缩写,数据库表通常都由一数据列(字段) 或一组数据列所组成的,其中的主键数据列用于唯一地标识数据库表中的每 一数据行。这种具有标识作用的数据列或数据列组称为主键列(也简称主 键)。fk“fk”为外键(foreign key)的缩写,数据库表外键是

9、用于建立和加强两个 数据库表数据之间链接的一数据列或多数据列。通过将保存数据库表中主键 值的一数据列或多数据列添加到另一个数据库表中,可创建两个数据库表之 间的链接。这个数据列就成为第二个数据库表的外键。1. 4参考资料1、蓝梦大学官方网站及教学平台系统开发规范说明书2、蓝梦大学官方网站及教学平台系统需求分析规约书3、蓝梦大学官方网站及教学平台系统总体设计书2数据库表结构设计原则和策略2.1 系统数据库设计的基本原则数据库的设计就是把数据库中的数据对象结构化并规划好数据库中的各个对象之间的 关系。系统数据库设计的最终优劣,不仅关系到整个系统的性能,也还关系到系统以后的 升级、移植等方面的问题。

10、在数据库系统设计时,设计人员不仅要保证数据库系统中的数 据一致性和完整性,也还要尽可能地降低数据的冗余。因此,在本软件系统的数据库设计 时必须要遵守如下的几个通用的原则之外,也还需要根据木软件系统的应用特殊性,遵守 和满足其它方面的原则和要求。(1) 数据库的设计应与信息模型完全相符,并充分考虑系统的可扩展性和可移植性;在数 据库表结构设计屮应尽量满足数据库设计第三范式的要求,不能达到的应有充分的理由并 以文档形式与数据字典一起保存。(2) 数据库便于管理和保证数据的安全、实现数据库设计的相对物理独立性。(3) 对数据库的各类操作应具有统一的管理和控制功能、并设置不同的权限。之所以耍遵守相关的

11、设计原则,主要是因为系统数据库结构设计的优劣,不仅直接影 响到整个软件系统的性能,也还对数据库管理系统应用的安全性、操作方便及故障恢复、 性能和可靠等方面也有一定的影响。2.1.1遵守项目组所制定出的命名规范尽管不同的数据库系统产品对其屮的数据库对象的命名有不同的要求形式,但也都遵 守一些通用的规则和要求。在木软件系统项目中的数据库相关的各种对象的命名、后台程 序代码的编写等方面都应采用大小写敏感的“见名知意”的名词短语形式进行定义,每个 名词短语的首字母都应该大写、其后的每个单词的首字母也都应该采用大写的“驼峰制” 形式。各种对象的命名长度不要超过30个字符,这样便于软件应用系统能够适应不同

12、的数据 库系统。2.1.2遵守范式标准和合理地数据冗余1、理解和明确三个范式的基本含义和要求在数据库系统设计中,各个数据库表的结构设计应该要遵守和满足三个范式的基木要 求,各个范式的基本含义和要求如下:1)第一范式1nf它是对数据库表的原子性约束,要求数据库表中的各个字段应具 有原子性,并不可再分解。2)第二范式2nf它是对数据库表中的数据记录的唯一性的约束要求,要求数据库 表中的各个记录的数据值要有唯一的标识,即数据库表和对应的实体的唯一性。3)第三范式:3nf是对字段冗余性的约束,即任何字段不能由其他字段派生岀来,它 耍求字段没有冗余。在设计基本数据库表及其字段之间的关系,应尽量满足第三范

13、式从而减少数据的冗余。 但是,满足第三范式的数据库设计,往往不是最好的系统设计。因此,为了提高数据库系 统的运行效率,常常需要降低数据库系统所要遵守的范式标准:适当增加数据冗余,而达 到以空间换时间的目的。2、适当增加冗余,达到以空间换时间的目的比如,在本软件系统中的“课件信息”的基本数据库表屮添加有“购买总金额”这个 字段,该字段的存在将会导致该“课件信息”数据库表的设计结果不满足第三范式一一因 为“购买总金额”可以由“单价”乘以“数量”得到,说明“购买总金额”是冗余字段。 但是,增加“购买总金额”这个冗余字段,却可以提高对“课件信息”查询统计的速度, 这就是以空间换时间的作法。因此,在数据

14、库表设计中,应该要区分“数据列”和“计算列”两者的不同。课件信 息的基本数据库表屮的“购买总金额”这个字段其实是“计算列”,而“单价”和“数量” 这样的字段是“数据列”。在数据库表结构设计中,可以允许“计算列”的冗余字段,而 不允许存在“数据列”的兀余字段。3、把握“列变行”的技术应用所谓的“列变行”技术就是在数据库表结构设计中,将主数据库表中的一部分字段内 容移出到单独建立的子数据库表屮。只有数据库表屮的字段个数少了,才能保证在数据库 表中不存在数据重复、口很少有数据冗余一一在数据冗余和处理速度之间找到合适的平衡 点。2.1.3保证数据的完整性和一致性1、合理的数据冗余也是必要的为了保证数据

15、库表中的数据的一致性,设计人员遵守数据库设计的范式,而导致设计 人员往往会设计过多的表间关联(relation)也就是在设计过程中,采用尽可能降低数 据库系统数据冗余的设计方案。但由于数据库表间的关联是一种强制性措施,一旦建立后, 对父表(parent table)和子表(child table)的数据插入、更新、删除等功能性操作均要占 用数据库系统的开销。(1) 降低数据库表中的数据冗余的优点如果数据库表中的数据冗余低,则对应的数据的完整性也就更容易得到保证,但增加 了数据库表间连接查询操作的次数一一对丁多数据库表之间的关联查询尤其是大数据库表 的查询功能,其性能不仅将会降低,而且也提高了数

16、据库系统客户端程序的编程实现的难 度。因此,为了能够提高数据库系统的响应性能,合理的数据冗余有时也是必要的。因为 满足第三范式的数据库表设计,往往不是最好的设计方案。为了提高数据库系统的运行效 率,在实际应用系统中常常需要降低所耍遵守的范式标准一一适当增加数据的冗余,达到 以空间换时间的fi的。(2) 在本软件系统项目中对于查询性能要求高的数据库表应用数据冗余设计方案为此,可以根据业务规则并确定对关联表的数据量大小、数据项的访问频度、访问的 性能要求等应用的环境要求,对于查询性能要求高的数据库表要应用数据冗余的设计方案 冗余的好处就是获取信息容易,不过也容易造成信息同步的消耗。2、如何实现和保

17、证软件系统中的数据库的完整性(1) 什么是数据库完整性设计数据库完整性(database integrity)是指数据库中的数据在逻辑上的一致性、正确性、 有效性和相容性。数据库完整性是由各种各样的完整性的约束来保证,因此可以说数据库 完整性设计其实就是数据库完整性约束的设计。(2) 如何实现和保证数据库的完整性数据库完整性约束可以通过dbms或应用程序两种不同的实现方式来实现,基于 dbms的完整性约束最终是作为模式的一部分存入数据库系统中,而由应用软件本身实现 的数据库完整性检查是通过相关的程序代码来实现。3、均衡考虑对数据的完整性和一致性的检查(1)约束定义关于数据列中允许值的规则,是强

18、制完整性的标准机制约束可以是数据列约束或数据库表约束,而列约束被指定为列定义的一部分,并且仅 适用于那个数据列;数据库表约束的声明与数据列的定义无关,可以适用于数据库表中的 一个以上的列。如下为常见的约束定义:not null指定不接受null值的数据列;check约束对可以放入数据列中的值进行限制,以强制执行域的完整性;unique约束实现唯一性约束;primary key约束标识列或列集,这些数据列或列集的值唯一地标识数据库表中的 各个数据行;foreign key约束标识数据库表之间的关系,一个数据库表的外键指向另一个数据库 表的候选键。(2)均衡考虑对数据的完整性和一致性的检查使用约束

19、(check)可以防止由于系统用户在对系统进行操作时的各种可能的误输入而 可能造成数据的错误,也是数据库设计人员常用的一种技术手段。但是,不必要的约束也 会占用数据库系统的开销。因此,在数据库表结构设计阶段,应根据软件系统操作的类型、频度加以均衡考虑对 数据的完整性和一致性的检查要求以进一步提高对数据库表中数据的访问性能。2.1.4主键定义及主键值的合理设置1、尽可能使用自然键值,不使用业务键值在本软件系统的数据库表的主键选择方面,应该要尽可能使用自然键值,而不要使用 业务键值,以方便应对业务键的变化;表中的主键最好设计成单一主键,尽量不用复合主 键;关联数据库表之间还应该有外键约束的定义。复

20、合主键的字段个数越少,不仅提高了数据库系统的运行效率,而且也还能够节省数 据库系统的索引存储空间。2、合理地设置数据库表的主键值在数据库表设计中涉及主键值的设定,目前主要有由数据库系统自动生成、自定义主 键值、guid等三种方式。1)系统自动生成主键值主要就是利用物理数据库系统如mysql的自增型(auto_incwmen)的数据字段作为主 键字段的值,这种方式实现最简单(只需在建立数据库表时声明自增属性即可),但问题 也很多。比如,不能自设值、数据库移植、恢复、合并等情况下都会出现问题。比如,软件系统的数据库原来使用mysql,后来要求把数据库系统替换为ms sqlserver类型。此时就可

21、能会出现问题:原来自增字段的主键会被自动重新从1开始赋 值,但如果此数据库表和其他的数据库表有关联,另一个数据库表的外键值就可能不再与 这个自增的主键值保持一致性。另外,在分布式数据库系统中,不同数据库的同名的数据库表中的数据可能需要进行 同步复制、合并等功能操作。一个数据库表的自增量的主键值,就很有可能与另一个数据 库相同表的白增量值出现重复。2) 自定义主键值是指利用一定的规则编码生成主键值,比如“时间+自定义序列”。这种方式虽然能够 完全控制主键值的生成,但效率不高,通用性差,校验时只能靠程序代码。3) guid (global unique identifier)全局唯一标识符guid

22、值具有唯一性(其实现的算法一般是通过以太网卡地址、纳秒级时间、芯片id 码和许多可能的数字生成)、易产生和可以方便的生成等方面的特性,给应用程序处理带 来了诸多方便。虽然执行效率不如自增型的字段一一生成的id值比较长,占用的数据库表 空间相应的也比较多,,但与其所表现出的优点比起来,这点损失可以忽略不计。综合上述几种方式的特点以及系统的要求,在本软件系统的数据库表设计时对主键值 的生成采用guid方式。2.1. 5在基本数据库表的基础上可以创建出中间表和临时表在项目的功能实现中,为了能够提高数据访问的安全性、方便性和快速性,可以在基本 数据库表的基础上创建出中间数据库表和临吋数据库表。但要正确

23、地理解基本数据库表与 中间数据库表、临时数据库表之间所存在的木质不同。1、理解基本数据库表所具有的如下四个特性(1) 原子性基本数据库表中的各个字段是不可再分解的。(2) 原始性基本数据库表中的各个记录数据都是原始的数据(基础性的数据)的记录。(3) 演绎性由基木数据库表可以派生出中间数据库表、临时数据库表。(4) 稳定性基本数据库表的数据结构是相对稳定的,数据库表中的数据记录值一般都是需要长期 保存的。2、理解中间数据库表的主要作用中间数据库表一般是用于存放统计数据的数据库表,它是为软件系统输出报表或查询 结果而设计的。中间数据库表可以没有主键与外键,并由开发人员自己在程序代码中自动 维护。

24、3、理解临时数据库表的主要作用临吋数据库表是开发人员根据程序实现的需要而设计的,一般用于存放临吋数据,并 为程序模块所用。每个临时表的牛存期都是在自己的connection/session中,不同连接间看 不到对方的临时表、临时表会在连接断开时自动被drop掉。因此,同一时间有多个人并发 操作时,临时表里的数据不会丢失。但因为临时表是在数据库连接时创建和连接断开时释放的,而冃前基本上都是数据库 连接池(connection poo 1),很容易岀现数据混乱;另外,每次创建和删除临吋数据库表, 也还存在一定的系统开销。2.1.6将多对多的关系转换为一对多的关系1、尽可能消除数据库表之间的多对多的

25、关系若两个实体之间存在多对多的关系,则对应的两个数据库表之间则会存在多对多的关 系。在数据库表的关系设计中,应尽可能消除这种关系复杂的“多对多”关系。而消除的 具体办法是在两个实体之间增加第三个实体一一为中间关联实体。因此,原来一个“多对多”的关系,现在转变为两个“一对多”的关系。但要将原来 两个实体的属性合理地分配到第三个实体中去,一般都是将关系两端实体的主键作为中间 关系数据库表的主键,再加上关系本身所需要的属性字段。2、示例说明在系统中存在有“学生信息表”与“选课信息表”两张不同的数据库表,它们之间存 在多对多的关系一一也就是一个学生可以选择多门培训课程,而一门培训课程当然可以被 多个不

26、同的学生选修和学习。可以在数据库系统中新增加一个“学生选课情况信息表”,在该数据库表中包含有2 个字段(学生编号、培训课程编号)。此时,“学生信息表”与“学生选课情况信息表” 为一对多关系;而“选课信息表”与“学生选课情况信息表”也为一对多的关系。2. 2 数据库系统安全性设计数据库的安全性是指保护数据库系统以防止不合法的使用所造成的数据泄露、更改或 破坏。由于在数据库系统中集中存储有人量的数据,而口为许多用户直接共享和使用,从 而使得数据库系统的安全性问题更为突出。数据库系统的完整性约束可以避免对数据库系统数据的无意滥用,而良好的数据库系 统安全性则可以避免对数据的恶意滥用。为了防止对数据库

27、数据的恶意滥用,可以在不同 的安全级别上设置各种安全措施一一数据库系统的安全保护措施是否有效是数据库系统的 主要指标之一。数据库系统是整个软件系统的核心系统,数据库系统的故障将会导致整个软件系统的 停用,所以不仅要保证其可靠性,同时也需要在安全性方面采取相关的技术措施。本软件 系统的数据库系统在安全性方面拟将采用如下的各个技术措施。2. 2.1数据库表数据访问的安全保密设计1、数据库系统中的数据不允许用户直接访问根据软件系统的业务流程,不同的用户将拥有对于数据库表中数据的不同操作访问的 权限。并且数据库表中的数据只能由服务器端相关的程序连接和操作访问,而不允许客户 端的相关程序绕过web服务器

28、肓接连接数据库系统。2、所有的数据访问必须要拥有相关的权限对数据库表中的数据所进行的“增、删、改、查”方面的功能操作必须耍具有相应的 功能操作权限才能进行,而连接数据库系统也必须要提供安全的用户名/密码组合方式登录 数据库系统一一本软件系统的jdbc数据库连接程序不应该使用数据库系统的管理员账号 (如mysql的root账号或者oracle中的sys账号等)连接数据库系统以提高数据库系统 数据访问的安全性,而应该由数据库系统管理员提供一个具体账号。系统数据库数据的泄露常常发生在系统内部,大量的系统运维人员能够直接接触系统 数据库表中敏感的数据,而传统以“防外为主”的数据库系统访问安全解决方案失

29、去了用武之地。2. 2.2数据访问必须要进行身份验证1、使用sql身份验证应遵循的基本原则不要将数据库系统内置的系统管理员账号(如mysql数据库系统的root账号)用于系 统程序中的数据访问。应用程序应该通过使用最低特权账户来连接和访问数据库系统。2、使用具有最少权限的账户连接到数据库系统必须要保护sql连接字符串(它包含凭据),并要求使用sql身份验证和创建出一 个只能通过存储过程访问该数据库的用户。2. 2.3遵守最少权限的角色分配原则 1、明确数据对象的类型和操作权限之间的关系数据对象操作权限表、视图、列(table)select、insert、update> delete基本表

30、(table)alter> index数据库(database)create table数据库系统create database因此,有必要根据应用的业务逻辑要求在数据库系统中为用户或者角色设置最少权限, 除去无关和不必要的数据库数据访问权限、特别是对数据库表的修改和删除操作。2、熟悉授权(grant) sql语句的基本格式grant权限1,权限2, on对彖类型对彖名称to用户1,用户2, with grant option上面的grant语句的主要功能是实现将指定的数据对象的指定权限授予指定的用户, 其中的“with grant option”选项的主要作用是允许获得指定权限的用户把

31、权限再授 予其他用户。下面的示例是实现把对用户信息数据库表(userinfo)中的“姓名”字段的修改、查询 表的权限授予用户user的sql语句:grant updat玖姓名),select on table userinfo to user;2. 2.4防范sql注入攻击由于sql注入攻击是从正常的www端口访问,而口表面看起来跟一般的web页面 访问并没有什么不同,所以市面上的防火墙都不会对sql注入发出警报,sql注入攻击往 往是通过应用程序触发。1、什么是sql注入攻击sql注入是口前比较常见的针对数据库的一种攻击方式,在这种攻击方式屮,攻击者 会将一些恶意的sql代码插入到sql字符

32、串中,然后通过各种手段将该字符串传递到数 据库系统中执行。2、sql注入攻击的基本原理sql注入过程的工作方式是提前终止正常的sql文本字符串,然后追加一个新的命令。 为此,攻击者会在用户输入变量时,先用一个单引号和分号(:)结束当前的sql语句。 然后再插入一个恶意的sql语句并用注释标记终止所注入的sql字符串一一而执行 时,数据库系统会认为此后的语句为注释,故后续的sql文木字符串将被忽略和不被编译 与执行。3、sql注入攻击的防范(1)数据库操作访问程序代码屮的sql语句要尽量避免使用字符串拼接的形式,强烈建 议使用查询参数化(绑定变量)的方法进行查询;因为参数化的语句使用参数而不是将

33、用户输入的变量宜接嵌入到目标sql语句中,采 用这种措施,可以杜绝大部分的sql注入式攻击。(2)数据库访问的用户应遵循“最小权限”原则,尽可能在数据库系统中除掉与软件系统 所不需要的权限一一在jdbc的数据库连接中,不应该采用数据库系统的dba账号(如 mysql数据库系统的root账号)连接数据库系统,而应该是普通的用户账号一一该账号所 对应的数据库系统的访问权限不能够执行drop table等语句,以最大限度地减少注入式攻 击对数据库带来的危害;(3)不信任任何用户提交的数据,并对请求提交的数据进行检测和过滤一一比如在web 表现层对表单数据进行检查、在数据访问层对获得的参数值进行检查。

34、比如,可以测试字 符串变量的内容,只接受满足格式要求的值而拒绝包含有二进制数据、转义序列、分号和 注释字符的输入内容。因为分号分隔符是sql注入式攻击的主要帮凶,而注释分隔符只有在数据库表创建时需要应用,在查询语句中没有必要添加注释的内容,因此完全可以把它们过滤和拒绝掉。2. 2. 5充分应用视图技术提高数据库系统安全性在数据库系统设计中,可以为不同角色的用户定义出不同的视图,通过视图机制把要 保密的数据对无权操作的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。而 且由于对视图也可以进行相关的授权和控制,因此充分地应用视图机制,不仅可以使数据 库系统具有数据安全性、数据逻辑独立性和操作

35、简便等优点。1、应用视图技术可以简化复杂的多表z间的数据关系与基本数据库表不同,视图是一种虚表一一它依赖数据源的实表而存在。视图是供程 序员使用数据库的一个窗口,是基表数据综合的一种形式,是数据处理的一种方法,是用 户数据保密的一种手段。在本软件系统中应该要合理地应用视图技术以简化复杂的数据库 表中的数据访问的编程实现。2、视图的定义深度一般不要超过三层为了能够进行复杂处理、提高运算速度和节省存储空间,视图的定义深度一般不得超 过三层。若三层视图仍不够用,则应在视图上定义临时表,在临时表上再定义视图。这样 反复交迭定义,视图的深度就不受限制了 一一但最好还是遵守视图的定义深度一般不得超 过三层

36、的基本耍求。3、应用视图技术提高数据访问的安全性为了提高对软件系统中某些核心的数据库表操作的安全性,可以在基本数据库表上建 立出第一层次的视图,而且这层次视图的个数和数据结构,都与基木数据库表的个数和数 据结构是完全相同的。系统中的一般用户一律只准通过视图实现对目标数据库表的操作, 而只有数据库管理员才能直接在基本数据库表上进行修改和删除等功能操作。2. 2.6对敏感数据的访问需要应用审计功能 1、什么是数据库系统的安全审计数据库系统的审计功能是指在用户对数据库执行操作的同时把所有操作自动记录到数 据库系统的审计口志屮。而利用数据库系统的审计功能,数据库系统管理员(dba)可以 根据审计跟踪的

37、结果信息,重现导致数据库系统现有状况的一系列事件,从而找岀非法存 取数据库系统数据的人、时间和内容等信息一一方便日后进行查询、分析、过滤等功能操 作,最终实现对目标数据库系统的用户操作的监控和审计。2、对数据库系统数据的危险性访问必须要进行审计在本软件系统的数据库访问操作中,对数据库系统数据的危险性访问操作必须要进行 审计一一比如,对ddl类操作、dml类操作都必须要进行审计。审计规则的审计耍素应 该包括有如下的信息:用户、源ip地址、操作时间、使用的sql操作类型(delete、drop、 update 等 sql 语句)。2. 3数据库系统的性能优化设计要提高软件系统中的数据库系统的运行效

38、率和性能,必须要从数据库系统、数据库设 计、程序实现等多个不同的方面进行综合优化。在本软件系统中,可以对数据库系统采取 如下的优化措施。2. 3.1尽可能提高数据库系统的运行效率1、在数据库物理设计时,降低范式,增加冗余,少用触发器和尽可能多用存储过程减少被频繁访问的核心数据库表的数量,并在这些核心数据库表上创建和优化索引。 存储过程不仅可以重用,而且也大大地减少了数据库系统客户端程序远程连接和访问数据 库系统的次数,从而能够提高系统的整体性能。2、水平分割和垂直分割数据库表如果发现某个数据库表中存储的数据记录太多(例如超过一千万条),则要对该数据 库表进行水平分割一一以该表主键pk的某个值为

39、界线,将该表的数据记录水平分割为两 个不同的数据库表。但若发现某个数据库表中的字段太多(例如超过八十个),则要垂直 分割该数据库表,将原来的一个数据库表分解为两个不同的数据库表。3、对数据库管理系统进行系统优化优化数据库管理系统中的各种系统工作参数,如缓冲区个数、应用索引技术等。4、优化sql语句和优化事务处理(1)尽量减少对数据库系统数据查询的次数和在服务器与客户端网络传输的数据量开发人员在使用sql时往往会陷入一个误区,即太关注于所得的结果是否正确,而忽 略了不同的实现方法之间可能存在的性能差界。但由于sql语句是独立于程序设计逻辑, 因此对sql语句进行优化不会影响程序逻辑一一sql语句有不同的写法,但在性能上的差 异非常大。(2)不要在事务执行中进行大量计算或者与用户交互的操作,因为在事务的执行过程中不 允许被打断。因此,事务处理的过程应该尽量短小、尽量避免事务。长事务会锁住很多系 统

温馨提示

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

评论

0/150

提交评论