关系数据库概述
相关术语
◎在现实世界中,描述一个事物常常要抽取其若干特征来表示,这些特征称为属性,如用学号、性别、班级等来描述学生。每个属性的取值范围对应一个值的集合,称为属性的域,如性别的域是{男,女}。
◎主属性:包含在任何候选码中的属性称为主属性。不包含在任何候选码中的属性称为非主属性。
◎外码:如果关系模式R中的属性或属性组不是R的码,但它是其他关系W的码,那么该属性(组)对R而言是外码。R是参照关系,W是被参照关系。
◎全码:关系模式中所有属性组合起来作为候选码,称为全码。
关系的性质
◎一个基本关系具有以下5条性质:
分量必须取原子值:
列是同质的;
属性名不能重名,每列为一个属性,不同的列可来自同一个域
行列顺序无关;
任何两元组不能完全相同。
完整性约束
◎实体完整性:规定基本关系R的主属性A不能为空。
◎参照完整性:若属性(组)F是基本关系R的外码,它与基本关系S中的K相对应(R与S可以是同一个关系),则对于R中每个元组在F上的值必须为:
或者取空值(F中每个属性值均空)
或者等于S中某个元组的主码值
例如,两关系:学生(学号,姓名,专业号)、专业(专业号,专业名)
学生专业号要么为空值,要么为专业专业号对应的某个值。
◎用户自定义完整性:由用户自己定义。比如规定工资额大于1000元。
集合运算
笛卡尔积
◎设关系R和S元数分别为r和s。R和S的笛卡儿积是一个r+s元的元组集合,每个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组,记为RXS.形成定义如下:
若R有m个元组,S有n个元组,则R X S有mX n个元组。
并
◎设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组组成的集合,记为RUS.形式定义如下:
R∪S ≡ {t|t∈R ∨ t∈S},
显然,R∪S=S∪R
交
◎关系R和S具有相同的关系模式,R和S的交是由既属于R又属于S的元组组成的集合,记为R ∩ S形式定义如下:
R ∩ S ≡ {t|t ∈ R ∧ t ∈ S }
显然,R ∩ S = R - (R-S), 或者 R ∩ S =S-(S-R) .
差
◎关系R和S具有相同的关系模式,R和S的差 是由属于R但不属于S的元组组成的集合,记为R-S.形式定义如下:
R-S ={ t|t ∈R ∧ t ∉ S}
专门的关系运算
投影
◎投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。
记为:
选择
选择操作在关系R中选择满足给定条件的所有元组,记为:
其中F表示选择条件,是一个逻辑表达式(逻辑运算符+算术表达式)。
选择运算是从行的角度进行的运算。
连接
◎θ连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组,记为:
其中A和B分别为R和S上度数相等且可比的属性组。θ为"="的连接,称为等值连接,记为:
如果两个关系中进行比较的分量必须是相同的属性组,并且在结果中把***重复的属性列去掉***,则称为自然连接,记为:
◎例题
在关系代数运算中,若对表1按_,可以得到表2。
表1
商品号 | 名称 | 单价:元 |
---|---|---|
010202010 | 牙刷 | 3 |
010202011 | 毛巾 | 10 |
010202012 | 毛巾 | 8 |
010202013 | 铅笔 | 0.5 |
010202014 | 钢笔 | 8 |
表2
名称 | 单价:元 |
---|---|
毛巾 | 10 |
A.商品号都进行选择运算
B.名称、单价进行投影运算
C.名称等于"毛巾”进行选择运算,再按名称、单价进行投影运算
D.商品号等于"01020211进行选择运算,再按名称、单价进行投影运算