免费智能真题库 > 历年试卷 > 系统分析师 > 2013年上半年 系统分析师 上午试卷 综合知识
  第40题      
  知识点:   数据库的安全性   数据库   数据库系统
  关键词:   DBMS   数据库系统   数据   数据库        章/节:   数据库系统       

 
数据库系统中,为了保证数据库的(40),通常由DBA使用DBMS提供的授权功能为不同用户授权。
 
 
  A.  可靠性
 
  B.  安全性
 
  C.  一致性
 
  D.  完整性
 
 
 

 
  第46题    2023年上半年  
   33%
某系统中有 6 个并发进程竞争资源 R。假设每个进程都需要 3 个 R,那么最少需要有( )个 R,才能保证系统不会发生死锁。
  第42题    2021年上半年  
   14%
在数据库系统中,视图实际上是一个()。
  第41题    2016年上半年  
   77%
分布式事务的执行可能会涉及到多个站点上的数据操作,在两阶段提交协议中,当事务Ti的所有读写操作执行结束后,事务T..
   知识点讲解    
   · 数据库的安全性    · 数据库    · 数据库系统
 
       数据库的安全性
        DBS的信息安全性在技术上可以依赖于两种方式,一种是DBMS本身提供的用户身份识别、视图、使用权限控制、审计等管理措施,例如,大型数据库管理系统如Oracle和Sybase等均有此功能;另一种就是靠数据库的应用程序来实现对数据库访问进行控制和管理,例如,dBASE、FoxBase、FoxPro等开发的数据库应用程序,很多数据的安全控制都由应用程序里面的代码来实现。
               用户认证
               用户的身份认证是用户使用DBMS系统的第一个环节,用户的身份鉴别是DBMS识别什么用户能做什么事情的依据。
               (1)口令认证。口令(password,密码)是一种身份认证的基本形式,用户在建立与DBMS的访问连接前必须提供正确的用户账号(userid)和口令,DBMS与自身保存的用户列表中的用户标识和口令比较,如果匹配则认证成功,允许用户使用数据库系统;如果不匹配则返回拒绝信息。这种认证判断过程往往是数据库登录的第一步,用户账户(account)的账号和口令是口令认证方式中的核心,用户信息可以保存在数据库内、操作系统内或者集中的目录服务器(Directory Server)用户身份证书库内。
               (2)强身份认证。在网络环境下,客户端到DBMS服务器可能经过多个环节,在身份认证期间,用户的信息和口令可能会经过很多不安全的节点(如路由器和服务器),而被信息的窃听者窃取。强身份认证过程使认证可以结合信息安全领域一些更深入的技术保障措施,来强化用户身份的鉴别,例如,与用户证书、智能卡、用户指纹识别等多种身份识别技术相结合。
               用户角色
               按每个用户指定操作权限在用户数目比较多的时候往往是一项非常繁重的工作,所以DBMS提供角色来描述具有相同操作权限的用户集合,不同角色的用户授予不同的数据管理和访问操作权限。一般可以将权限角色分为3类,分别是数据库登录权限类、资源管理权限类和DBA权限类。
               有了数据库登录权限的用户才能进入DBMS,才能使用DBMS所提供的各类工具和实用程序。同时,数据对象的创建者(owner)可以授予这类用户以数据查询、建立视图等权限。这类用户只能查阅部分数据库信息,不能修改数据库中的任何数据。
               具有资源管理权限的用户,除了拥有上一类的用户权限外,还有创建数据库表、索引等数据对象的管理权限,可以在权限允许的范围内修改、查询数据库,还能将自己拥有的权限授予其他用户,可以申请审计。
               具有DBA权限的用户将具有数据库管理的全部权限,包括访问任何用户的任何数据,授予(或回收)用户的各种权限,创建各种数据对象,完成数据库的整库备份、装入重组及进行全系统的审计等工作。
               当然,不同的DBMS,可能对用户角色的定义不尽相同,权限的划分的细致程度也远超过上面3种基本的类型,而基于角色的用户权限管理是现在每个主流数据库产品(例如,IBM DB2、Oracle、Sybase、MS SQL Server等)和一些专用的数据库产品(例如,NCR Teradata、Hyperion Essbase等)都具有的特性。
               数据授权
               同一类功能操作权限的用户,对数据库中数据对象管理和使用的范围又可能是不同的,因此DBMS除了要提供基于功能角色的操作权限控制外,还要提供对数据对象的访问控制,访问控制可以根据对控制用户访问数据对象的粒度从大到小分为4个层次。
               (1)数据库级别:判断用户是否可以使用访问数据库里的数据对象,包括表、视图、存储过程。
               (2)表级:判断用户是否可以访问关系里面的内容。
               (3)行级:判断用户是否能访问关系中的一行记录的内容。
               (4)属性级:判断用户是否能访问表关系中的一个列(属性、字段)的内容。
               管理员把某用户可查询的数据和元素在逻辑上归并起来,简称一个或多个用户视图,并赋予名称,再把该视图的各种使用权限授予该用户(也可以授予多个用户)。
               DBMS对于用户的访问存取控制有以下两个基本的原则:
               (1)隔离原则:用户只能存取他自己所有的和已经取得授权的数据对象。
               (2)控制原则:用户只能按他所取得的数据存取方式存取数据,不能越权。
               数据库授权可以分为静态授权和动态授权。一般意义上,可以把静态授权理解成为是DBMS的隐性授权,也就是说用户(或DBA)对他自己拥有的信息是不需要有指定的授权动作就拥有全权管理和操作的权限的。与静态授权相对应,只有数据对象的所有者或者DBA默认地拥有对数据的存取权,动态授权则允许这些用户把这些权力授予其他的用户,现在DBMS支持的SQL语言里面有专门的授权语句。
               数据库视图
               视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是SELECT语句。SELECT语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在SQL语句中通过引用视图名称来使用虚拟表。使用视图可以实现下列功能:
               (1)将用户限定在表中的特定行上。例如,只允许雇员看见工作跟踪表内记录其工作的行。
               (2)将用户限定在特定列上。例如,对于那些不负责处理工资单的雇员,只允许他们看见雇员表中的姓名、工作电话和部门列,而不能看见任何包含工资信息或个人信息的列。
               (3)将多个表中的列连接起来,使它们看起来像一个表。
               (4)聚合信息而非提供详细信息。例如,显示一个列的和,或列的最大值和最小值。
               如果需要限制用户使用的数据,可以将视图作为一种安全机制。通过定义SELECT语句以检索将在视图中显示的数据来创建视图。SELECT语句引用的数据表称为视图的基表。
               审计功能
               如果身份认证是一种事前的防范措施,审计则是一种事后监督的手段。跟踪也是DBMS提供的监视用户动作的功能,然而,审计和跟踪是两个不同的概念,主要是两者的目的不同。跟踪主要是满足系统调试的需要,捕捉到的用户行为记录往往只用于分析,而并不长久地保存,而审计作为一种安全检查的措施,会把系统的运行状况和用户访问数据库的行为记录以日志保存下来,这种日志往往作为一种稽查用户行为的一种证据。
               根据审计对象的区分,有两种方式的审计,即用户审计和系统审计。用户审计时,DBMS的审计系统记下所有对自己表或视图进行访问的企图(包括成功的和不成功的)及每次操作的用户名、时间、操作代码等信息。这些信息一般都被记录在操作系统或DBMS的日志文件里面,利用这些信息可以对用户进行审计分析。系统审计由DBA进行,其审计内容主要是系统一级命令及数据对象的使用情况。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
 
       数据库系统
        简单地说,数据库系统就是基于数据库的计算机应用系统。这样一个系统包括以下内容。
        ①以数据为主体的数据库。
        ②管理数据库的系统(DBMS)。
        ③支持数据库系统的计算机硬件环境和操作系统环境。
        ④管理和使用数据库系统的人——数据库管理员。
        1)数据库的定义和特征
        数据库,顾名思义就是存放数据的仓库,这种想当然的理解是不准确的。数据库对应的英文单词是DataBase,如果直译则是数据基地;而数据仓库则另有其词DataWarehouse。所以数据库和数据仓库不是同义词,数据仓库是在数据库技术的基础上发展起来的又一新的应用领域。
        数据库技术发展到今天已经是一门成熟的技术,但却没有一个被普遍接受的、严格的定义。数据库是相互关联数据的集合,这是大家公认的数据库的基本特征之一。下面一段话概括了数据库应该具备的一些特征,也可以把它作为数据库的定义。
        数据库是相互关联数据的集合,它用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。
        (1)相互关联的数据集合。数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。比如在学籍管理中,有学生和课程两类数据,在数据库中除了要存放这两类数据之外,还要存放哪些学生选修了哪些课程或哪些课程由哪些学生选修这样的信息,这就反映了学生数据和课程数据之间的联系。
        (2)用综合的方法组织数据。数据库能够根据不同的需要按不同的方法组织数据,如可以用顺序组织方法、索引组织方法、聚集(Cluster)组织方法等。
        (3)低冗余与数据共享。由于在数据库技术之前,数据文件都是独立的,所以任何数据文件都必须含有满足某应用的全部数据。比如,人事部门有一个职工文件,教育部门也有一个职工文件,两个部门的职工文件中都有"职工基本情况"的数据,也就是说这一部分数据是重复存储的,如果还有第三、第四个部门也有类似的职工文件,那么重复存储所造成的空间浪费是很大的。在数据库中,可以共享类似"职工基本情况"这样的共用数据,从而降低数据的冗余度。
        (4)数据具有较高的独立性。数据独立性是指数据的组织和存储方式与应用程序互不依赖、彼此独立的特性。在数据库技术之前,数据文件的组织方式和应用程序是密切相关的,当改变数据结构时,相应的应用程序也必须随之修改,这样就大大增加了应用程序的开发代价和维护代价。而数据库技术却可以使数据的组织和存储方法与应用程序互不依赖,从而大大降低应用程序的开发代价和维护代价。
        (5)保证数据的安全、可靠。数据库技术要能够保证数据库中的数据是安全、可靠的。数据库要有一套安全机制,以便可以有效地防止数据库中的数据被非法使用或非法修改;数据库还要有一套完整的备份和恢复机制,以便保证当数据遭到破坏时(软件或硬件故障引起的),能立刻将数据完全恢复,从而保证系统能够连续、可靠地运行。
        (6)最大限度地保证数据的正确性。保证数据正确的特性在数据库中称为数据完整性。在数据库中可以通过建立一些约束条件保证数据库中的数据是正确的。比如输入年龄小于0或者大于200时,数据库能够主动拒绝这类错误。
        (7)数据可以并发使用并能同时保证数据的一致性。数据库中的数据是共享的,并且允许多个用户同时使用同一数据,这就要求数据库能够协调一致,保证各个用户之间对数据的操作不发生矛盾和冲突,即在多个用户同时使用数据库的情况下,能够保证数据的一致性和正确性。
        2)数据库管理系统
        数据库的各种功能和特性,并不是数据库中的数据所固有的,而是靠管理或支持数据库的系统软件——数据库管理系统(DataBase Management System, DBMS)提供的。一个完备的数据库管理系统应该具备上一节提到的各种功能,其任务就是对数据资源进行管理,并且使之能为多个用户共享,同时还能保证数据的安全性、可靠性、完整性、一致性,并要保证数据的高度独立性。一个数据库管理系统应该具备以下功能。
        (1)数据库定义功能。可以定义数据库的结构和数据库的存储结构,可以定义数据库中数据之间的联系,可以定义数据的完整性约束条件和保证完整性的触发机制等。
        (2)数据库操纵功能。可以完成对数据库中数据的操纵,可以装入、删除、修改数据,可以重新组织数据库的存储结构,可以完成数据库的备份和恢复等操作。
        (3)数据库查询功能。可以以各种方式提供灵活的查询功能,可以使用户方便地使用数据库中的数据。
        (4)数据库控制功能。可以完成对数据库的安全性控制、完整性控制、多用户环境下的并发控制等各方面的控制。
        (5)数据库通信功能。在分布式数据库或提供网络操作功能的数据库中还必须提供数据库的通信功能。
        3)数据库管理员
        从事数据库管理工作的人员称为数据库管理员(DataBase Administrator, DBA)。DBA有大量的工作要做,既有技术方面的工作,又有管理方面的工作,要参加数据库开发和使用的全部工作。总体来说,DBA的工作可以概括如下。
        (1)在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划。
        (2)在数据库设计阶段要负责数据库标准的制定和共用数据字典的研制,要负责各级数据库模式的设计,要负责数据库安全、可靠方面的设计。
        (3)在数据库运行阶段首先要负责对用户进行数据库方面的培训;要负责数据库的转储和恢复;要负责对数据库中的数据进行维护;要负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;要继续负责数据库安全系统的管理;要在运行过程中发现问题、解决问题。
        4)数据库的发展
        数据库的核心任务是数据管理,它包括数据的分类、组织、编码、存储、检索和维护等。数据管理经历了以下3个阶段。
        (1)人工管理阶段。人工管理阶段是指计算机诞生的初期(20世纪50年代中期以前)。这个时期的计算机技术,从硬件看还没有磁盘这样的可直接存取的存储设备,从软件看没有操作系统,更没有管理数据的软件。这个时期数据管理的特点如下。
        ①数据不保存。因为计算机主要用于科学计算,一般也不需要长期保存数据,只是在完成某一个计算或课题时才将数据输入,然后不仅原始数据不保存,计算结果也不保存。
        ②没有文件的概念。这个时期的数据组织必须由每个程序的程序员自行组织和安排。
        ③一组数据对应一个程序。每组数据只对应一个应用,即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照。因此,程序和程序之间有大量的数据重复。
        ④没有形成完整的数据管理的概念。由于以上几个特点及没有对数据进行管理的软件系统,所以这个时期的每个程序都要包括数据存取方法、输入输出方法和数据组织方法等。因为程序是直接面向存储结构的,所以存储结构的任何一点修改,都会导致程序的修改,程序与数据不具有独立性。
        (2)文件系统阶段。文件系统阶段是指20世纪50年代后期到60年代中期这一阶段。从那时起,计算机不仅大量用于科学计算,也开始大量用于信息管理。像磁盘这样的直接存取存储设备也已经出现,在软件方面也有了操作系统和高级语言,还有了专门用于数据管理的软件,即文件系统(或操作系统的文件管理部分)。这个阶段的数据管理具有以下特点。
        ①数据可以长期保存在磁盘上,也可以反复使用,即可以经常对文件进行查询、修改、插入和删除等操作。
        ②操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序开始通过文件名和数据打交道,可以不再关心数据的物理存放位置。因此,这时也有了数据的物理结构和数据的逻辑结构的区别。程序和数据之间有了一定的独立性。
        ③文件的形式已经多样化。由于有了磁盘这样的直接存取存储设备,文件也就不再局限于顺序文件,也有了索引文件、链表文件等。因而,对文件的访问可以是顺序访问,也可以是直接访问。但文件之间是独立的,它们之间的联系要通过程序去构造,文件的共享性还比较差。
        ④有了存储文件以后,数据就不再仅仅属于某个特定的程序,而是可以由多个程序反复使用。但文件结构的设计仍然是基于特定的用途,程序仍然是基于特定的物理结构和存取方法编制的。因此,数据的存储结构和程序之间的依赖关系并未根本改变。
        ⑤数据的存取基本上以记录为单位。
        (3)数据库系统阶段。数据库系统阶段从20世纪60年代后期开始,数据库技术的诞生既有计算机技术的发展做依托,又有数据管理的需求做动力。数据库的数据不再是面向某个应用或某个程序,而是面向整个企业(组织)或整个应用。
   题号导航      2013年上半年 系统分析师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第40题    在手机中做本题