数据库概论学习笔记——第二单元

第二章 关系数据库

2.1  关系数据结构及形式化定义

关系

1. 域(Domain)

    域是一组具有相同数据类型的值的集合。

2. 笛卡尔积(Cartesian Product)

    所有域的所有取值的一个组合

    元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组。如:(张清玫,计算机专业,李勇)、     (张清玫,计算机专业,刘晨)  等 都是元组。

    分量:笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量。如:张清玫、计算机专业、李勇、刘晨等都是分量 。

例子:

给出3个域:

D1=导师集合SUPERVISOR={张清玫,刘逸}

D2=专业集合SPECIALITY={计算机专业,信息专业}

D3=研究生集合POSTGRADUATE={李勇,刘晨,王敏}

D1,D2,D3的笛卡尔积为

D1×D2×D3={ (张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇), (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }

基数为2×2×3=12

3. 关系(Relation)

    D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的 关系,表示为R(D1,D2,…,Dn)

    码:

        候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。

        全码(All-key):关系模式的所有属性组是这个关系模式的候选码,称为全码。

        主码(Primary key): 若一个关系有多个候选码,则选定其中一个为主码。

        主属性(Prime attribute):候选码的诸属性称为主属性不包含在任何侯选码中的属性称为非主属性或非码属性。

关系模式

关系模式

    对关系的描述 静态的、稳定的。

2.2  关系操作

常用的关系操作

    查询操作:选择、投影、连接、除、并、差、交、笛卡尔积

        选择、投影、并、差、笛卡尔基是5种基本操作

    数据更新:插入、删除、修改

关系操作的特点

     集合操作方式:操作的对象和结果都是集合,一次一集合的方式

2.3  关系的完整性

实体完整性

若属性A是基本关系R的主属性,则属性A不能取空值

    例:

    选修(学号,课程号,成绩)

    “学号、课程号”为主码

    “学号”和“课程号”两个属性都不能取空值

参照完整性

1. 外码

2. 参照完整性规则

1. 外码

     学生(学号,姓名,性别,专业号,年龄)

    课程(课程号,课程名,学分)

    选修(学号,课程号,成绩)

    选修中的学号是外码,课程号是外码,学号+课程号是主码。

    外码简单的说:在一个关系中不是主码,而在另一个关系中是主码。

2. 参照完整性规则

    选修(学号,课程号,成绩)

    “学号”和“课程号”可能的取值 :

     (1)选修关系中的主属性,不能取空值

    (2)只能取相应被参照关系中已经存在的主码值

    简单的说:外码的取值非空,且只能取被参照关系中存在的值

用户定义的完整性

    简单的说:就是用户根据实际情况自己定义的取值规则。

2.4  关系代数

传统的集合运算

(1) 并(Union)

(2)差(Difference)

(3) 交(Intersection)

(4) 笛卡尔积(Cartesian Product)

专门的关系运算

1. 选择

2. 投影

3. 连接

4. 除运算


 

猜你喜欢

转载自blog.csdn.net/wpm_123/article/details/84286844