数据库之关系数据库
(1)关系模式(了解即可)
关系模式:对关系的描述
什么是关系?关系是一张表,一张二维表。
关系有那些需要描述?P41
1.关系中有哪些属性
2.这些属性来自那些域
3.属性与域之间的映射关系
可以形象的表示为:R(U,D,DOM,F)
R:关系名
U:所有属性名
D:属性来自那些域
DOM:属性和域的映射
F:属性间的依赖关系
关系数据库:关系数据库也有关系数据库模式
(2)关系操作
关系操作:插入,查询,删除,修改。
其中,查询操作分为:选择,投影,连接,除法,并,差,交,笛卡尔积。
查询操作的基本操作:选择,投影,并,差,笛卡尔积。
(3)关系语言的分类
分为关系代数语言(重点),关系演算语言,SQL语言(这个不必多说)
关系代数语言:
关系代数语言是一种抽象的查询语言,它用对关系的运算来表达查询。
三大要素:运算对象(关系),运算符(集合运算符和专门的关系运算符)和运算结果(关系)
关系代数运算:5种基本运算:并,差,交,笛卡尔积,除,选择,投影,连接
1.交(他俩的公共部分)
2.并(他俩的所有部分,不包含重复)
3.差(如A-B,去除A中B的部分)
4.笛卡尔积(假如A表中的数据为m行,B表中的数据有n行,那么A和B做笛卡尔积,结果为m*n行。)
如图,假设有表(a)和(b),则(c)为并集,(d)为交集,(e)为差,(f)为笛卡尔积,R表的第一行分别对应S表的第一行,第二行和第三行,R表的第二行对应S表的第一行,第二行和第三趟,R表的第三行同理。
- 选择(从表中选择符合条件的一行或多行记录)
例子:
上图2.4的操作语句意为从student表中的sdept列里选择值为cs的记录。
6.投影(使用一个类似于π的符号)
上图意为从sc表里选择列snp等于9500的列,但只显示cno这一列。
连接又可分为:自然连接,外连接,左外连接和右外连接。
(1)自然连接,把共同属性进行等值连接,把R和S中所有的属性名都放在一起,放的值满足共同属性的值都相等,如果值相等就连接起来拼接到后面。
悬浮元祖:两个关系R和S在做自然连接时,关系R中的某些元祖有可能在S中不存在公共属性上值相等的元组,从而造成R中这些远足在操作时被舍弃了,这些被舍弃的元组被称为悬浮元祖。(即没有被用过的元组,被废弃了)
(2)外连接
如果把悬浮元祖也保存在结果关系中,而其他属性上填空值,就叫做外连接。
(3)左外连接
只保留左边关系R中的悬浮元祖。
(4)右外连接
只保留右边关系S中的悬浮元祖。
7.除(保留R中满足S的,而且R中列要去掉S的列)
上图中只有张三和王五同时满足选修了数据库和网络这两门课。
(4)关系完整性
1.实体完整性,主码为1且非空。如学生实体的学号唯一且非空。
2.参照完整性,外码要么为空,要么对应另一表的主码。
3.用户定义完整性,你自己写的要完整,比如学号多少,姓名,班级,专业之类。如需要自己填写的信息都填写上。