![0c9bc89183c4a7c4b67f9f45dfa7c395.png](https://i-blog.csdnimg.cn/blog_migrate/41773c57123060280a360411a5f0dadb.jpeg)
大家好!今天我们来介绍关系数据库的相关笔记。
首先,还是一些概念与定义。
1.1域(值域):一组具有相同数据类型的值的集合。
域中所包含的值的个数称为域的基数(用m表示)
如
1.2
属性:列名
元组:行名
1.3关系
数学定义:笛卡尔积子集定义在的
域上的n元关系。用
表示。
- 逻辑定义:一个二维表。
注意:
- 关系的每一个属性必须关联一个域
- 在关系中,用域来表示属性的取值类项、范围和约束
1.4关系的性质
满足以下六个条件的二维表才能称为关系
- 关系中没有重复元组,任意一个元组在关系中都是唯一的(即没有两行是一样的)
- 元组是非排序的(即元组的次序可以任意交换)
- 属性是非排序的(因为关系又被定义为属性的集合,而集合元素不存在排序问题。)
- 属性必须有唯一的属性名,不同的属性可来自同一个域
- 同一属性名下的值是同类型数据,且必须来自同一个域
- 所有的属性值都是原子的(即1.属性取值不能是多值的 2.属性不能是可拆分的组合属性)
2.1码(键):设关系有属性
,其属性集
唯一性:在任一给定时间,关系,当且仅当满足下列条件时,K被称为码。
的任意两个不同元组,其属性集
最小性:组成码的属性集(的值是不同的;
)中,任意一个属性都不能从属性集
中删除,否则将破坏唯一性。
2.2候选码和主码
候选码:在某些关系中存在码特性的属性或属性组有多个,这些属性组都称为该关系的候选码。
但我们必须要从每个关系中选择一个候选码作为主码,每个关系中都比有且只有一个主码。
如 在”学生“(学号,姓名,性别,身份证号,年龄)关系中,学号和身份证都具有码的特征,但为了反应学生这一特征,我们选择学号作为主码,则身份证号为候选码。
2.3外码设是基本关系
的一个或一组属性,但不是关系
的码。如果
与基本关系
的主码
相对应 ,则称
是基本关系
的外码。
即在A表中不是主码但在存在对应关系(来自同一个域)的另一张表B中是主码
如 在”选课“关系中学号和课程号都是外码(学号+课程号才是主码),它们只是主码的一个组成部分。
2.4关系模型的完整性
- 实体完整性规则:若属性(一个或一组属性)
是基本关系
的
不能取
- 参照完整性规则:即外码要么为null;要么在其是主码的那张表中有对应值。
参照完整性规则将在关系运算中再次体现。
- 用户定义完整性
2.5关系模式:对关系的描述。可表示为
2.6关系数据库
- 定义一:逻辑上相关联的数据集合
- 定义二:一组随时间变化的,具有各种度的规范化关系的集合
如 Beers(name,manufacture)
Bars(name,addr)
二者构成的集合才叫关系数据库。
第二章最重要的部分关系代数请见下回分解~
本专栏所有文章未经授权,严禁转载。
![d8bba642089ccf5059f35fae3d24cf1b.png](https://i-blog.csdnimg.cn/blog_migrate/6b7c03371e4bd63ee1af607c4c012426.jpeg)