免费智能真题库 > 历年试卷 > 信息系统管理工程师 > 2013年上半年 信息系统管理工程师 上午试卷 综合知识
  第9题      
  知识点:   关系数据库   关系运算   关系数据库系统   数据库   数据库系统
  关键词:   关系数据库   数据库系统   数据   数据库        章/节:   数据库系统基本概念       

 
关系数据库系统能实现的专门关系运算包括(9)
 
 
  A.  排序、索引、统计
 
  B.  选择、投影、连接
 
  C.  关联、更新、排序
 
  D.  显示、打印、制表
 
 
 

 
  第13题    2015年上半年  
   35%
某医院住院部设有病人关系R(住院号,姓名,性别,、科室号,病房,家庭住址),其中:“住院号”唯一标识关系R中的每..
  第12题    2017年上半年  
   49%
数据模型的三要素包括( )。
  第18题    2019年上半年  
   33%
给定关案R<U,F >,U=。关系模式R的候选关键字为( )。
   知识点讲解    
   · 关系数据库    · 关系运算    · 关系数据库系统    · 数据库    · 数据库系统
 
       关系数据库
               关系模型概述
               关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构单一,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,关系模型中数据的逻辑结构是一张二维表。关系模型中常用的关系操作包括选择、投影、连接、除、并、交、差等查询操作,和增加、删除、修改操作两大部分。早期的关系操作能力通常用关系代数和关系演算来表示,关系代数是用对关系的运算来表达查询要求的方式,关系演算是用谓词来表达查询要求的方式。另外还有一种介于关系代数和关系演算之间的语言SQL,它不仅具有丰富的查询功能,而且具有数据定义和数据控制功能,是关系数据库的标准语言。
               关系数据结构及形式化定义
               首先介绍一些概念:
               (1)域(Domain):域是一组具有相同数据类型的值的集合。
               (2)笛卡尔积(Cartesian Product):给定一组域D1, D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn) |di∈Di, i=1,2,…,n}其中每一个元素(d1,d2,…,dn)叫做一个n元组或简称元组。元素中的每一个值di叫做一个分量。笛卡尔积可以用来表示二维表,表中的每行对应一个元组,每列对应一个域。
               (3)关系(Relation):D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R (D1, D2,…,Dn),这里R表示关系的名字,n是关系的目或度(Degree),关系中的每个元素是关系中的元组。
               关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。一个元组就是该关系所涉及的属性集的笛卡尔积的一个元素。由于在笛卡尔积的定义中,域是可以相同的,所以为了加以区分,必须对每个列起一个名字,称之为属性,n目关系必须有n个属性。若关系中的某一属性组的值能够唯一标识一个元组,则称该属性组为候选码(Candidate Key)。若一个关系有多个候选码,则选定其中之一为主码(Primary Key)。主码的各个属性称为主属性(Prime Attribute)。不包含在任何候选码中的属性称为非码属性(Non-key Attribute)。当关系模式的所有属性组是这个关系模式的候选码时,称为全码(All-Key)。
               关系的完整性
               (1)实体完整性。
               若属性A是基本关系R的主属性,则属性A不能取空值。也就是说基本关系得所有主属性都不能取空值,而不仅是主码整体不能取空值。
               (2)参照完整性。
               现实世界中的实体之间往往存在某种联系,在关系模型中实体之间的联系用关系描述,这样就会存在着关系间的引用。例如,学生、课程、选课三个关系如下:
               学生(学号,姓名,性别,专业)
               课程(课程号,课程名,教师,学分)
               选课(学号,课程号,成绩)
               它们之间是多对多联系,存在着属性的引用,即选课关系引用了学生关系的主码和课程关系的主码,如画线所示。在选课关系中必须满足:①选课关系中的“学号”值必须是确实存在的学生的学号,即在学生关系中有该学生的记录;②选课关系中“课程号”也必须确实存在,即课程关系中有该课程的记录。也就是说,选课关系中某些属性的取值需要参照其他关系的属性的取值。
               设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系,关系R和S不一定是不同的关系。在上例中,“学号”和“课程号”是选课关系的外码,学生关系和课程关系是被参照关系,选课关系是参照关系。
               参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(关系R和S不一定是不同的关系),则对于R中每个元组在F上的值或者取空值或者等于S中某个元组的主码值。
               (3)用户定义的完整性
               用户定义的完整性就是针对某一具体关系数据库的约束条件。例如属性的取值范围、属性间必须满足一定的函数关系等。
 
       关系运算
        关系代数是一种传统的表达方式,用对关系的运算来表达查询。关系代数的运算对象是关系,运算结果也是关系。关系代数的运算符有集合运算符、专门的关系运算符、算术比较符和逻辑运算符。集合运算符包括∪(并)、-(差)、∩(交);专门的关系运算符包括×(广义笛卡尔积)、σ(选择)、∏(投影)、?(连接)、÷(除);比较运算符包括>(大于)、≥(大于等于)、<(小于)、≤(小于等于)、=(等于)、≠(不等于);逻辑运算符包括?(非)、∧(与)、∨(或)。按运算符的不同可将关系代数的运算分为传统的集合运算和专门的关系运算。
        首先引入几个记号:
        (1)设定一个关系模式R(A1,A2,…,An),它的一个关系为R。t∈R表示t是R的一个元组,t[Ai]表示元组t中相应于属性Ai的一个分量。
        (2)设定A={A?1, A?2,…,Aik},其中Ai1, Ai2,…,Aik是A1,A2,…,An中的一部分,则A称为属性列或域列。t[A]=(t[Ai1], t[Ai2],…,t[Aik])表示元组t在属性列A上各个分量的集合。表示在{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的属性组。
        (3)设R为n目关系,S为m目关系,tr∈R, ts∈S,称作元组的连接,它是n+m列元组,其中前n个分量是R中的一个n元组,后m个分量是S中的一个m元组。
        (4)设定一个关系R (X, Z),X和Z是属性组,当t[X]=x时,x在R中的象集为Zx={t[Z]|t∈R,t[X]=x},它表示R中属性组X上值为x的诸元组在Z上分量的集合。
               传统的集合运算
               传统的集合运算将关系看成元组的集合,运算从关系的水平方向(行)来进行,包括并、差、交、广义笛卡尔积四种运算。
               设关系R和关系S都是n目关系并且相应属性取自同一个域。则关系R与关系S的并记作R∪S={t|t∈R∨t∈S},结果由属于R或者属于S的元组组成;关系R与关系S的差记作R-S={t|t∈R∧tS},结果由属于R而不属于S的所有元组组成;关系R与关系S的交记作R∩S={t|t∈R∧t∈S},结果由既属于R又属于S的元组组成。并、交、差的结果都是n目关系。
               专门的关系运算
               专门的关系运算不仅涉及行而且涉及列,包括选择、投影、连接、除等。
               设一个学生-课程数据库,包括学生关系、课程关系和选修关系,如下图所示,下面的例题都基于这三个关系。
               
               学生-课程数据库
               (1)选择。
               选择是在关系R中选择满足给定条件的诸元组,记作σF(R)={t|t∈R∧F(t)}=′真′},其中F表示选择条件的逻辑表达式(F由逻辑运算符?、∧、∨连接各算术表达式组成,算术表达式的基本形式为X1θY1,其中θ表示比较运算符,X1Y1是属性名或常量,或简单函数,属性名也可以用它的序号来代替),取值“真”或“假”。选择运算其实是从关系R中选取一些元组,这些元组可以使逻辑表达式F取值为真。选择运算是从行的角度进行的。
               例1:查询计算机系(CS)全体学生
               σSdept='CS'(Student)或σ5='CS'(Student)
               其中“5”是Sdept的属性序号。
               (2)投影。
               关系R上的投影是指从关系R中选取若干属性列并组成一个新的关系,记作πA(R)={t[A]|t∈R}。投影运算是从列的角度进行的。
               例2:查询学生的学号和姓名。
               πSno,Sname(Student)或π2,5(Student)
               注意:由于投影之后取消了原关系中的某些列,所以可能会出现重复的行,应取消这些相同的行。所以投影之后不但取消原关系中的某些列,还取消了某些元组。
               (3)连接。
               连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组,记作,其中A和B分别是R和S上的属性组,θ是比较运算符。连接运算从R和S的广义笛卡尔积R×S中选取一些元组,这些元组在A属性组上的值与在B属性组上的值满足比较关系θ。连接操作是从行的角度进行的运算。
               当θ为“=”时的连接运算称为等值连接,等值连接是比较重要和常用的一种连接运算。另外一种重要并且常用的连接运算是自然连接。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,即当R和S具有相同的属性组A,自然连接可记作:。由于在自然连接中还要把重复的列去掉,所以是同时从行和列的角度进行运算。
               例3:设有两个关系R和S,如下图(a)和(b),的结果如下图(c),等值连接的结果如下图(d),自然连接R?S的结果如下图(e)。
               
               连接运算
 
       关系数据库系统
        关系数据库系统是支持关系数据模型的数据库系统。
        关系数据库应用数学方法来处理数据库中的数据。最早提出将这类方法用于数据处理的是1962年CODASYL发表的“信息代数”一文,之后有1968年David Child在7090机上实现的集合论数据结构,但系统而严格地提出关系模型的是美国IBM公司的E.F.Codd。
        1970年E.F.Codd在美国计算机学会会刊Communication of the ACM上发表的题为“A Relational Model of Data for Shared Data Banks”的论文,开创了数据库系统的新纪元。以后,他连续发表了多篇论文,奠定了关系数据库的理论基础。
        20世纪70年代末,关系方法的理论研究和软件系统的研制均取得了很大成果,IBM公司的San Jose实验室在IBM370系列机上研制的关系数据库实验系统System R获得成功。1981年IBM公司又宣布了具有System R全部特征的新的数据库软件产品SQL/DS问世。与System R同期,美国加州大学柏克利分校也研制了Ingres关系数据库实验系统,并由Inges公司发展成为Ingres数据库产品。
        几十年来,关系数据库系统的研究取得了辉煌的成就。关系方法从实验室走向了社会,涌现出许多性能良好的商品化关系数据库管理系统(RDBMS)。如著名的IBM DB2、Oracle、Ingres、SYBASE、Informix等。数据库的应用领域迅速扩大。
 
       数据库
        数据库(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 /
 
第9题    在手机中做本题