免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2018年上半年 数据库系统工程师 上午试卷 综合知识
  第36题      
  知识点:   基本的数据模型   关系模型
  关键词:   关系模型        章/节:   数据库技术基础       

 
以下关系模型的描述不正确的是()。
 
 
  A.  与网状模型和层次模型相比,关系模型更复杂
 
  B.  关系模型是由若干个关系模式组成的集合
 
  C.  关系是一个实例,对应于程序设计语言中变量的概念
 
  D.  关系模型是采用表格结构来表达实体集以及实体集之间的联系
 
 
 

 
  第57题    2017年上半年  
   46%
某销售公司需开发数据库应用系统管理客户的商品购买信息。该系统需记录客户的姓名、出生日期、年龄和身份证号信息,记录客户每次..
  第38题    2011年上半年  
   55%
某医院管理系统部分关系模式为:科室(科室号,科室名,负责人,电话)、病患(病历号,姓名,住址,联系电话)和职工(职工号,..
  第57题    2012年上半年  
   63%
假设某企业职工实体有属性:职工号、职工姓名、性别、出生日期;部门实体有属性:部门号、部门名称、电话,一个部门可以有多部电..
   知识点讲解    
   · 基本的数据模型    · 关系模型
 
       基本的数据模型
               层次模型(Hierarchical Model)
               层次模型采用树型结构表示数据与数据间的联系。在层次模型中,每个结点表示一个记录类型(实体),记录之间的联系用结点之间的连线表示,并且根结点以外的其他结点有且仅有一个双亲结点。上层和下一层类型的联系是1:n联系(包括1:1联系)。
               网状模型(Network Model)
               采用网络结构表示数据与数据间联系的数据模型称为网状模型(Network Model)。在网状模型中,允许一个以上的节点无双亲,一个节点可以有多于一个的双亲。
               网状模型(也称DBTG模型)是一个比层次模型更具有普遍性的数据结构,是层次模型的一个特例。网状模型可以直接地描述现实世界,因为去掉了层次模型的两个限制,允许两个节点之间有多种联系(称之为复合联系)。需要说明的是,网状模型不能表示记录之间的多对多联系,需要引入联结记录来表示多对多联系。
               网状模型中的每个节点表示一个记录类型(实体),每个记录类型可以包含若干个字段(实体的属性),节点间的连线表示记录类型之间一对多的联系。层次模型和网状模型的主要区别如下:
               (1)网状模型中子女节点与双亲节点的联系不唯一,因此需要为每个联系命名。
               (2)网状模型允许复合链,即两个节点之间有两种以上的联系。
               通常,网状数据模型没有层次模型那样严格的完整性约束条件,但DBTG在模式DDL中提供了定义DBTG数据库完整性的若干概念和语句,主要有:
               (1)支持记录码的概念。码能唯一标识记录的数据项的集合。
               (2)保证一个联系中双亲记录和子女记录之间是一对多联系。
               (3)以支持双亲记录和子女记录之间的某些约束条件。例如,当插入一条选课记录“1014,C2,98”时,只有学生实体中存在学号为“1014”的学生记录,课程实体存在课程号为“C2”的课程,系统才认为是合法的操作。
               网状模型的主要优点是能更为直接地描述现实世界,具有良好的性能,存取效率高。其主要缺点是结构复杂。例如,当应用环境不断扩大时,数据库结构就变得很复杂,不利于最终用户掌握。编制应用程序难度比较大。DBTG模型的DDL、DML语言复杂,记录之间的联系是通过存取路径来实现的,因此程序员必须了解系统结构的细节,增加了编写应用程序的负担。
               关系模型(Relational Model)
               关系模型(Relation Model)是目前最常用的数据模型之一。关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。关系是一个实例,也是一张表,对应于程序设计语言中变量的概念。给定变量的值随时间可能发生变化,类似地,当关系被更新时,关系实例的内容也随时间发生了变化。
               面向对象数据模型(Object Oriented Model)
               面向对象数据模型(Object Oriented Model)的核心概念如下:
               (1)对象和对象标识(OID)。对象是现实世界中实体的模型化,与记录、元组的概念相似,但远比它们复杂。每一个对象都有一个唯一的标识,称为对象标识。对象标识不等于关系模式中的记录标识,OID是独立于值的,全系统唯一的。
               (2)封装(encapsulate)。每一个对象是状态(state)和行为(behavior)的封装。对象的状态是该对象属性的集合,对象的行为是在该对象状态上操作的方法(程序代码)的集合。被封装的状态和行为在对象外部是看不见的,只能通过显式定义的消息传递来访问。
               (3)对象的属性(object attribute)。对象的属性描述对象的状态、组成和特性,对象的某个属性可以是单值或值的集合。对象的一个属性值本身在该属性看来也是一个对象。
               (4)类和类层次(class and class hierarchy)。
               ①类。所有具有相同属性和方法集的对象构成了一个对象类。任何一个对象都是某个对象类的一个实例(instance)。对象类中属性的定义域可以是任何类,包括基本类,如整型、实型和字串等;一般类,包含自身属性和方法类本身。
               ②类层次。所有的类组成了一个有根有向无环图,称为类层次(结构)。一个类可以从直接/间接祖先(超类)中继承(inherit)所有的属性和方法,该类称为子类。
               (5)继承(inherit)。子类可以从其超类中继承所有属性和方法。类继承可分为单继承(即一个类只能有一个超类)和多重继承(即一个类可以有多个超类)。
               面向对象数据模型比网络、层次、关系数据模型具有更加丰富的表达能力。由于面向对象模型的丰富表达能力,模型相对复杂。有关面向对象分析及设计方面的内容可参考第10章。
 
       关系模型
        我们先学习几个相关的基本概念。
        (1)域:一组具有相同数据类型的值的集合。
        (2)笛卡儿积:给定一组域D1D2,…,Dn,这些域中可以有相同的。它们的笛卡儿积为:D1×D2×…×Dn={(d1d2,…,dn)|djDjj=1,2,…,n}。其中每一个元素(d1d2,…,dn)叫作一个n元组(简称为元组)。元组中的每一个值dj叫作一个分量。
        (3)关系:D1×D2×…×Dn的子集叫作在域D1D2,…,Dn上的关系,用RD1D2,…,Dn)表示。这里R表示关系的名字,n是关系的目或度。
        关系中的每个元素是关系中的元组,通常用t表示。关系是笛卡儿积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
        若关系中的某一属性组(一个或多个属性)的值能唯一地标识一个元组,则称该属性组为候选码(候选键)。若一个关系有多个候选码,则选定其中一个作为主码(主键)。主码的所有属性称为主属性。不包含在任何候选码中的属性称为非码属性(非主属性)。在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式所有属性的组合构成关系模式的候选码,称为全码。
        关系可以有三种类型:基本关系(基本表、基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示;查询表是查询结果对应的表;视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
        基本关系具有以下6条性质:
        (1)列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。
        (2)不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
        (3)列的顺序无所谓,即列的次序可以任意交换。
        (4)任意两个元组不能完全相同。但在大多数实际关系数据库产品中,例如Oracle等,如果用户没有定义有关的约束条件,它们都允许关系表中存在两个完全相同的元组。
        (5)行的顺序无所谓,即行的次序可以任意交换。
        (6)分量必须取原子值,即每一个分量都必须是不可分的数据项。
        关系的描述称为关系模式,一个关系模式应当是一个五元组,它可以形式化地表示为:RUD,DOM,F)。其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系模式通常可以简记为RA1A2,…,An)。其中R为关系名,A1A2,…,An为属性名。
        关系实际上就是关系模式在某一时刻的状态或内容。也就是说,关系模式是型,关系是它的值。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。但在实际当中,常常把关系模式和关系统称为关系,读者可以从上下文中加以区别。
        在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库。
        关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,是关系模式的集合。关系数据库的值也称为关系数据库,是关系的集合。关系数据库模式与关系数据库通常统称为关系数据库。
   题号导航      2018年上半年 数据库系统工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第36题    在手机中做本题