免费智能真题库 > 历年试卷 > 程序员 > 2021年上半年 程序员 上午试卷 综合知识
  第58题      
  知识点:   关系数据库与关系运算
  关键词:   表达式   关系代数   元组        章/节:   数据库基础知识       

 
假设关系R和S分别如下图(a)和图(b)所示,那么关系代数表达式R∩S的结果集等于(58);RUS的结果集的属性列数和元组数分别为(59)。
 
 
  A.  {(a,b,c),(c,d,e)}
 
  B.  {(b,a,d),(d,f,g)}
 
  C.    {(a,b,c,(b,a,d),(c,d,e)}
 
  D.    {(a,b,c,(c,d,e),(d,f,g)}
 
 
 

 
  第58题    2015年上半年  
   23%
某医院有科室关系D (科室号,科室名,负责人,联系电话),其中:“科室号”唯一标识关系D中的每一个元组。住院部设有病人关系R (..
  第57题    2010年上半年  
   71%
设有商品关系P (商品名,条形码,供应商号,价格,数量),“条形码”唯一标识关系P中的每一个元组,商品名不能为空,供应商号是关..
  第59题    2010年下半年  
   47%
某公司数据库的两个关系为:部门(部门号,部门名,负责人,电话)和员工(员工号,姓名,住址)。假设每个部门有若干名员工,一名..
   知识点讲解    
   · 关系数据库与关系运算
 
       关系数据库与关系运算
               关系数据库的基本概念
                      属性和域
                      在关系数据模型中,用二维表格结构表示实体类型,用关键码(关键字)表示实体类型和实体间的联系。字段称为属性,字段值称为属性值,记录类型称为关系模型,记录称为元组,元组的集合称为关系或实例。
                      一个事物需要用若干特征来表示,这些特征称为属性。每个属性的取值范围称为该属性的域(domain)。在关系模型中,所有的域都必须是原子数据,这种限制称为第一范式条件。
                      笛卡儿积与关系
                      设关系RS的元数分别为rs。定义RS的笛卡儿积是一个(r+s)元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为R×S。若Rm个元组,Sn个元组,则R×S有(m×n)个元组。
                      关系的相关名词
                      .目或度:这里R表示关系的名字,n表示关系的目或度。
                      .候选码:若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。
                      .主码:用户选作元组标识的一个候选码称为主码。
                      .外码:某个关系的主码相应的属性在另一关系中出现,此时该主码就是另一关系的外码。
                      .全码:关系模型的所有属性组是这个关系模式的候选码,称为全码。
                      关系的性质
                      .分量必须取原子值,每一个分量必须是不可再分的数据项。
                      .列是同质的,每一列中的分量必须是同一类型的数据,来自同一个域。
                      .属性不能重名,每列为一个属性,不同的列可来自同一个域。
                      .行列的顺序无关。因为关系是一个集合,所以不考虑元组间的顺序。属性在理论上讲也是无序的,但使用时,往往会考虑顺序。
                      .任何两个元组不能完全相同,这是由主码约束来保证的。有些数据库若用户没有定义完整性约束条件,则允许有多个相同的元组。
                      关系的3种类型
                      .基本关系(通常又称为基本表或基表):是实际存在的表,它是实际存储数据的逻辑表示。
                      .查询表:查询结果对应的表。
                      .视图表:是由基本表或其他视图表导出的表。由于它本身不独立存储在数据库中,数据库中只存放它的定义,所以常称为虚表。
               关系数据库模式
               在数据库中要区分型和值,关系数据库中的型也称为关系数据库模式,是关系数据库结构的描述。实际上关系的概念对应于程序设计语言中变量的概念,而关系模式对应于程序设计语言中类型定义的概念。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常称为关系数据库。
               关系的描述称为关系模式,可以表示为:RU,D, dom, F)。其中R表示关系名;U是组成该关系的属性名的集合;D是属性的域;dom是属性向域的映射集合;F是属性间数据的依赖关系组合。
               通常将关系模式简记为RU)或RA1,A2, …,An)。其中R表示关系名,A1,A2, …,An为属性名或域名。通常在关系模式主属性下加下划线来表示该属性为主码属性。
               完整性约束
               为了维护数据库中数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必须有一定的约束条件,这就是关系模型的三类完整性:实体完整性、参照完整性和用户定义完整性。
                      实体完整性
                      实体完整性(Entity Integrity)是指主属性的值不能为空或部分为空。关系模型中的一个元组对应一个实体,一个关系则对应一个实体集。例如,一条学生记录对应着一个学生,学生关系对应着学生的集合。关系模型中以主属性来唯一标识元组。例如,学生关系中的属性"学号"可以唯一标识一个元组,也可以唯一标识学生实体。
                      参照完整性
                      参照完整性(Referential Integrity)是指如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1中主码的某一个值,或者取空值。
                      实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作关系的两个不变性。
                      用户定义完整性
                      用户定义完整性(User-defined Integrity)是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。
               关系代数运算
                      关系代数的分类及其运算符
                      关系代数是对关系进行集合代数的运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。关系代数的运算对象是关系,运算结果也是关系,关系代数用到的运算符主要包括以下4类。
                      .集合运算符:∪(并)、-(差)、∩(交)、×(广义笛卡儿积)。
                      .专门的关系运算符:σ(选择)、Π(投影)、∞(连接)、*(自然连接)、÷(除)。
                      .算术比较运算符:>(大于)、≥(大于等于)、<(小于)、≤(小于等于)、=(等于)、≠(不等于)。
                      .逻辑运算符:∧(与)、∨(或)、┒(非)。
                      关系代数的运算按运算符的不同主要分为以下两类。
                      .传统的集合运算:把关系看成元组的集合,以元组作为集合中的元素来进行运算,其运算是从关系的"水平"方向即行的角度进行的,包括并、差、交和笛卡儿积等运算。
                      .专门的关系运算:不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算,包括选取、投影、连接和除法等运算。
                      关系代数操作
                      并、差、笛卡儿积、投影和选择是5种基本运算,其他运算可由基本运算导出。
                      .并:设有两个关系RS,RS的并是由属于R或属于S的元数组成的集合,记为RS
                      .差:R-S定义为属于R但不属于S的所有元组的集合。
                      .笛卡儿积:设关系RS的元数分别为ab,RS的笛卡儿积是一个(a+b)元的元组集合,每个元组的前一个分量来自R的一个元组,后S个分量来自S的一个元组,记为R×S
                      .投影:对关系进行垂直分割,消去关系中的某些列,重新安排列次序,再删去重复的元组。由于某些列删除后,某些元组可能会变得完全相同,那些相同的元组经投影操作后只保留一个。所以,在关系代数中,对一个关系进行投影操作以后,新关系的元组个数小于或等于原来关系的元组个数。
                      .交:RS定义为属于关系R又属于关系S的元组的集合。
                      .选择:根据某些条件对关系作水平分割,选择符合条件的元组。
                      .连接:定义为从RS的笛卡儿积中,选择属性间满足一定条件的元组的集合。
                      .自然连接:在R×S中,选择RS公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然连接就转化为笛卡儿积。
                      如果关系R和关系S作自然连接时,将关系R中原舍弃的元组放到新关系中,这种操作称为"左外连接",用符号"]×|"表示,如R]×|S。如果关系R和关系S作自然连接时,将关系S中原舍弃的元组放到新关系中,那么这种操作称为"右外连接",用符号"|×["表示,如R|×[S。自然连接的操作符为∞,如RS
   题号导航      2021年上半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第58题    在手机中做本题