(一)数据库的特性
面对数据库的安全威胁,必须采取有效的安全措施。这些措施可分为两个方面,即支持数据库的操作系统和同属于系统软件的DBMS。DBMS的安全使用特性有以下几点要求。
1.多用户
网络系统中服务器是用来共享资源的,不过,存储在服务器中的大多数文件是用来给单用户访问的。但是,网络系统上的数据库却又是提供给多个用户访问的。这意味着对数据库的任何管理操作,其中包括备份,都会影响到用户的工作效率,而且不仅是一个用户而是多个用户的工作效率。
2.高可靠性
网络系统数据库有一个特性是可靠性高。因为,多用户的数据库要求具有较长的被访问和更新的时间,以完成成批任务处理或为其他时区的用户提供访问。
在数据库备份中提到的所谓“备份窗口”指的是在两个工作时间段之间用于备份的那一段时间,在这段时间内数据库可被备份,而在其余的时间段内,数据库不能被备份。通常考虑将这段时间安排在LAN处于“安静”状态的时候,此时,LAN不做任何工作,并且所有的文件被关闭,因此,可以在不干扰用户的情况下进行备份。
3.频繁的更新
数据库系统中数据的不断更新是数据库系统的又一特性。一般而言,文件服务器没有太多的磁盘写入操作。但由于数据库系统是多用户的,对其操作的频率以每秒计远远大于文件服务器。
4.文件大
数据库一般有很多的文件,像文字处理这样的办公自动化应用的文件,平均大小是在5~10KB之间。数据库文件经常有几百KB甚至几GB。另外,数据库一般比文件有更多需要备份的数据和更短的用于备份的时间。另外,如果备份操作超过了备份窗口还会导致用户访问和系统性能方面更多的问题,因为这时数据库要对更多的请求进行响应。
(二)数据库安全系统特性
1.数据独立性
数据独立于应用程序之外。理论上数据库系统的数据独立性分为以下两种。
(1)物理独立性。数据库的物理结构的变化不影响数据库的应用结构,从而也就不能影响其相应的应用程序。这里的物理结构是指数据库的物理位置、物理设备等。
(2)逻辑独立性。数据库逻辑结构的变化不会影响用户的应用程序,数据类型的修改、增加,改变各表之间的联系都不会导致应用程序的修改。
这两种数据独立性都要靠DBMS来实现。到目前为止,物理独立性已经能基本实现,但逻辑独立性实现起来非常困难,数据结构一旦发生变化,一般情况下,相应的应用程序都要进行或多或少的修改。追求这一目标也成为数据库系统结构变得越来越复杂的一个重要原因。
2.数据安全性
数据库能否防止无关人员随意获取数据,是数据库是否实用的一个重要指标。如果一个数据库对所有的人都公开数据,那么这个数据库就不是一个可靠的数据库。
通常,比较完整的数据库应采取以下措施以保证数据安全:①将数据库中需要保护的部分与其他部分隔离。②使用授权规则。这是数据库系统经常使用的一个办法。数据库给用户ID号、口令和权限,当用户使用此ID号和口令登录后,就会获得相应的权限。不同的用户会获得不同的权限。例如,对一个表,某些用户有修改权限,而其他人只有查询权限。③将数据加密,以密码的形式存于数据库内。
3.数据的完整性
数据完整性这一术语用来泛指与损坏和丢失相对的数据状态。它通常表明数据在可靠性与准确性上是可信赖的,同时也意味着数据有可能是无效的或不完整的。数据完整性包括数据的正确性、有效性和一致性。
(1)正确性。数据在输入时要保证其输入值与定义这个表时相应的域的类型一致。如表中的某个字段为数值型,那么它只能允许用户输入数值型的数据,否则不能保证数据库的正确性。
(2)有效性。在保证数据正确的前提下,系统还要约束数据的有效性。例如,对于月份字段,若输入值为16,那么这个数据就是无效数据,这种无效输入也称为“垃圾输入”。当然,若数据库输出的数据是无效的,则称为“垃圾输出”。(www.xing528.com)
(3)一致性。当不同的用户使用数据库,应该保证他们取出的数据必须一致。
因为数据库系统对数据的使用是集中控制的,因此数据的完整性控制还是比较容易实现的。
4.并发控制
如果数据库应用要实现多用户共享数据,就可能在同一时刻有多个用户要存取数据,这种事件叫作并发事件。当一个用户取出数据进行修改,在修改存入数据库之前如有其他用户再取此数据,那么读出的数据就是不正确的。这时就需要对这种并发操作实施控制,排除和避免这种错误的发生,保证数据的正确性。
5.故障恢复
如果数据库系统运行时出现物理或逻辑上的错误,系统能尽快地恢复正常,这就是数据库系统的故障恢复功能。
(三)数据库管理系统
数据库管理系统(Data Base Management System,DBMS)是一个专门负责数据库管理和维护的计算机软件系统。它是数据库系统的核心,对数据库系统的功能和性能有着决定性影响。DBMS不但负责数据库的维护工作,还要响应数据库管理员的要求以保证数据库的安全性和完整性。
DBMS有以下主要职能。
(1)有正确的编译功能,能正确执行规定的操作。
(2)能正确执行数据库命令。
(3)保证数据的安全性、完整性,能抵御一定程度的物理破坏,能维护和提交数据库内容。
(4)能识别用户,分配授权和进行访问控制,包括身份识别和验证。
(5)顺利执行数据库访问,保证网络通信功能。
另一方面,数据库的管理不但要靠DBMS,还要靠人员。这些人员主要是指管理、开发和使用数据库系统的数据管理员(Data Base Administrator,DBA)、系统分析员、应用程序员和用户。用户主要是对应用程序员设计的应用程序模块的使用,系统分析员负责应用系统的需求分析和规范说明,而且要和用户及DBA相结合,确定系统的软硬件配置并参与数据库各级应用的概要设计。在这些人员中,最重要的是DBA,他们负责全面地管理和控制数据库系统,具有以下职责。
(1)决定数据库的信息内容和结构。
(2)决定数据库的存储结构和存取策略。
(3)定义数据的安全性要求和完整性约束条件。
(4)DBA的重要职责是确保数据库的安全性和完整性。不同用户对数据库的存取权限、数据的保密级别和完整性约束条件也应由DBA负责决定。
(5)监督和控制数据库的使用和运行。
DBA负责监视数据库系统的运行,及时处理运行过程中出现的问题。尤其是遇到硬件、软件或人为故障时,数据库系统会因此而遭到破坏。DBA必须能够在最短时间内把数据库恢复到某一正确状态,并且尽可能不影响或少影响计算机系统其他部分的正常运行。为此,DBA要定义和实施适当的后援和恢复策略,例如周期性转储数据、维护日志文件等。
(6)数据库系统的改进和重组。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。