目录
本章内容较多且都很重要分2次总结,上午选择题和下午题都有涉及,是每年必考知识,且实际工作中这部分也是必须掌握的知识。
7. 关系数据库
7.1 本章考点
7.2 关系数据库概述
7.2.1 基础知识
1.关系:关系数据库中,实体以及实体间的联系用关系来表示。
2.关系模式:是对关系的描述。
3.关系模型:是由若干个关系模式组成的集合。
4.属性:描述事物的特征,比如学生的学号、姓名、性别等。
5.域:每个属性的取值范围所对应的一个值的集合,比如性别的域为{男,女}。
6.目或度:R表示关系的名字,n是关系的目或度。
7.元组:简单的来说就是一个表中的一行数据,比如学生表中学生A的数据信息。
8.候选码:若关系中的某一属性或属性组的值能唯一的标识一个元祖,则该属性或属性组为候选码,比如学生的学号、手机号、身份证号都是候选码。
9.主码:或称为主键,若一个关系有多个候选码,则选定其中一个为主码,比如学生表中学号作为主键。
10.主属性:包含在任何候选码中的诸属性成为主属性,不包含在任何候选码中的属性成为非主属性。
11.外码(简单来说就是表中的外键):如果关系模型R中的属性或属性组非该关系的码,但它是其他关系的码,那么该属性集对关系模式R而言是外码。例如客户与贷款之间的借贷关系c-l(cid,loadno),属性cid是客户关系中的码,所以cid是外码,属性loanno是贷款关系中的码,所以loadno也是外码。
12.全码:关系模型中的所有属性组是这个关系模式的候选码,称为全码。例如,关系模式R(T,C,S),属性T表示教师,C表示课程,S表示学生,假如一个教师可以教授多门课程,某门课程可以多个教师教授,学生可以听不提交时讲授不同的课程,那么相区分关系中的每一个元组,这个关系模式R的码应为全属性T,C和S,即All-key。
13.元组/记录:行数据,一行就是一个元组或者说一条记录
14.字段、数据项:列
15.元数:属性的个数(列数)
16.基数:记录的个数(行数)
17.n元关系:元数为几,就是几元关系。
7.2.2 关系数据库模式
关系的描述成为关系模式: R ( U , D , d o m , F ) R(U,D,dom,F) R(U,D,dom,F),R表示关系名,U是组成该关系的属性名集合,D是属性的域,dom是属性区域的映像集合,F为属性间数据的依赖关系集合,通常简记为 R ( U ) R(U) R(U)或 R ( A 1 , A 2 , … , A n ) R(A_1,A_2,…,A_n) R(A1,A2,…,An), A 1 , A 2 , … , A n A_1,A_2,…,A_n A1,A2,…,An为属性名。
例如:学生关系S有学号Sno、学生姓名Sname,系名SD,年龄SA属性,课程关系C有课程号Cno、课程名Cname、先行课称号PCno属性;学生选课关系SC有学号Sno、课程号Cno、成绩Grade属性,定义关系模式及主码:
- 学生关系模式S(Sno,Sname,SD,SA)
- 课程关系模式C(Cno,Cname,Pno),dom(PCno)=Cno
- 学生选课关系模式SC(Sno,Cno,Grade)
关系的三种模型:基本关系、查询表、视图表(虚表,数据库只存放其定义)。
关系的完整性约束:
- 实体完整性:基本关系R的主属性不能取空值。
- 参照完整性:比如企业部门关系模式和员工关系模式中Emp(员工号,姓名,性别,参加工作时间,部门号)和Dept(部门号,名称,电话,负责人),安装参照完整性原则Emp表中的部门号取值必须参照Dept表中的部门号的值,下划实线表示主码属性(主键),下划虚线(这里用绿色字体表示)表示外码属性(外键)。
- 用户定义完整性:针对某一具体的关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求,比如定义某一列值的取值范围。
7.2.3 关系代数运算
关系代数运算包括:集合运算符、专门的关系运算符、算数比较符合逻辑运算符。
1.并
关系R与S具有相同的关系模式,即R与S的元数相同(结构相同),R与S的并是属于R或者属于S的元组构成的集合,记作R∪S,定义如下:
R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R∪S=\{t|t∈R∨t∈S\} R∪S={
t∣t∈R∨t∈S}
2.差
关系R与S具有相同的关系模式,关系R与S的差是属于R但不属于S的元组构成的集合,记作R−S,定义如下:
R − S = { t ∣ t ∈ R ∨ t ∉ S } R−S=\{t|t∈R∨t∉S\} R−S={
t∣t∈R∨t∈/S}
3.广义笛卡尔积(Extended Cartesian Product)
两个无数分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。组的前n列是关系R的一个元组,后m列是关系S的一个元组,记作R×S,定义如下:
R × S = t ∣ t = < t n , t m > ∧ t n ∈ R ∧ t m ∈ S R×S={t|t=<t^n,t^m>∧t^n∈R∧t^m∈S} R×S=t∣t=<tn,tm>∧tn∈R∧tm∈S
< t n , t m > <t^n,t^m> <tn,tm>表示元素 t n t^n t