数据库学习日记【2】

第二章 关系数据库

1.基本概念
  • 域:一组具有相同数据类型的值(简单来说,就是属性的取值范围,比如性别的域就是{男,女}
  • 笛卡尔积:域上的集合运算

-比如 D={张三,李四} E={高一,大二} 那么D和E的笛卡尔积就是
{(张三,高一)
(张三,大二)
(李四,高一)
(李四,大二)}

  • 关系:直观来看,一个二维表就是一个关系
  • 候选码:某一属性组的值能唯一地标识一个元组,而子集不能,则称该属性组为候选码。

比如,一个三十个人的班级中每个同学都有序号,从1-30。那么班级和序号这个属性组,就可以唯一对应一个同学,如果只知道班级,不知道序号,只知道序号,不知道班级,都无法精准找到这个同学。*

如果一个关系中有多个候选码,则选其中一个为主码。候选码的所有属性,叫为主属性,在极端情况下,关系模式的所有属性都是候选码,称为全码

  • 规范化:关系的每一个分量都必须是不可分的。
2. 关系操作
  • 基本的关系操作
    • 查询:选择,投影,并,差,笛卡尔积是5种基本操作。
    • 修改,插入,删除,修改
  • 关系数据语言的分类
    • 关系代数(例如ISBL)
    • 关系演算语言:元组关系演算语言(例如ALPHA),域关系演算语言(例如QBE)
    • 具有关系代数和关系演算的双重特点的语言(例如SQL)
      关系操作的对象和结果都是集合
3.关系完整性
  • 实体完整性:若属性A是关系R的主属性,则A不能取空值。所谓空值,就是不知道,不存在,无意义。

比如学号是学生关系中的主属性,如果学号为空,那就违反了实体完整性

  • 参照完整性:设R关系中的主属性A被G关系参照,那么在G中A属性的取值要么是空值,要么是等于R中某个元组的A取值。

比如在一个学校的管理系统里面,有一个学生关系,有学生的专业名称这个属性。有一个专业关系,有专业名称这个主属性。学生关系就参照了专业关系,此时学生关系是参照关系,专业关系是被参照关系。
学生关系中的专业名称要么为空(表示这个学生还没有分专业),要么就是专业关系中的某一个专业名称。如果学生关系中的专业名称是一个专业关系中不存在的值,比如这个学校的专业里面没有中文系,但是居然有一个学生的专业名称那一栏填的是中文系,那就违反了参照完整性。

  • 用户定义完整性:在用户定义一个关系时,会对一些属性做出要求,比如学生关系中,用户规定性别必须是男或者女,那如果学生关系中出现了有学生性别既不是男也不是女,那就是违反了用户定义完整性。
4.关系代数
  1. 传统的集合运算
  • 并(和数学中的集合操作一样)
  • 差(和数学中的集合操作一样)
  • 交(和数学中的集合操作一样)
  • 笛卡尔积(这个上面讲过了)
  1. 专门的关系运算
  • 选择σ:在关系R中选择满足给定条件的诸元组。σname=‘zhang’ (学生)就是在学生关系中选择name是zhang的学生的信息。
  • 投影:关系R上的投影是从R中选择出若干属性列组成新的关系。
    Πname(学生)就是把学生关系中的name属性提取出来。
    选择是对的查询,投影是对的查询。
  • 连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组。
    等值连接:它是从两个关系中选取A,B属性值相等的那些元组。
    自然连接是一种特殊的等值连接
    还有左外连接和右外连接。
  • 除运算:设关系R除以关系S的结果为关系T,则T包含了所有在R但不在S中的属性及其值,且T的元组与S的所有元组的所有组合都在R中。

A – B-- C ------------- B --C – D
a1 b1 c1 ---------------b1 c2 d1
a2 b3 c2 -------------- b2 c1 d1
a3 b4 c6 ---------------b2 c3 d2
a1 b2 c3

a2 b2 c3
a1 b2 c1
左边的是关系R,右边的是关系S。R中a1的象集是{(b1,c1),(b2,c3),(b2,c1)},a2的象集为{(b3,c2),(b2,c3},a3的象集是{(b4,c6)}。S中B,C的投影为{(b1,c1),(b2,c3),(b2,c1)}。
因此R÷S的结果是
A
a1

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值