- 本文参照:数据库系统概念 | 第一章 && 第二章:引言 && 关系模型
- 仅供零基础考试前预习使用
- 本系列文章中部分图片不知来源于何方~侵删
- 本人对系列文章内容不具备任何解释权~考完即忘,如有疑问请勿评论
关系模型利用表的集合来表示数据和数据间的联系
? 关系数据模型(relational data model)建立在表的集合的基础上。数据库系统的用户可以对这些表进行査询,可以插入新元组、删除元组以及更新(修改)元组。表达这些操作的语言有几种.
关系数据库由表(table)的集合构成,每个表有唯一的名字。
在关系模型的术语中,关系(relation)用来指代表;而元组(tuple) 用来指代行;类似地,属性(attribute) 指代的是表中的列。
示例如图2-1
我们用关系实例(relation instance)这个术语来表示一个关系的特定实例.也就是所包含的一组特定的行。
对于关系的每个属性,都存在一个允许取值的集合,称为该属性的域(domain) 。
我们要求对所有关系r而言,r的所有属性的域都是原子的。如果域中元素被看作是不可再分的单元,则域是原子的(atomic )。通俗来说,原子性即最小可分。
空(null)值是一个特殊的值,表示值未知或不存在。
? 关系的模式(schema)是指它的逻辑设计,而关系的实例(instance)是指它在特定时刻的内容。数据库的模式和实例的定义是类似的。关系的模式包括它的属性,还可能包括属性类型和关系上的约束, 比如主码和外码约束。
能够唯一确定一个元组的最小属性集
一个关系模式可能在它的属性中包括另一个关系模式的主码。这个属性在r1上称作参照r2的外码(foreign key) 。关系r1也称为外码依赖的参照关系(referencing relation) , r2叫做外码的被参照关系( referenced relation ) 。
从section到teaches的约束是参照完整性约束(referential integrity constraint)的一个例子。参照完整性约束要求在参照关系中任意元组在特定属性上的取值必然等于被参照关系中某个元组在特定属性上的取值。
引用完整性约束: 在引用关系中任意元组在指定属性上的取值必然等于被引用关系中至少一个元组的指定属性上的取值
? 模式图(schema diagram)是数据库中模式的图形化表示,它显示了数据库中的关系,关系的属性、主码和外码。
一个含有主码和外码依赖的数据库模式可以用模式图(schema diagram)来表示。
如图展示了我们大学组织的模式图。每一个关系用一个矩形来表示,关系的名字显示在矩形上方,矩形内列出各属性。 主码属性用下划线标注。外码依赖用从参照关系的外码属性到被参照关系的主码属性之间的箭头来表示。
主码选取要慎重,且习惯上把一个关系模式的主码属性列在其他属性前面,主码属性还加上了下划线。
用户用来从数据库中请求获取信息的语言
关系数据模型(relational data model)建立在表的集合的基础上。数据库系统的用户可以对这些表进行査询,可以插入新元组、删除元组以及更新(修改)元组。表达这些操作的语言有几种.
关系的模式(schema)是指它的逻辑设计,而关系的实例(instance)是指它在特定时刻的内容。数据库的模式和实例的定义是类似的。关系的模式包括它的属性,还可能包括属性类型和关系上的约束, 比如主码和外码约束。
关系的超码(superkey)是一个或多个属性的集合,这些属性上的取值保证可以唯一识别岀关系中的元组。候选码是一个最小的超码,也就是说,它是一组构成超码的属性集,但这组属性的任意子集都不是超码。关系的一个候选码被选作主码(primary key) 。
在参照关系中的外码(foreign key)是这样的一个属性集合:对于参照关系中的每个元组来说,它在外码属性上的取值肯定等于被参照关系中某个元组在主码上的取值。
模式图(schema diagram)是数据库中模式的图形化表示,它显示了数据库中的关系,关系的属性、主码和外码。
关系查询语言(relational query language)定义了一组运算集,这些运算可作用于表上,并输岀表作为结果。这些运算可以组合成表达式,表达所需的查询。
关系代数(relational algebra)提供了一组运算.它们以一个或多个关系为输入,返回一个关系作为输出。诸如SQL这样的实际查询语言是基于关系代数的?但增加了一些有用的句法特征。