免费智能真题库 > 历年试卷 > 数据库系统工程师 > 2010年上半年 数据库系统工程师 上午试卷 综合知识
  第62题      
  知识点:   1NF(第一范式)   复杂类型   嵌套关系   关系数据库   数据库
  关键词:   对象   关系数据库   数据   数据库        章/节:   关系数据库   数据库主流应用技术       

 
对象关系数据库中,员工(工号,姓名,性别,联系电话)表中的联系电话为多值属性,则员工属于(62),在SOL99标准中可以使用(63)来实现。
 
 
  A.  非1NF关系
 
  B.  1NF关系
 
  C.  2NF关系
 
  D.  3NF关系
 
 
 

  相关试题:规范化          更多>  
 
  第33题    2009年上半年  
   39%
假设员工关系EMP (员工号,姓名,性别,部门,部门电话,部门负责人,家庭住址,家庭成员,成员关系)如下表所示。如果一个部门只..
  第45题    2016年上半年  
   64%
某公司数据库中的元件关系模式为P(元件号,元件名称,供应商,供应商所在地,库存量),函数依赖集F如下所示:
F={元件号&..
  第29题    2012年上半年  
   63%
给定关系模式销售排名(员工号,商品号,排名),若每一名员工每种商品有一定的排名,每种商品每一排名只有一名员工,则以下叙述..
 
  第65题    2013年上半年  
   63%
在面向对象数据库系统的数据类型中,对象属于(65)类型。
  第62题    2009年上半年  
   57%
对象一关系模型与关系模型的区别是(62) 。
  第63题    2010年上半年  
   65%
对象关系数据库中,员工(工号,姓名,性别,联系电话)表中的联系电话为多值属性,则员工属于(62),在SOL99标准中可以使用(63)..
   知识点讲解    
   · 1NF(第一范式)    · 复杂类型    · 嵌套关系    · 关系数据库    · 数据库
 
       1NF(第一范式)
        【定义7.10】若关系模式R的每一个分量是不可再分的数据项,则关系模式R属于第一范式。记为R∈1NF。
        例如,供应者和它所提供的零件信息,关系模式FIRST和函数依赖集F如下:
        FIRST(Sno,Sname,Status,City,Pno,Qty)
        F={Sno→Sname,Sno→Status,Status→City,(Sno,Pno)→Qty}
        对具体的关系FIRST如下表所示。从下表中可以看出,每一个分量都是不可再分的数据项,所以是1NF的。但是,1NF存在4个问题:
        
        FIRST
        (1)冗余度大。例如每个供应者的Sno、Sname、Status、City要与其供应的零件的种类一样多。
        (2)引起修改操作的不一致性。例如供应者S1从“天津”搬到“上海”,若不注意,会使一些数据被修改,另一些数据未被修改,导致数据修改的不一致性。
        (3)插入异常。关系模式FRIST的主码为Sno、Pno,按照关系模式实体完整性规定主码不能取空值或部分取空值。这样,当某个供应者的某些信息未提供时(如Pno),则不能进行插入操作,这就是所谓的插入异常。
        (4)删除异常。若供应商S4的P2零件销售完了,并且以后不再销售P2零件,那么应删除该元组。这样,在基本关系FIRST找不到S4,可S4又是客观存在的。
        正因为上述4个原因,所以要对模式进行分解,并引入了2NF。
 
       复杂类型
        嵌套关系只是对基本关系模型扩展的一个实例,其他非原子数据类型,如嵌套记录,同样已被证明是有用的。面向对象数据模型已经导致了对于如对象的继承、引用等特征的需求。有了复杂对象系统和面向对象,我们能够直接表达E-R模型的一些概念,如实体标识、多值属性、一般化和特殊化,而不再需要经过关系模型的复杂转化。
        通过对SQL的扩展,我们可以使用复杂类型。下面关于复杂类型的一些简单概念加以介绍。
        下面是对一个books表的定义:
        
        这个表中的keyword属性比较特殊,因为它允许属性是集合。
        集合是集合体类型的一个实例,其他的集合体类型包括数组和多重集合。因此不同于普通关系数据库中表的定义,允许属性是集合,从而E-R图中的多值属性能够直接表述。
        现在许多的数据库应用需要存储的属性很大,如一个人的照片,或者更大的,如高分辨率的医学图像或者录像剪辑。在SQL:1999中提供了新字符型数据大对象数据类型和二进制数据大对象数据类型。大对象一般用于外部的应用,通过SQL对它们进行全体检索是毫无意义的。取而代之,应用程序一般只检索大对象的定位器,然后用定位器从宿主语言中操作该对象。
        下面说明结构类型的声明和使用:
        
        第一个语句定义了一个类型MyString,它是一个变长的字符串。第二个语句定义了一个类型MyDate,它有三个组成部分:date、month和year。第三个语句定义了一个类型Document,它包含一个name、一个作者的集合author-list、一个类型为MyDate的日期以及一个关键词集合。最后创建表doc,它包含了类型为Document的元组。上述表的定义与普通关系数据库中的表定义是有区别的,因为前者允许属性为集合或者如MyDate那样的属性具有结构类型,这些特征使得E-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)用户定义的完整性
               用户定义的完整性就是针对某一具体关系数据库的约束条件。例如属性的取值范围、属性间必须满足一定的函数关系等。
 
       数据库
        数据库(DataBase,DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
        系统使用的所有数据存储在一个或几个数据库中。
   题号导航      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 /
 
第62题    在手机中做本题