免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2017年下半年 信息系统项目管理师 上午试卷 综合知识
  第4题      
  知识点:   商业智能   关键技术   数据分析   数据模型
  关键词:   商业智能   数据分析   数据模型   数据预处理   数据        章/节:   信息化发展与应用       

 
商业智能将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策,包括数据预处理、建立数据模型数据分析及数据展现4个阶段;其主要应用的3个关键技术是( )。
 
 
  A.  数据仓库/OLAP/数据挖掘
 
  B.  ETL/OLAP/数据展现
 
  C.  数据仓库/OLTP/OLAP
 
  D.  数据集市/数据挖掘/数据质量标准
 
 
 

 
  第5题    2010年下半年  
   49%
2002 年,《国家信息化领导小组关于我国电子政务建设指导意见》(中办发〔2002〕17 号)提出我国电子政务建设的12 项重点业务系统..
  第7题    2011年上半年  
   39%
团购是当前一种较为流行的电子商务模式,某团购网站通过自己强大的公关能力与企业合作,向用户提供价格较为低廉或折扣较高的产品..
  第61题    2017年上半年  
   52%
根据《国家电子政务工程建设项目档案管理暂行办法》的规定,电子政务项目实施机构应在电子政务项目竣工验收后()个月内,根据建..
   知识点讲解    
   · 商业智能    · 关键技术    · 数据分析    · 数据模型
 
       商业智能
        BI的基本概念
        商业智能(BI)通常被理解为将组织中现有的数据转化为知识,帮助组织作出明智的业务经营决策。数据包括来自组织业务系统的订单、库存、交易账目、客户和供应商等方面的数据,来自组织所处行业和竞争对手的收据以及来自组织所处的其他外部环境中的各种数据。
        商业智能一般由数据仓库、联机分析处理(OLAP)、数据挖掘、数据备份和恢复等部分组成。
        商业智能的关键是从来自组织的许多不同的运作系统的数据中提取出有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和装载(Load),即ETL过程,合并到一个组织级的数据仓库里,从而得到组织数据的一个全局视图,在此基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。
        BI的主要功能
        商业智能系统应具有的主要功能有:
        .数据仓库。高效的数据存储和访问方式。提供结构化和非结构化的数据存储,容量大,运行稳定,维护成本低,支持元数据管理,支持多种结构,如中心式数据仓库和分布式数据仓库等。存储介质能够支持近线式和二级存储器,能够很好地支持容灾和备份方案。
        .数据ETL。支持多平台、多数据存储格式的数据组织,要求能自动地根据描述或者规则进行数据查找和理解。减少海量、复杂数据与全局决策数据之间的差距,帮助形成支撑决策要求的参考内容。
        .数据统计输出(报表)。能快速地完成数据统计的设计和展示。
        .分析功能。可以通过业务规则形成分析内容,并且展示样式丰富,具有一定的交互要求,例如预警或趋势分析等。
        BI的三个层次
        商业智能的实现有三个层次,分别为:
        .数据报表。BI的低端实现。不足之处有数据太多,信息太少;难以交互分析、了解各种组合;难以挖掘出潜在的规则;难以追溯历史,形成数据孤岛。
        .多维数据分析。数据分析系统的总体架构由4个部分组成,包括源系统、数据仓库、多维数据库和客户端。
        .数据挖掘。源数据经过抽取和转换等成为适合于挖掘的数据集,数据挖掘在这种具有固定形式的数据集上完成知识的提炼,最后以合适的知识模式用于进一步分析决策工作。
        BI的软件工具集合
        商业智能的软件工具主要包括:
        .终端用户查询和报告工具。
        .数据仓库和数据集市产品。
        .数据挖掘软件。
        .OLAP工具。
        OLTP和OLAP的区别如下:
        .OLTP是联机事务处理,属于传统关系型数据库的一个主要应用,主要用于基本的、日常的事务处理,如银行交易。
        .OLAP是联机分析处理,是数据仓库系统的一个主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。其典型的应用是对商业问题的建模与商业数据分析,也被称为多维分析。
        OLAP的实现方法根据存储数据的方式不同可分为:
        .ROLAP:表示基于关系数据库的OLAP实现。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。它将多维数据库的多维结构划分为两类表,一类是事实表,一类是维表。
        .MOLAP:表示基于多维数据组织的OLAP实现。以多维数据组织方式为核心,多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP中对“立方块”的“旋转”、“切块”和“切片”是产生多维数据报表的主要技术。
        .HOLAP:表示基于混合数据组织的OLAP实现。如低层是关系型的,高层是多维矩阵型的。
        实施商业智能的步骤
        商业智能项目的实施步骤可分为如下几步:
        (1)需求分析。
        (2)数据仓库建模。
        (3)数据抽取。
        (4)建立商业智能分析报表。
        (5)用户培训和数据模拟测试。
        (6)系统改进和完善。
 
       关键技术
        一个完整的嵌入式DBMS由若干子系统组成,包括主DBMS、同步服务器、嵌入式DBMS、连接网络等几个子系统,如下图所示。
        
        嵌入式数据库系统组成
        (1)嵌入式DBMS。嵌入式DBMS是一个功能独立的单用户DBMS。它可以独立于同步服务器和主DBMS运行,对嵌入式系统中的数据进行管理,也可以通过同步服务器连接到主服务器上,对主数据库中的数据进行操作,还可以通过多种方式进行数据同步。
        (2)同步服务器。同步服务器是嵌入式数据库和主数据库之间的连接枢纽,保证嵌入式数据库和主数据库中数据的一致性。
        (3)数据服务器。数据服务器的主数据库及DBMS可以采用Oracle或Sybase等大型通用数据库系统。
        (4)连接网络。主数据库服务器和同步服务器之间一般通过高带宽、低延迟的固定网络进行连接。移动设备和同步服务器之间的连接根据设备具体情况可以是无线局域网、红外连接、通用串行线或公众网等。
               移动DBMS的关键技术
               嵌入式移动数据库在实际应用中必须解决好数据的一致性(复制性)、高效的事务处理和数据的安全性等问题。
               (1)数据的一致性。嵌入式移动数据库的一个显著特点是,移动数据终端之间以及与同步服务器之间的连接是一种弱连接,即低带宽、长延迟、不稳定和经常性断接。为了支持用户在弱环境下对数据库的操作,现在普遍采用乐观复制方法,允许用户对本地缓存上的数据副本进行操作。待网络重新连接后再与数据库服务器或其他移动数据终端交换数据修改信息,并通过冲突检测和协调来恢复数据的一致性。
               (2)高效的事务处理。移动事务处理要解决在移动环境中频繁的、可预见的断接情况下的事务处理。为了保证活动事务的顺利完成,必须设计和实现新的事务管理策略和算法。
               (3)数据的安全性。许多应用领域的嵌入式设备是系统中数据管理或处理的关键设备,因此嵌入式设备上的DBS对存取权限的控制较严格。同时,许多嵌入式设备具有较高的移动性、便携性和非固定的工作环境,也带来潜在的不安全因素。同时某些数据的个人隐私性又很高,因此在防止碰撞、磁场干扰、遗失、盗窃等方面对个人数据的安全性需要提供充分的保证。
               移动DBMS的特性
               移动DBMS的计算环境是传统分布式DBMS的扩展,它可以看做客户端与固定服务器结点动态连接的分布式系统。因此移动计算环境中的DBMS是一种动态分布式DBMS。由于嵌入式移动DBMS在移动计算的环境下应用在EOS之上,所以它有自己的特点和功能需求:
               (1)微核结构。考虑到嵌入式设备的资源有限,嵌入式移动DBMS应采用微型化技术实现,在满足应用的前提下紧缩其系统结构以满足嵌入式应用的需求。
               (2)对标准SQL的支持。嵌入式移动DBMS应能提供了对标准SQL的支持。支持SQL92标准的子集,支持数据查询(连接查询、子查询、排序、分组等)、插入、更新、删除多种标准的SQL语句,充分满足嵌入式应用开发的需求。
               (3)事务管理功能。嵌入式移动DBMS应具有事务处理功能,自动维护事务的完整性、原子性等特性;支持实体完整性和引用完整性。
               (4)完善的数据同步机制。数据同步是嵌入式数据库最重要的特点。通过数据复制,可以将嵌入式数据库或主数据库的变化情况应用到对方,保证数据的一致性。
               (5)支持多种连接协议。嵌入式移动DBMS应支持多种通信连接协议。可以通过串行通信、TCP/IP、红外传输、蓝牙等多种连接方式来实现与嵌入式设备和数据库服务器的连接。
               (6)完备的嵌入式数据库的管理功能。嵌入式移动DBMS应具有自动恢复功能,基本无须人工干预进行嵌入式数据库管理,并能够提供数据的备份和恢复,保证用户数据的安全可靠。
               (7)支持多种EOS。嵌入式移动DBMS应能支持Windows CE、Palm等多种目前流行的EOS,这样才能使嵌入式移动DBMS不受移动终端的限制。
               另外,一种理想的状态是用户只用一台移动终端(如手机)就能对与它相关的所有移动数据库进行数据操作和管理。这就要求前端系统具有通用性,而且要求移动数据库的接口有统一、规范的标准。前端管理系统在进行数据处理时自动生成统一的事务处理命令,提交当前所连接的数据服务器执行。这样就有效地增强了嵌入式移动DBMS的通用性,扩大了嵌入式移动数据库的应用前景。
               在嵌入式移动DBMS中还需要考虑诸多传统计算环境下不需要考虑的问题,例如,对断接操作的支持、对跨区长事务的支持、对位置相关查询的支持、对查询优化的特殊考虑,以及对提高有限资源的利用率和对系统效率的考虑等。为了有效地解决这些问题,诸如复制与缓存技术、移动事务处理、数据广播技术、移动查询处理与查询优化、位置相关的数据处理及查询技术、移动信息发布技术、移动Agent等技术仍在不断地发展和完善,会进一步促进嵌入式移动DBMS的发展。
 
       数据分析
        数据分析是大数据处理过程中的重要组成部分,是大数据价值体现的核心环节。经典的机器学习方法是最常见的数据智能分析方法,近年来迅速发展的深度学习在某些领域取得了惊人的效果。在应用开发上,也形成了几种主流的大数据处理框架。
        机器学习中算法很多,也有很多不同种类的分类方法,一般分为监督学习和非监督学习(或无监督学习)。其中,监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练,是从标记的训练数据来推断一个功能的机器学习任务。根据训练集中的标识是连续的还是离散的,可以将监督学习分为两类:回归和分类。
        回归是研究一个或一组随机变量对一个或一组属性变量的相依关系的统计分析方法。线性回归模型是假设自变量和因变量满足线性关系。Logistic回归一般用于分类问题,而其本质是线性回归模型,只是在回归的连续值结果上加了一层函数映射。
        分类是机器学习中的一个重要问题,其过程也是从训练集中建立因变量和自变量的映射过程,与回归问题不同的是,分类问题中因变量的取值是离散的,根据因变量的取值范围,可将分类问题分为二分类问题、三分类问题和多分类问题。根据分类采用的策略和思路的不同,分类算法大致包括:基于示例的分类方法,如K最近邻(K-Nearest Neighbor,KNN)方法;基于概率模型的分类方法,如朴素贝叶斯、最大期望算法EM等;基于线性模型的分类方法,如SVM;基于决策模型的分类方法,如C4.5、AdaBoost、随机森林等。
        在实际应用中,缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高,学习模型是为了推断出数据的一些内在结构。因此,根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称为无监督学习。常见的算法有:关联规则挖掘,是从数据背后发现事物之间可能存在的关联或联系。比如数据挖掘领域著名的“啤酒-尿不湿”的故事。K-means算法,基本思想是两个对象的距离越近,其相似度越大;相似度接近的若干对象组成一个簇;算法的目标是从给定数据集中找到紧凑且独立的簇。
        近年来发展起来的深度学习算法是基于原有的神经网络算法发展起来的,包括BP神经网络、深度神经网络。
        BP神经网络是一种反向传播的前馈神经网络,所谓前馈神经网络就是指各神经元分层排列,每个神经元只与前一层的神经元相连,接收前一层的输出,并输出给下一层。所谓反向传播是指从输出层开始沿着相反的方向来逐层调整参数的过程。BP神经网络由输入层、隐含层和输出层组成。
        深度神经网络主要包括卷积神经网络、循环神经网络等,也包括它们的各种改进模型。
        (1)卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,其结构包括输入层、卷积层、池化层、全连接层以及输出层等。该算法在图像处理、模式识别等领域取得了非常好的效果。在CNN的发展过程中,最经典的模型是AlexNet,针对不同的应用需要,又产生了全卷积模型(FCN)、残差神经网络模型(ResNet)、DeepFace等模型结构。
        (2)循环神经网络(Recurrent Neural Network,RNN)是一种人工神经网络,在该网络中,除了层间的连接以外,同层各单元之间连接构成了一个有向图序列,允许它显示一个时间序列的动态时间行为。RNN可以使用它们的内部状态来处理输入序列,这使得它们适用于诸如未分割的、连续的手写识别或语音识别等任务。传统的RNN是很难训练的,往往会出现梯度消失或梯度爆炸等情况,因此又出现了多个扩展版本,如BiRNN、LSTM等。
        随着深度学习的快速发展和应用的普及,开始出现了一些深度学习框架。深度学习框架是一种界面、库或工具,可以使用户在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。深度学习框架利用预先构建和优化好的组件集合定义模型,为模型的实现提供了一种清晰而简洁的方法。常见的深度学习框架有:Caffe,是一个广泛使用的开源深度学习框架,支持常用的网络模型,比如Lenet、AlexNet、ZFNet、VGGNet、GoogleNet、ResNet等;TensorFlow,是一个使用数据流图进行数值计算的开源软件库,图中的节点表示数学运算,而图边表示节点之间传递的多维数据阵列(又称张量),其为大多数复杂的深度学习模型预先编写好了代码,比如递归神经网络和卷积神经网络,灵活架构使我们能够在一个或多个CPU(以及GPU)上部署深度学习模型;Keras,是一个由Python编写的开源人工神经网络库,可以作为TensorFlow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化,Keras完全模块化并具有可扩展性,并试图简化复杂算法的实现难度。
        随着大数据技术的广泛深入,大数据应用已经形成了庞大的生态系统,很难用一种架构或处理技术覆盖所有应用场景。下文介绍几种当前主流的大数据分布式计算架构。
        Apache Hadoop是用于开发可靠、可伸缩、分布式计算的开源软件,是一套用于在由通用硬件构建的大型集群上运行应用程序的框架。包含的模块有:Hadoop分布式文件系统(HDFS),提供对应用程序数据的高吞吐量访问的分布式文件系统;Hadoop YARN,作业调度和集群资源管理的框架;Hadoop MapReduc,一个用于大型数据集并行处理的基于YARN的系统;Hadoop Ozone,Hadoop的对象存储;Hadoop Submarine,Hadoop的机器学习引擎。
        Apache Spark是加州大学伯克利分校的AMP实验室所开源的类Hadoop MapReduce的通用并行框架。Spark是一个分布式的内存计算框架,是专为大规模数据处理而设计的快速通用的计算引擎。Spark的计算过程保持在内存中,不需要读写HDFS,减少了硬盘读写,提升了计算速度。除了Map和Reduce操作外,Spark还延伸出如filter、flatMap、count、distinct等更丰富的操作。同时通过Spark Streaming支持处理数据流。
        Apache Storm是一个免费的开源分布式实时计算系统,可以可靠地处理无边界的数据流变,可以实现实时处理。Apache Storm速度很快,它是可扩展的,容错的,并且易于设置和操作。Apache Storm应用于实时分析、在线机器学习、连续计算、分布式RPC、ETL等等。Storm的核心是拓扑(Topology),拓扑被提交给集群,由集群中的主控节点分发代码,将任务分配给工作节点执行。
 
       数据模型
        1)信息结构与E-R方法
        (1)数据的3种范畴。数据需要进行认识、理解、整理、规范和加工,然后才能存放到数据库中。也就是说,数据从现实生活进入到数据库实际经历了若干个阶段。一般划分为3个阶段,也就是数据的3种范畴,即现实世界、信息世界、机器世界。
        ①现实世界。存在于人们头脑之外的客观世界,也就是客观存在并可以相区分的客观事物或抽象事物,称为实体。
        ②信息世界。客观事物必然在人们的头脑中产生反映,把这种反映称为信息。
        ③机器世界。对信息世界的信息进行数据化,数据化后的信息称之为数据。
        (2)E-R方法。我们需要对现实世界的信息结构进行描述,最常用的方法是实体-联系方法,即通常所说的E-R(Entity-Relationship)方法。E-R方法使用的工具称为E-R图,它所描述的现实世界的信息结构称为企业模式(Enterprise Schema),也把这种描述结果称为E-R模型。
        E-R图的3个要素是实体、属性以及实体和属性之间的联系。
        ①实体。在E-R图中用矩形框表示实体,把实体名写在方框内。
        ②属性。实体的属性用椭圆框表示,框内写上属性名,并用连线与相应的实体相连。这种画法有点麻烦,后来也有直接将属性名写在实体旁边,并对实体的标识属性标注下划线。
        ③联系。联系本身也有属性,联系是通过相关联的实体的有关属性体现出来的。实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。实体之间联系的基本类型有一对一(1∶1)、一对多(1∶n)和多对多(mn)3种。
        实体之间的联系类型并不取决于实体本身,而是取决于现实世界的管理方法,或者说取决于语义,即同样两个实体,如果有不同的语义,则可以得到不同的联系类型。比如有仓库和器件两个实体,下面来讨论它们之间的联系。
        ①如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的。
        ②如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的。
        ③如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。
        2)数据库系统的体系结构
        数据库系统的应用结构经历了集中式结构、文件服务器的网络结构到现在客户机/服务器网络结构以及分布式网络结构。
        (1)集中式数据库系统。集中式数据库系统,就是将数据以及数据的管理都集中在一台计算机上。这类数据库效率高,可靠性好,数据冗余少,数据独立性高。
        (2)客户机/服务器(C/S)数据库系统。在客户机/服务器数据库系统中,数据库服务器的平台与客户端无关,其数据库管理系统集中负责管理数据库服务器上的数据和资源,它向客户提供一个开放的使用环境,客户端的用户通过数据库接口访问数据库。客户端称为前台,服务器称为后台。前台的工作包括管理用户接口或界面、采集数据、向后台发出请求等;而后台负责管理外设、存取共享数据、响应前台请求并送回结果。客户端的应用程序和数据一般是用户自己专用的,而服务器的功能和数据是所有用户共享的。
        (3)分布式数据库系统。分布式数据库系统就是数据物理的分布存储在不同的计算机上,这些物理上分布存储的数据在逻辑上构成一个整体的数据库。也就是一个物理上分布于计算机网络的不同地点,而逻辑上又属于同一系统的数据集合。网络上每个地点的数据库都有自治能力,能够完成局部应用;同时每个地点的数据库又属于整个系统,通过网络也可以完成全局应用。
        3)传统的三大模型
        数据库中不仅要存放数据本身,还要存放数据与数据之间的联系,可以用不同的方法表示数据与数据之间的联系,把表示数据与数据之间联系的方法称为数据模型。传统的数据模型有层次数据模型、网络数据模型和关系数据模型。
        (1)层次数据模型。用树形结构来表示实体之间的联系的模型称为层次模型。支持层次模型的典型系统诞生于1970年前后,就是IBM公司的IMS(Information Management System)。构成层次模型的树是由节点和连线组成的,节点表示实体集(文件或记录型),连线表示相连两个实体之间的联系,这种联系只能是一对多的。通常把表示"一"的实体放在上方,称为父节点;而把表示"多"的实体放在下方,称为子节点。层次模型表示一对多的联系是直接而方便的。但由于层次模型有以下两点限制:
        ①有且仅有一个节点无父节点,这个节点即为树的根。
        ②其他节点有且仅有一个父节点。
        这样就使得多对多联系不能直接用层次模型表示,但是如果把多对多联系转换成一对多联系,又会出现一个子记录型有多个父记录型的结果,这同样不符合层次数据库的要求。解决的办法只有把它分解成两个层次型。层次数据模型或层次数据库是由若干层次型构成的,或者说它是一个层次型的集合。
        (2)网络数据模型。如果取消层次模型中的两点限制,即允许每一个节点可以有多个父节点,便形成了网络。用网络结构来表示实体之间联系的数据模型称为网络数据模型。网络模型和层次模型在本质上是一样的,从逻辑上看它们都是用连线表示实体之间的联系,用节点表示实体集;从物理上看,层次模型和网络模型都是用指针来实现两个文件之间的联系,其差别仅在于网络模型中的连线或指针更加复杂,更加纵横交错,从而使数据结构更复杂。在网络模型中同样使用父节点和子节点这样的术语,并且同样把父节点安排在子节点的上方。网络数据模型的典型代表是CODASYL系统。
        (3)关系数据模型。关系数据模型源于数学,它把数据看成二维表中的元素,而这个二维表就是关系。用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。通俗地讲,关系就是一个二维表格,表格中的每一行称为一个元组,它相当于一个记录值,每一列是一个属性值集,列可以命名,称为属性名。这里的属性与前面讲到的实体属性(特征)或记录的字段意义相当。由此可见,关系是元组的集合,如果表格有n列,则称该关系是n元关系。关系应满足以下性质。
        ①表格中的每一列都是不可再分的基本属性。
        ②各列被指定一个相异的名字。
        ③各行相异,不允许重复。
        ④与行、列次序均无关。
        综合以上4点,可以说:一个关系是一个文件,该文件中的每个记录是唯一的,所有记录具有相同个数和类型的字段,也就是说,所有记录有同样的固定长度和格式。在关系数据模型中实体本身以及实体与实体之间的联系都用关系来表示,实体之间的联系不再通过指针来实现。
        对于用户,关系方法应该是很简单的,但是关系数据库管理系统本身是很复杂的。关系方法之所以对用户简单,是因为它把大量的困难转给了数据库管理系统。关系数据库管理系统一经投入使用,便逐步取代了层次数据库和网状数据库。现在耳闻目睹的数据库管理系统,全部都是关系数据库管理系统,像Sybase、Oracle、Informix、MS SQL Server、FoxPro、Access等。
        4)数据独立性和三层模式结构
        数据独立性是指应用程序与存储数据相互独立的特性。也就是当修改数据的组织方法和存储结构时,应用程序不用修改的特性。数据独立性又分为存储数据独立性和概念数据独立性。
        (1)存储数据独立性。以前所熟悉的计算机文件,都是真正在磁盘上存在的物理文件或存储文件,应用程序也是针对这样的文件而写的。在存储文件中,不仅存储了管理现实世界所需要的各种数据,还存储了大量为了管理文件本身所需要的辅助数据,如索引和指针等。为了使应用程序与这些索引和指针等分离开来,使之只关心管理现实世界所需要的各种数据本身,把程序分成两部分,一部分是应用程序或用户程序(User-Program),另一部分是存储子程序(Storage-Routine)。用户程序操作一个物理上并不存在的概念文件或逻辑文件,而实际操作则是交由存储子程序去操作存储文件来完成的。这时如果修改存储文件的组织方法或存储结构,将与用户程序无关,而存储子程序则可以做成通用的和商品化的程序。实际上,这里的存储子程序就是后来的数据库管理系统的数据存储子系统。概念文件只是"概念上"的,它实际上并不存在,可以把它看作存储文件的抽象。也可以假设概念文件只包含用户有用的数据,像指针那些辅助字段被屏蔽掉了。或者说,概念文件是用户存取存储文件的结构或框架。
        通过概念文件只需要关心文件中有哪些数据,至于数据是怎么存储的、还有哪些指针和索引都不用关心。显然这种两级方案给用户程序带来了存储数据独立性,即不管存储文件的存储方法和存储结构怎么改变,用户程序都能继续正确执行。
        存储数据独立性的最大好处是可以大大节省程序的维护代价。一般在一个大的系统中,会有很多用户程序操作存储文件,如果所有这些程序都通过存储子程序和概念文件完成它们的操作,那么当要改变存储文件的存储方法时,所有这些程序都不会受到影响。
        (2)概念数据独立性。每个用户程序并不一定使用概念文件中的全部数据字段,不同的用户程序只是从概念文件中抽取部分字段为自己所用。把从概念文件抽取的部分字段称为外部文件,这也为获得概念数据独立性奠定了基础。
        概念数据独立性也称为逻辑数据独立性,它是指当用户程序操作的概念文件有插入或删除字段的情况发生时(当然是通过存储文件),用户程序仍能正确执行的性质。当然,插入或删除的字段与这个用户程序是无关的,也就是说,它们不是这个用户程序使用的字段。
        (3)数据库的三层模式结构。不管是概念文件还是外部文件,它们都不真正含有数据,只是存取存储文件的结构或框架;概念文件是存储文件的抽象,而外部文件是概念文件的部分抽取。使用这种三层结构不仅可以使数据具有独立性,使数据和程序的代价大大降低,而且还可以使数据达到共享,使同一数据满足更多用户的不同需求。
        5)关系数据库
        (1)关系模型的基本概念。设D1,D2,…,Dn为任意集合,定义D1,D2, …,Dn的笛卡儿积为
        D1×D2×…×Dn={(d1,d2, …,dn)|diDii=1, 2, …,n}
        笛卡儿积D1×D2×…×Dn的任意一个子集称为D1,D2,…,Dn上的一个n元关系。
        可以把二元关系看成二维表,给表的每一列取个名字,称为属性,n元关系就有n个属性,属性的名字要唯一,其取值范围Dii=1, 2, …,n)称为值域。
        如果一个属性集的值能唯一标识一个关系的元组而又不含有多余的属性,则称该属性集为候选关键字。有时一个关系中有多个候选关键字,这时可以选择其中一个作为主关键字,简称关键字。每一个关系都有一个并且只有一个主关键字。
        如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。
        关系模式就是二维表的表框架或结构,它相当于文件结构或记录结构。
        关系模型是所有的关系模式、属性名和关键字的汇集,是模式描述的对象。
        对应于一个关系模型的所有关系的集合称为关系数据库。
        关系模型下的术语列举如下。
        ①属性:数据项(字段)。
        ②元组:记录(值)。
        ③关系:文件(值)。
        ④关系模式:记录类型(文件格式)。
        ⑤关系名:文件名(记录名)。
        ⑥数据库模式:概念模式。
        最后概括一下关系的性质。
        ①列是同质的,即每一列中的分量是同类型的数据,来自同一个值域。
        ②不同的列可以出自同一个值域,每一列称为属性,要给予不同的属性名。
        ③列的顺序是无关紧要的,即列的次序可以任意交换。
        ④元组不可以重复,即任意两个元组不能完全相同。
        ⑤行的顺序是无关紧要的,即行的次序可以任意交换。
        ⑥每一分量必须是不可分的最小数据项。
        ⑦每个关系都有一个主关键字唯一标识它的各个元组。
        (2)关系模式。关系数据库同样具有3层模式,即概念模式、存储模式和外部模式。关系概念模式主要包括对出现在数据库中的每个关系的说明,包括对关系名、属性名和属性的取值范围(类型)的说明。在关系数据模型中可以不说明关系与关系之间的联系(关系与关系之间的联系是通过连接字段实现的)。比如有以下的关系:
        花名册(学号,姓名,年龄)
        成绩单(学号,姓名,成绩)
        关系存储模式从原理上讲与其他类型数据库系统的存储模式没有什么不同,每个概念文件都对应一个存储文件。一般基于主关键字进行直接存取需要建立一个主索引(唯一索引),通过辅助关键字进行存取需要建立一个辅助索引(一般索引)。在关系存储模式中不用说明存储文件,存储文件的说明由关系数据库管理系统根据基本表(概念文件)的定义自动映射产生。所以,在关系存储模式中要说明的主要内容就是索引。
        关系外部模式的定义和其他类型数据库系统的外部模式一样,在关系数据库中外部文件被称为视图(View)。
        (3)关系代数。关系代数是对关系运算的总和。关系运算分为以下两类。
        ①传统的集合运算,这种运算将关系看作元组的集合。
        ②专门的关系运算。
        传统的集合运算是二目运算,设关系RS均是n元关系,且相应的属性值取自同一个值域,则可以定义并运算(∪)、交运算(∩)、差运算(-)以及前面讲的笛卡儿乘积。
        ①RS的并是集合,记为RS, RS={x|xRxS}。
        ②RS的交是集合,记为RS, RS={x|xRxS}。
        ③RS的差,或S关于R的相对补是集合,记为R-SR-S={x|xRx?S}。
        在关系代数中,有4种基本的专门关系运算,即选择(Select)、投影(Project)、自然连接(Join)和除法运算(Division)。
        ④选择运算是最简单的运算,它从指定的关系中选择某些元组形成一个新的关系,被选择的元组是用满足某个逻辑条件来指定,表示为σFR),其中σ是选择运算符,R是关系名,F是逻辑表达式。
        比如,对下表所示的订购单关系,选择职工号为E3的元组构成新的关系,可以有如下的选择运算:
        
        
        订购单关系表
        结果如下表所示。
        
        运算结果表
        ⑤投影运算是对指定的关系进行投影操作,根据该关系分两步产生一个新关系。首先选择指定的属性,形成一个可能含有重复行的表格,然后删除重复行形成新的关系,表示为πAR),其中π是投影运算符,A是被投影的属性或属性集。
        比如:对订购单关系选取职工号和供应商号两列组成新的关系,可以有以下投影运算:
        
        结果如下表所示。
        
        π运算结果表
        ⑥自然连接运算定义如下:当两个关系RS的某些列具有相同的属性名时,可利用这些同名属性列的相同值作为连接条件将两个关系连接起来,构成自然连接。在连接后的关系中,不仅含有RS不同的属性列,而且含有相同的属性列,其元组的数目由公共属性列中的相同值决定。
        设R是属性名为(A1,A2, …,Am, …,Ak1)的k1元关系,S是属性名为(A1,A2,…,Am, …,Bk2)的k2元关系,其中A1,A2, …,Am是同名属性列,进行自然连接的步骤如下:选出关系RS中属性A1,A2,…,Am完全相同的所有元组;对这些元组进行笛卡儿乘积;最后去掉重复属性。
        ⑦除法运算是指用一个m+n度的关系R除以一个n度关系S,运算结果生成一个m元的新关系。这里R的第m+i个属性和S的第i个属性(i=1, 2, …,n)必须是在相同的域上定义。如果把R的前m个属性看作一个组合属性x,后n个属性看成一个组合属性y,则S也可类似地看成一个组合属性y。这样以S中的y值来对R进行分组,当组中含有y值时,则组中的x值便构成了R除以S的一个元组。R除以S的数学表达式为
        R÷S=πaR)-πaaR×S-R]
        式中,a为关系R中除去与S关系相同的其余属性。
        6)关系数据库标准数据语言SQL
        查询是SQL(Structured Query Language,结构化查询语言)的重要组成部分但不是全部,其主要特点如下。
        ①SQL是一种一体化的语言,包括数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。
        ②SQL是一种高度非过程化的语言,它没有必要一步步地告诉计算机"如何"去做,而只需要描述清楚用户要"做什么",SQL就可以将要求交给系统,自动完成全部工作。
        ③SQL非常简洁。虽然SQL功能很强,但它只有为数不多的几条命令。另外,SQL的语法也非常简单,它很接近自然语言(英语),因此容易学习、掌握。
        ④SQL可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。现在很多数据库应用开发工具,都将SQL直接融入自身的语言之中,使用起来更方便。这些使用方式为用户提供了灵活的选择余地。此外,尽管SQL的使用方式不同,但SQL的语法基本是一致的。
        (1)SQL的数据定义功能。SQL的数据定义功能包括数据库的定义、基本表的定义、视图的定义、存储过程的定义、规则的定义和索引的定义等。
        创建表的命令如下:
        
        修改表的命令如下:
        
        在SQL中,只允许以增加新的属性(ADD)和修改属性类型的长度(MODIFY)这两种方式修改表结构,不允许诸如更改属性名、删除属性等修改,这是从数据完整性的角度加以限制的。
        删除表的命令如下:
        
        建立索引的命令如下:
        
        索引分为两类,即唯一(UNIQUE)索引和普通索引。默认是以升序(ASC)方式建立索引,如果需要也可以按降序(DESC)方式建立索引。
        删除索引的命令如下:
        
        建立视图的命令如下:
        
        其中可以是任意的SELECT查询,它说明和限定了视图中的数据。删除视图的命令格式如下:
        
        (2)SQL的数据查询功能。SQL的核心是查询。SQL的查询命令也称为SELECT命令,其基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可以嵌套执行。SELECT命令的语法如下:
        
        具体解释如下。
        .SELECT说明要查询的数据,"*"表示要指定表中的全部数据,DISTINCT说明要去掉重复元组。
        .FROM说明要查询的数据来自哪个(些)表,可以基于单个表或多个表进行查询。
        .WHERE说明查询条件,即选择元组的条件。
        .GROUP BY短语用于对查询结果进行分组,可以利用它进行分组汇总。
        .HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件。
        .ORDER BY短语用来对查询的结果进行排序。
        .COMPUTE短语可以进行带明细的分组汇总。
        查询中有以下几个特殊运算符。
        .BETWEEN…AND:表示在……和……之间。
        .LIKE:字符串匹配运算符,可用通配符"*"表示0个或多个字符,"?"表示一个字符。
        .NOT:否定运算符。另外SQL中"不等于"用"!="表示。
        .ANY和SOME:在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询行中所有行都使结果为真时,结果才为真。
        .EXISTS或NOT EXISTS:用来检查在子查询中是否有结果返回。
        SQL不仅具有一般的检索能力,而且还有计算方式的检索。用于计算检索的函数有以下几种。
        .COUNT:计数。
        .SUM:求和。
        .AVG:计算平均值。
        .MAX:求最大值。
        .MIN:求最小值。
        (3)SQL的数据操作功能。SQL的操作功能是指对数据库中数据的操作,主要包括数据的插入、更新和删除。
        插入的命令如下:
        
        更新的命令如下:
        
        删除的命令如下:
        
        (4)SQL的数据控制功能。SQL的数据控制功能主要是指对数据库中数据的安全控制和管理,即对数据的安全提供保护,这主要表现在对数据使用的授权(GRANT)和收回授权(REVOKE)。每个用户对自己拥有的资源可以有任意的操作权限,同时也可以把其中的一部分权限授予他人。
        SQL的授权命令如下:
        
        权限可以是SELECT、INSERT、DELETE、UPDATE(<列名>[;<列名>]、ALTER和INDEX等,也可用ALL表示所有权限。
        收回权限的命令如下:
        
   题号导航      2017年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第4题    在手机中做本题