免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2010年上半年 数据库系统工程师 上午试卷 综合知识
  第59题      
  知识点:   确定数据的访问方式   事务   索引维护和改进   应用需求
  关键词:   管理系统   数据   需求        章/节:   数据库设计       

 
某高校的管理系统中有学生关系为:学生(学号,姓名,性别,出生日期,班级),该关系的数据是在高考招生时从各省的考生信息库中导入的,来自同一省份的学生记录在物理上相邻存放,为适应高校对学生信息的大量事务处理是以班级为单位的应用需求,应采取的优化方案是(59)。
 
 
  A.  将学号设为主码
 
  B.  对学号建立UNIQUE索引
 
  C.  对班级建立CLUSTER索引
 
  D.  对班级建立UNIQUE索引
 
 
 

 
  第59题    2011年上半年  
   56%
确定各基本表的索引,属于数据库设计的(59)阶段。
  第61题    2009年上半年  
   42%
要实现记录的物理顺序与索引项次序一致,应选择的索引类型是(61) 。
  第62题    2021年上半年  
   39%
以下关于数据库设计的说法中,正确的是( )。
 
  第64题    2019年上半年  
   49%
在索引改进中,一般的调整原则是:当(62)是性能瓶颈时,则在关系上建立索引;当(63)是性能瓶颈时,则考虑删除某些索引;管理..
  第65题    2019年上半年  
   67%
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表
  第66题    2019年上半年  
