数据库原理:关系模型与关系代数学习笔记

关系模型:

关系型数据库:是支持关系数据模型的数据库系统;目前关系型数据库是主流的数据库管理系统。
关系模型:由关系数据结构、关系操作集合和关系完整性约束三部分组成。
关系数据结构:实际上她就是一张表(一种关系)。其中表头为关系的属性,一行数据则是一个实体(元组)。每一列为一个属性(域)。现实世界中的实体以及实体间的各种联系都是用关系来表示。关系模型是表示r(U):r为关系名,U为属性集合。例:Student(studentno、studentname、sex、birthday、speciality)
在这里插入图片描述

码的概念
超码:能唯一区别关系中每个元组的属性集合称为超码。
候选码:是如果超码的真子集不是超码则为候选码。
外码:简单说就是在一个表中的某个属性,可以是另一个表的主码着,该属性为外码。
主码:可以为候选码中的一个。
例如:(studentno,studentname)能唯一区分而每个元组,为超码。(studentno)也是超码,为(studentno,studentname)的子集因此(studentno,studentname)不是候选码,而(studentno)为候选码。
关系完整性约束
实体完整性:主码中每个元素都不能为空
参照完整性:外码要么为空,要么就是外码为主码表中主码中的值。
模式导航图
关系操作:增删查改。查:select、project、join等。
关系操作可以用两种方式表示:代数方式和逻辑方式

关系代数

关系代数:是通过关系代数运算构成的表达式来表达查询。
1、选择:选择操作是在关系r中查找满足给定谓词(即选择条件)的所有元组,记作:σP ® = { t∣tr∧P(t) } P表示谓词(即选择条件),它是一个逻辑表达式,取值为“真”或“假”。 例如:σgrade=2015(Class),表示在class表中选择grade=2015的元组。

2、投影:关系r上的投影是从r中选择出若干属性列组成新的关系。记作:∏A® = { t[A]∣tr } 例如:∏studentName, nation(Student),表示在Student表中选择studentName和nation属性

3、连接:θ连接运算就是从关系r和s的笛卡尔积r×s中,选取r关系在A属性集上的值与s关系在B属性集上的值满足连接谓词θ的所有元组,即r ⋈θ s = σθ(r*s)。

4、除运算:设关系r®和s(S),属性集S是R的子集,即SR,则关系r÷s是关系r中满足下列条件的元组在属性集R-S上的投影: trr,记 x= tr[R-S],则关系r中属性集R-S的取值x的象集Sx包含关系s。记作 r÷s = { tr[R-S]∣trr∧sSx },例如:
(∏studentNo, courseNo(Score))÷
(∏courseNo(σcourseName='基础会计’∨courseName=‘操作系统’(Course)))
表示查找既选修了“基础会计”又选修了“操作系统”课程的学生学号。

5、集合并:关系r和关系s拥有相同个数的属性和属性域相同。R∪S={t| t∈r或 t∈s}

6、集合差:关系r和关系s拥有相同个数的属性和属性域相同。R-S={t| t∈r或 t不属于s}

7、集合交:关系r和关系s拥有相同个数的属性和属性域相同。R∩S={t| t∈r和t∈s}

8、笛卡尔积:就是将两个集合进行笛卡尔积的运算。得出的结果集合为笛卡尔积

猜你喜欢

转载自blog.csdn.net/weixin_47063773/article/details/108694447