数据库SQL---关系模型与关系代数
1、关系数据库:表的集合,即关系的集合。
关系数据库=关系数据库模式(型)+关系数据库内容(值)
1)域:一组具有相同数据类型的值的集合。
2)笛卡尔积:对集合进行穷举外变一次内变一边,是一张二维表,表中的一行对应于一个元组,表中的一列的值来自于同一个域。
给定一组域d1,d2,...,dn的笛卡尔积为d1×d2×...×dn={(d1,d2,...,dn)|di€di,i=1,2,...,n},其中集合中的每一个元素(d1,d2,...,dn)称为一个n元组,简称元组,元组中的每一个值di称为一个分量。
3)关系:笛卡尔积的子集,是一张二维表。
2、关系模式:简记为r(u)或r(d1,d2,...,dn),其中r是关系的名字,u是属性名(d1,d2,...,dn)的集合,n是关系的目(或度),当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系。
3、码
1)超码:属性集a可以唯一地标识关系r中的一个元组,则称属性a为关系r的超码。
2)全码:所有属性加在一起组成的候选码。
3)候选码:属性集a是关系r的超码,且属性集a的任意真子集都不能称为关系r的超码,则称属性集a为候选码。候选码是最小的超码,即最小属性组。
候选码的诸属性称为主属性,不能为空。不包含在任何候选码中的属性称为非码属性。
4)主码:若一个关系有多个候选码,则可选定其中一个候选码作为该关系的主码。
5)外码:f是关系r的一个属性,ks是关系s的主码,若f与ks相对应,则称f是关系r参照关系s的外码,简称f是关系r的外码,并称关系r为参照关系,关系s为被参照关系或目标关系。
4、关系完整性约束
关系模式中3类数据完整性约束:实体完整性、参照完整性、用户自定义完整性,其中前两种称为关系的两个不变性。
1)实体完整性:若属性集a是关系r的主码,则a不能取空值null,即主属性不能为空。
2)参照完整性:主键与外键的关系,外码的取值要么为空,要么为与之对应的主码的值。
3)用户自定义完整性:限制关系中某些属性的取值、限制关系中某些属性的取值之间需要满足一定的逻辑关系、限制关系中某属性集上的取值必须唯一。
5、关系模式中的关系操作:查询操作(最主要部分)、更新操作。
特点:集合操作方式,即操作的对象和结果都是集合。该操作方式也称为一次一集合方式,非关系数据模型的数据操作方式称为一次一记录方式。
6、传统的集合运算:将关系看作元组的集合,从关系的水平方向来进行的。
1)并υ:rυs,由属性r或属性s的所有元组组成,删去重复元组。
2)差−:r−s,由属性r的所有元素组成,从中删除与属性s相同的元组。
3)交∩:r∩s,由既属于r又属于s的所有元组组成,取相同的元组。
4)笛卡尔积×:r×s,关系r为n目元组的集合,关系s为m目元组的集合,结果为一个n+m目元组的集合,元组的前n列是关系r的一个元组,后m列是关系s的一个元组。
7、关系运算
1)选择σ:选出若干行。是一个逻辑表达式,取值为“真”或“假”。
2)投影π:选出若干列,并从删除重复列。
3)连接(θ连接):从两个关系的笛卡尔积中选取连接属性间满足谓词θ的所有元组。
(1)等值连接:θ为等值比较谓词的连接运算。
(2)自然连接:特殊的等值连接,要求两个参与连接的关系具有公共的属性集,并在该属性集上进行等值连接,并去除重复列。
(3)外连接:把不能连接的元组也保留到结果关系中,关系r中不能连接的元组在结果中对应于关系s的属性全部置空。
(4)左外连接:把左关系中不能连接的元组保留到结果关系中。
(5)右外连接:把右关系中不能连接的元组保留到结果关系中。
4)除运算÷:求投影。