第3章 我的关系数据模型及其运算基础
- 格式:ppt
- 大小:1.06 MB
- 文档页数:35
第3章关系数据模型习题解答一. 简答题1.试述关系模型的完整性规则。
在引用(参照)完整性中,为什么外键码属性的值也可以为空?什么情况下才可以为空?关系模型的完整性规则包括:实体完整性、引用(参照)完整性和用户定义的完整性。
实体完整性和引用完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。
在引用(参照)完整性中,规定A关系的外键码或者取空值或者等于B关系中某个元组的主键码值。
至于在什么情况下可以取空值,这要具体问题具体分析才能解决。
2.关系模型与其他数据模型相比有哪些突出的优点?有哪些不足之处?(1)关系模型的优点:●关系模型对各种用户提供统一的单一的数据结构形式,即关系(二维表);●数据库的操作都可归结为关系的运算,而关系是建立在集合代数基础上的;●具有高度的数据独立性,用户的应用程序完全不必关心物理存储细节;●数据库管理人员的工作得到了简化,易于对数据库重组和控制。
(2)关系模型的缺点:●相当多的关系数据库系统在多表查询时效率往往低于网状系统;●统一的表格形式结构无法有效地区分现实世界事物之间的各种不同类型的XXX关系。
3. 叙述关系模型的实体完整性和参照完整性的含义,并各举一例说明之。
(l)实体完整性:在任何关系的任何一个元组中,主键码值的任一分量都不允许为空值。
例如,在邮政部门传递信件时,通信XXX和姓名是作为主键码属性的,如果这两项中任一项为空值,即任一项为未知的值,那么信件将无法投寄到目的地,因为它不能标识出一个准确的实体。
(2)引用完整性:若某个属性或属性组不是A表的主键码,但它是另一张B表的主键码,则该属性或属性组称为 A表的外键码。
在关系模型中,外键码或者取空值或者等于B中某个元组的主键码值。
例如,在学生(学号,姓名,系号)和系(系号,系名,系主任)中,学生表的主键码为学号,系表的主键码为系号,因而系号是学生表的外键码。
根据参照完整性,学生表中的系号(外键码)的取值有两种可能:取空值,表明该学生尚未分配到任何系;若取非空值,则它必须是系表中某个元组中的系号值,因为该学生不能属于一个不存在的系。
第3章关系模型及关系代数关系数据库以关系模型为基础,是目前各类数据库中最重要、最流行的数据库,它应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。
1970年,IBM公司研究员E.F.Codd博士发表题为“大型共享数据库的关系模型”论文,文中首次提出关系模型,而后又发表了多篇文章提出关系代数和关系演算的概念,并于1972年提出第一范式、第二范式等关系模型的规范化理论,进一步对关系模型的概念进行完善。
【学习目标】●关系模型的三类完整性约束:实体完整性、参照完整性和用户自定义完整性●三种关系数据语言:关系代数、关系演算、基于映像的语义SQL●关系的运算:传统的集合运算和专门的关系运算●关系代数表达式3.1关系模型三要素关系模型相比非关系模型最大的优点就是其数据结构单一,实体集和实体集间联系的数据均用关系表示,数据操作方法统一,易于用户掌握和理解。
关系操作采用集合操作,即操作对象和结果都是集合。
关系模型中常用的关系操作包括:并、交、差、广义笛卡尔积、选择、投影、连接、除等查询操作和添加、删除、修改等更新操作两个部分,查询的表达能力是其最主要的部分。
关系模型提供了丰富的完整性控制机制,允许定义三类完整性约束:实体完整性、参照完整性和用户自定义完整性。
3.1.1关系数据结构1.关系的相关名词(1)关系(2)元组(3)属性(4)候选码和主码(5)主属性和非主属性2.关系的数学定义(1)域(Domain)(2)笛卡尔积(3)关系3.关系的限定关系数据库中关系要满足的基本特性如下:(1)关系中每个分量必须取原子值(2)关系中同一列的数据应具有相同的数据类型(3)关系中不能有相同的属性名(4)关系中不能有两个完全相同的元组(5)关系中的元组和列的位置具有顺序无关性4.关系模式和关系关系的结构用关系模式表示,是相对稳定,一个关系数据库的结构一旦定义好就不能随便修改;关系的数据是动态的,反映了关系在某一时刻的状态,随着数据库使用过程中对数据的更新操作,关系中的数据会实时发生变化。
关系数据模型的基本概念1. 关系(Relation)关系是关系数据模型的基本概念,它是一个二维表,由行和列组成。
每一列代表一个属性,每一行代表一条记录。
关系可以用来描述现实世界中的一个实体集合,如学生、图书等。
重要性:关系是关系数据库的核心,它提供了一种结构化的方式来存储和组织数据。
关系模型的简洁性和灵活性使得它成为现代数据库系统的基石。
应用:关系数据库是目前最广泛使用的数据库类型,被广泛应用于组织、管理和查询各种类型的数据,例如企业管理系统、电子商务平台、社交网络等。
2. 属性(Attribute)属性是关系中的列,用来描述一个实体的某个特征。
每个属性都有一个名字和一个预定义的数据类型,如整数、字符串等。
属性的取值来自于一个预定义的域(Domain),表示该属性可以取的值的集合。
重要性:属性是关系模型中承载数据的基本单元,用于描述实体的各个特征。
属性的预定义数据类型和取值域可以保证数据的一致性和完整性。
应用:属性用于描述数据的各个特征,如在学生关系中,属性可以包括学号、姓名、年龄、性别等。
3. 元组(Tuple)元组是关系中的行,代表关系中的一条记录。
一个元组包含了关系中所有属性的值,其中每个属性的值与该属性在元组所在的列对应。
重要性:元组是关系数据模型中的一条记录,包含了实体的所有属性信息。
通过元组,可以表示和组织各类实体,如学生、图书、订单等。
应用:元组常用于表示和操作关系数据库中的具体数据,如查询、新增、删除、更新等操作。
4. 候选码(Candidate Key)候选码是能唯一标识元组的一个或多个属性组合。
候选码的属性组合必须满足唯一性和最小性原则,即任意两个元组不具有相同的候选码值,同时候选码属性组合中的任何一个属性都不能被去除而保持唯一性。
重要性:候选码用于标识关系中的元组,它能够确保每个元组的唯一性。
候选码也是关系数据库设计的基础,通过选择合适的候选码可以提高查询效率和数据完整性。
数据库原理及应⽤第3章课后习题答案习题31.试述关系模型的3个组成部分。
1)数据结构关系模型的数据结构⾮常简单,只包括单⼀的数据结构——关系。
从⽤户⾓度,关系模型中数据的逻辑结构是⼀张扁平的⼆维表。
2)数据操作关系操作采⽤集合操作⽅式,即操作的对象和结果都是集合。
这种⽅式称为⼀次⼀集合的⽅式。
⽽⾮关系数据结构的数据操作⽅式为⼀次⼀记录⽅式。
关系模型中常⽤的关系操作包括查询操作和插⼊、删除、修改操作两⼤部分。
3)完整性约束关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和⽤户定义完整性。
2.定义并理解下列术语,说明它们之间的联系与区别:1)域、笛卡尔积、关系、元组、属性①域(Domain)域是⼀组具有相同数据类型的值的集合。
②笛卡尔积(Cartesian Product)定义 3.2 给定⼀组域D1,D2,…,D n,这些域中可以有相同的域。
D1,D2,…,D n 的笛卡尔积为:D1×D2×…×D n={(d1,d2,…,d n)|d i D i,i=1,2,…,n}③关系D1×D2×…×D n的⼦集叫作在域D1,D2,…,D n上的关系,表⽰为:R(D1,D2,…,D n),这⾥R是关系名。
④表的每⾏对应⼀个元组,也可称为记录(Record)。
⑤表的每列对应⼀个域,也可以称为字段(Filed )。
由于域可以相同,为了加以区分,必须为每列起⼀个名字,称为属性(Attribute)。
2)主码、候选码、外码①若关系中的某⼀属性或属性组的值能唯⼀地标识⼀个元组,则称该属性组为候选码或码(Key)。
其中属性组中不能含有多余的属性。
②若⼀个关系有多个候选码,则选定其中⼀个作为主码(Primary Key)。
每个关系有且仅有⼀个主码。
③如果⼀个属性或属性组不是所在关系的码,却是另⼀个关系的码,则称该属性或属性组为所在关系的外码。