-->
   53%
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表
 

   知识点讲解    
   · 确定数据的访问方式    · 事务    · 索引维护和改进    · 应用需求
 
       确定数据的访问方式
        数据的访问方式是由其存储结构所决定的,采用什么样的存储结构,就使用什么样的访问方式。数据库物理结构主要由存储记录格式、记录在物理设备上的安排及访问路径(存取方法)等构成。
               存储记录结构设计
               存储记录结构包括记录的组成、数据项的类型、长度和数据项间的联系,以及逻辑记录到存储记录的映射。在设计记录的存储结构时,并不改变数据库的逻辑结构,但可以在物理上对记录进行分割。数据库中数据项的被访问频率是很不均匀的,基本上符合公认的“80/20规则”,即“从数据库中检索的80%的数据由其中的20%的数据项组成”。
               当多用户同时访问常用数据项时,往往会因为访盘冲突而等待。若将这些数据分布在不同的磁盘组上,当多用户同时访问常用数据项时,系统可并行地执行I/O,从而减少访盘冲突,提高数据库的性能。可见对于常用关系,最好将其水平分割成多个片,分布到多个磁盘组上,以均衡各个磁盘组的负荷,发挥多磁盘组并行操作的优势,提高系统性能。
               存储记录布局
               存储记录的布局,就是确定数据的存放位置。存储记录作为一个整体,如何分布在物理区域上,是数据库物理结构设计的重要环节。采用聚簇功能可以大大提高按聚簇码进行查询的效率。聚簇不但可用于单个关系,也适用于多个关系。设有职工表和部门表,其中部门号是这两个表的公共属性。如果查询涉及这两个表的连接操作,可以把部门号相同的职工元组和部门元组在物理上聚簇在一起,既可显著提高连接操作的速度,又可节省存储空间。
               建立聚簇索引的原则如下:
               (1)聚簇码的值相对稳定,没有或很少需要进行修改。
               (2)表主要用于查询,并且通过聚簇码进行访问或连接是该表的主要应用。
               (3)对应每个聚簇码值的平均元组数既不太多,也不太少。
               任何事物都有两面性,聚簇对于某些特定的应用可以明显地提高性能,但对于与聚簇码无关的查询却毫无益处。相反地,当表中数据有插入、删除、修改时,关系中有些元组就要被搬动后重新存储,所以建立聚簇的维护代价是很大的。
               存取方法的设计
               存取方法是为存储在物理设备(通常是外存储器)上的数据提供存储和检索的能力,是快速存取数据库中数据的技术。存取方法包括存储结构和检索机制两部分。其中:存储结构限定了可能访问的路径和存储记录;检索机制定义每个应用的访问路径。数据库系统是多用户共享系统,对同一个关系建立多条存取路径才能满足多用户的多种应用要求。为关系建立多种存取路径是数据库物理设计的任务之一。
               在数据库中建立存取路径最普遍的方法是建立索引。确定索引的一般顺序如下:
               (1)首先可确定关系的存储结构,即记录的存放是无序的,还是按某属性(或属性组)聚簇存放。这在前面已讨论过,这里不再重复。
               (2)确定不宜建立索引的属性或表。对于太小的表、经常更新的属性或表、属性值很少的表、过长的属性、一些特殊数据类型的属性(大文本、多媒体数据)和不出现或很少出现在查询条件中的属性不宜建立索引。
               (3)确定宜建立索引的属性。例如,关系的主码或外部码、以查询为主或只读的表、范围查询、聚集函数(Min、Max、Avg、Sum、Count)或需要排序输出的属性可以考虑建立索引。
               索引一般还需在数据库运行测试后,再加以调整。在RDBMS中,索引是改善存取路径的重要手段。使用索引的最大优点是可以减少检索的CPU服务时间和I/O服务时间,改善检索效率。但是,不能对进行频繁存储操作的关系建立过多的索引,因为过多的索引也会影响存储操作的性能。
 
       事务
               概述
               事务(Transaction)是一系列的数据库操作,是数据库应用程序的基本逻辑单位,即应用程序对数据库的操作都应该以事务的方式进行。
               事务是一个操作序列,这些操作“要么都做,要么都不做”,是数据库环境中不可分割的逻辑工作单位。事务和程序是两个不同的概念,一般一个程序可包含多个事务。
               事务通常由数据库操纵语言或其他高级语言(如SQL、CoBOL、C、C++、Java等)书写的用户程序来实现。一个事务由应用程序的一组操作序列组成,它以BEGIN TRANSACTION语句开始,以END TRANSACTION结束语句。
               事务定义的语句如下:
               (1)BEGIN TRANSACTION:事务开始。
               (2)END TRANSACTION:事务结束。
               (3)COMMIT:事务提交。该操作表示事务成功地结束,它将通知事务管理器该事务的所有更新操作现在可以被提交或永久地保留。
               (4)ROLLBACK:事务回滚。该操作表示事务非成功地结束,它将通知事务管理器出故障了,数据库可能处于不一致状态,该事务的所有更新操作必须回滚或撤销。
               典型的例子是银行转账业务。对“从账户A转入账户B金额x元”业务,站在顾客角度来看,转账是一次单独操作;而站在数据库系统的角度它至少是由两个操作组成的,第一步从账户A减去x元,第二步给账户B加上x元。下面是银行转账事务的伪代码:
               
               SQL中事务的开始与结束
               SQL标准规定当一条SQL语句被执行,就隐式地开始了一个事务,SQL中的Commit work和Rollback work语句之一会结束一个事务。
               (1)Commit work:提交当前事务。这意味着将该事务所做的更新在数据库中永久保存。一旦事务被提交后,一个新的事务自动开始。
               (2)Rollback work:回滚当前事务。这意味着将撤销该事务对数据库的更新。这样,数据库恢复到该事务执行第一条语句之前的状态。
               需要注意的是,若事务已执行了Commit work,就不能用Rollback work来撤销。数据库系统能保证在发生诸如某条SQL语句错误、断电、系统崩溃的情况下,若事务还没有执行Commit work,则所造成的影响将被回滚。对断电、系统崩溃的情况,回滚是在系统重新启动时进行。
 
       索引维护和改进
        在数据库运行期间,数据库系统管理员(DBA)必须对数据库的索引进行维护和改进。这是因为用户频繁地对数据进行增加、删除、修改等操作使得索引页发生碎块,所以DBA必须对索引进行维护。另外,DBA可针对具体的情况,对系统中的索引进行改进以提高性能,即可以适当地调整索引。调整索引的原则主要有如下四个方面:
        (1)如果查询是瓶颈,则在关系上建立适应的索引,通常在作为查询条件的属性上建立索引,可以提高查询效率。
        (2)如果更新是瓶颈,每次更新都会重建表上的索引,引起效率的降低,则考虑删除某些索引。
        (3)选择适当的索引类型,如果是经常使用范围查询,则B树索引比散列索引更高效。
        (4)将有利于大多数据查询和更新的索引设为聚簇索引。
 
       应用需求
        收集应用需求可以从两个角度出发:应用类型和应用对资源访问的角度。
        (1)按功能对应用进行分类,可以将应用划分为常见功能类型和特定功能类型。
        (2)按共享分类,可以将软件分为单用户软件、多用户软件和网络软件。
        (3)按响应方式分类,应用可以分为实时和非实时两种。
        (4)按网络规模分类,应用分为单机软件、对等网络软件、C/S软件、BPS软件和分布式软件等。
        用户对网络资源的访问,是可以通过各种指标进行量化的,需要考虑的指标包括每个应用的用户数量、每个用户平均使用每个应用的频率、使用高峰期、平均访问时间长度、每个事务的平均大小、每次传输的平均通信量和影响通信的定向特性。
   题号导航      2010年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第59题    在手机中做本题