理解以下数据库术语
1.关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。关系模型是由若干个关系模式组成的集合。
2.关系模式:关系模式实际上就是记录类型。它包括:模式名,属性名,值域名以及模式的主键。关系模式仅是对数据特性的描述。
3.关系实例:就是一个关系,即一张二维表格。
4.属性:在关系模型中,字段称为属性。
5.域:在关系中,每一个属性都有一个取值范围,称为属性的值域。
6.元组:在关系中,记录称为元组。
7.候选码:在关系中能唯一标识元组的属性集称为关系模式的候选码。
8.主码:用户选作元组标识的一个候选码为主码。
9.外码:某个关系的主码相应的属性在另一关系中出现,此时该主码在就是另一关系的外码,如有两个关系S和SC,其中S#是关系S的主码,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外码。
10.实体完整性规则:这条规则要求关系中元组在组成主码的属性上不能有空值。如果出现空值,那么主码值就起不了唯一标识元组的作用。
11.参照完整性规则:这条规则要求“不引用不存在的实体”。其形式定义如下:如果属性集K是关系模式R1的主码,K也是关系模式R2的外码,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主码值。
这条规则在使用时有三点应注意:
1)外码和相应的主码可以不同名,只要定义在相同值域上即可。
2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。
3)外码值是否允许空应视具体问题而定。
12.过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如Pascal和C语言等。
13.非过程性语言:编程时只须指出需要什么信息,不必组出具体的操作步骤的语言,各种关系查询语言均属于非过程性语言。
二、问答题
1. 为什么关系中的元组没有先后顺序?
2. 为什么关系中不允许有重复元组?
3.关系与普通的表格、文件有什么区别?
4.笛卡尔积、等值联接、自然联接三者之间有什么区别?
1.答:因为关系是一个集合,因此不考虑元组间的顺序,即没有行序。
2.答:如果关系中有重复元组,那么就无法用键来标识唯一的元组。因此在关系模型中对关系作了限制。
3.答:总而言之,关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:
1)关系中每一个属性值都是不可分解的。
2)关系中不允许出现相同的元组(没有重复元组)。
3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。
4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。
4.答:笛卡尔积对两个关系R和S进行操作,产生的关系中元组个数为两个关系中元组个数之积。等值联接则是在笛卡尔积的结果上再进行选择操作,挑选关系第i个分量与第(r+j)个分量值相等的元组;自然连接则是在等值联接(以公共属性值相等为条件)的基础上再行投影操作,去掉S中的公共属性列,当两个关系没有公共属性时,自然连接就转化成笛卡尔积。