第二章 关系代数

本章内容:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 
本章主要考点:概念、关系的完整性、■■关系代数
关系数据库,关系的完整性,关系代数(70页第6题会考一个类似的)

  1. 关系模型的组成

    关系模型由数据结构关系操作集合关系完整性约束三部分组成

  2. :域是一组具有相同数据类型的值的集合

  3. 笛卡尔积:是域上的一种集合运算

    笛卡尔积可表示一张二维表,表中都每行对应一个元组,表中的每一列的值来自一个属性。

  4. 候选码:若关系中的某一属性组的值能唯一的标识一个元组

  5. 主码:若一个关系中有多个候选码,则选定其中一个为主码

    候选码的诸称为主属性。不包含在任何候选码中的属性称为非主属性非码属性

  6. 全码:在最极端的情况下,关系模式中的所有属性是这个关系模式的候选码

  7. 全码:在最极端的情况下,关系模式中的所有属性是这个关系模式的候选码

  8. 关系的三种类型:基本关系(又称基本表、基表)、查询表、视图表

    基本表是实际存在的表,它是实际存储数据的逻辑表示

    查询表是查询结果对应的表

    视图表是基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

  9. 关系模式:关系的表述

    关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的,随时间不断变化的,因为关系操作在不断地更新这数据库中的数据。

  10. 关系模型基本操作:1.查询操作;2.插入、删除、修改操作

  11. 查询操作分为:选择投影、连接、除、、交、笛卡尔积(5种基本操作)

  12. 关系操作特点:集合操作方式,即操作的对象和结果都是集合,也称一次一集合的方式。非关系数据模型的数据操作方式则是一次一记录的方式。

  13. 关系数据语言分类:1.关系代数语言(ISBL);2.关系演算语言(元组关系演算语言APLHA、QUEL,域关系演算语言QBE)3.具有关系代数和关系演算双重特点的语言(SQL)

  14. SQL(Structured Query Language):结构化查询语言

    sql具有丰富的查询功能,而且具有数据定义和数据控制功能,是集数据查询、数据定义(CREATE、DROP、ALTER)、数据操纵(INSERT、UPDATE、DELETE)和数据控制(GRANT、REVOKE)功能于一体

  15. 关系完整性

    1.实体完整性2.参照完整性3.用户自定义完整性

  16. 实体完整性

    若属性(一个或一组属性)A是基本关系R的主属性,则A不能取空值,所谓空值就是“不知道”或“不存在”或“无意义”的值。

    主属性——所有候选码的属性,并不是主码不能为null

  17. 外码和主码

    设F是基本关系R的一个或一组属性,但不是关系R的码,Ks是基本关系S的主码,如果F域Ks相对应,则称F是R的外码,并称基本关系R为参展关系,级别关系S为被参照关系或目标关系。

  18. 参照完整性规则

    若属性(或属性组)F是基本关系R的外码,他与基本关系S的主码Ks相对应,(基本关系R和S不一定是不同的关系),则对于R中的每一个元组在F上的值必须:

    或着取空值(F中的每个属性值均为空值)

    或者等于S中的某个元组的主码值

    • 关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。对单属性构成的码有两种说明方法,一种是列级约束条件,另一种是第一位表级约束条件。对多属性构成的码只有一种说明方法,即定义为表级约束条件

  19. 用户定义的完整性:针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据 必须满足的语义要求

  20. 等值连接和自然连接的区别和联系:1.连接运算符是“=”的连接运算成为等值连接,他是从关系R和S的广义笛卡尔积中选取A、B属性值相等的那些元组;2.自然连接是一种特殊的等值连接,他要求两个关系中进行比较的分量必须是相同的属性组,并且结果中把重复的属性列去掉

  21. 关系代数

    第二章 关系代数_第1张图片

     

    (1)R∪S仍为n目关系,由属于R或属于S的元组组成

    第二章 关系代数_第2张图片

     

    (2)R - S 仍为n目关系,由属于R而不属于S的所有元组组成

    第二章 关系代数_第3张图片

     

    (3)R∩S仍为n目关系,由既属于R又属于S的元组组成

    第二章 关系代数_第4张图片

     

    (4)笛卡尔积:R×S 列:(n+m)列元组的集合,元组的前n列是关系R的一个元组,后m列是关系S的一个元组,行:k1×k2个元组

    第二章 关系代数_第5张图片

     

    (5)选择:

    选择运算符的含义:在关系R中选择满足给定条件的诸元组 σF(R) = {t|tÎR∧F(t)= '真'} F:选择条件,是一个逻辑表达式

    例如:查询信息系(IS系)全体学生σSdept='IS' (Student)

    (6)投影:

    投影运算符的含义:从R中选择出若干属性列组成新的关系

    πA(R) = { t[A] | tÎR } A是R中的属性列例如:查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影 πSname,Sdept(Student)

    (7)连接:

    连接运算的含义:从两个关系的笛卡尔积中选取属性间满足一定条件的元组

    正在上传…重新上传取消分为等值连接、一般连接、自然连接

    例如:关系R和关系S 如下所示:

    第二章 关系代数_第6张图片

    第二章 关系代数_第7张图片

     

    (8)除:

    给定关系R (X,Y) 和S (Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在 X 属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作: R÷S = {tr [X] | tr ÎR∧πY (S) Í Yx }例如:设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)

    第二章 关系代数_第8张图片

     

    例:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:

       S( SNO,SNAME,STATUS,CITY);

       P(PNO,PNAME,COLOR,WEIGHT);

       J(JNO,JNAME,CITY);

       SPJ(SNO,PNO,JNO,QTY);

    供应商表S由供应商号码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。

      试用关系代数完成如下查询:

      (1) 求供应工程J1零件的供应商号码SNO;

      (2) 求供应工程J1零件P1的供应商号码SNO;

      (3) 求供应工程J1零件为红色的供应商号码SNO;

      (4) 求没有使用天津供应商生产的红色零件的工程号JNO;

    (5) 求至少用了供应商S1所供应的全部零件的工程号JNO。

    解:

    (1)求供应工程J1零件的供应商号码SNO:

    πSno(σJno=‘J1’(SPJ))

    (2)求供应工程J1零件P1的供应商号码SNO:

    πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))

    (3)求供应工程J1零件为红色的供应商号码SNO:

    πSno(σJno=‘J1‘(σCOLOR=’红‘(P)wv SPJ))或

    πSno(σJno=‘J1‘(SPJ)wv(σCOLOR=’红‘(P))

    (4)求没有使用天津供应商生产的红色零件的工程号JNO:

    πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(Swv SPJwv P))或

    πJno(SPJ)- πJNO(σcity=‘天津’(S)wv SPJ wv σColor=‘红‘(P))

    (5)求至少用了供应商S1所供应的全部零件的工程号JNO:

    πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘(SPJ))

你可能感兴趣的:(数据库,数据库)