只言片语

:D 获取中...


数据库之关系数据库

(1)关系模式(了解即可)

关系模式:对关系的描述

什么是关系?关系是一张表,一张二维表。

关系有那些需要描述?P41

1.关系中有哪些属性

2.这些属性来自那些域

3.属性与域之间的映射关系

可以形象的表示为:R(U,D,DOM,F)

R:关系名

U:所有属性名

D:属性来自那些域

DOM:属性和域的映射

F:属性间的依赖关系

关系数据库:关系数据库也有关系数据库模式

(2)关系操作

关系操作:插入,查询,删除,修改。

其中,查询操作分为:选择,投影,连接,除法,并,差,交,笛卡尔积。

查询操作的基本操作:选择,投影,并,差,笛卡尔积。

(3)关系语言的分类

分为关系代数语言(重点),关系演算语言,SQL语言(这个不必多说)

关系代数语言:

关系代数语言是一种抽象的查询语言,它用对关系的运算来表达查询。

三大要素:运算对象(关系),运算符(集合运算符和专门的关系运算符)和运算结果(关系)

Om8I3V.png

关系代数运算:5种基本运算:并,差,交,笛卡尔积,除,选择,投影,连接

1.交(他俩的公共部分)

OmJksU.png

2.并(他俩的所有部分,不包含重复)

OmJniR.png

3.差(如A-B,去除A中B的部分)

OmJ3LD.png

4.笛卡尔积(假如A表中的数据为m行,B表中的数据有n行,那么A和B做笛卡尔积,结果为m*n行。)

OmYp0e.png

如图,假设有表(a)和(b),则(c)为并集,(d)为交集,(e)为差,(f)为笛卡尔积,R表的第一行分别对应S表的第一行,第二行和第三行,R表的第二行对应S表的第一行,第二行和第三趟,R表的第三行同理。

  1. 选择(从表中选择符合条件的一行或多行记录)

OmtyPs.png

例子:

OmtOsK.png

Omtxde.png

上图2.4的操作语句意为从student表中的sdept列里选择值为cs的记录。

6.投影(使用一个类似于π的符号)

OmN6Te.png

上图意为从sc表里选择列snp等于9500的列,但只显示cno这一列。

连接又可分为:自然连接,外连接,左外连接和右外连接。

(1)自然连接,把共同属性进行等值连接,把R和S中所有的属性名都放在一起,放的值满足共同属性的值都相等,如果值相等就连接起来拼接到后面。

OmDuHP.png

悬浮元祖:两个关系R和S在做自然连接时,关系R中的某些元祖有可能在S中不存在公共属性上值相等的元组,从而造成R中这些远足在操作时被舍弃了,这些被舍弃的元组被称为悬浮元祖。(即没有被用过的元组,被废弃了)

(2)外连接

如果把悬浮元祖也保存在结果关系中,而其他属性上填空值,就叫做外连接。

(3)左外连接

只保留左边关系R中的悬浮元祖。

(4)右外连接

只保留右边关系S中的悬浮元祖。

7.除(保留R中满足S的,而且R中列要去掉S的列)

OmsJwq.png

上图中只有张三和王五同时满足选修了数据库和网络这两门课。

Oms5Xd.png

(4)关系完整性

1.实体完整性,主码为1且非空。如学生实体的学号唯一且非空。

2.参照完整性,外码要么为空,要么对应另一表的主码。

3.用户定义完整性,你自己写的要完整,比如学号多少,姓名,班级,专业之类。如需要自己填写的信息都填写上。

内容挺多且都比较重要。