zoukankan      html  css  js  c++  java
  • 关系数据库关系模型、数据结构、完整性、关系代数

    1 关系数据结构及形式化定义

    1.1 关系

    单一的数据结构----关系

    现实世界的实体以及实体间的各种联系均用关系来表示


    域是一组具有相同数据类型的值的集合。
    笛卡尔积
    给定一组域D1, D2, …, Dn,这些域中可以有相同的。 
    笛卡尔积中每一个元素(d1, d2, …, dn)叫作一个n元组(n-tuple)或简称元组(Tuple) 
    笛卡尔积元素(d1, d2, …, dn)中的每一个值di叫作一个分量
    笛卡尔积的表示方法
    笛卡尔积可表示为一个二维表
    表中的每行对应一个元组,表中的每列对应一个域
    DD2×…×Dn的子集叫作在域D1, D2, …, Dn上的关系,表示为RD1, D2, …, DnR:关系名 n:关系的目或度(Degree)

    关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域 



    候选码(Candidate key)
    若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码
    简单的情况:候选码只包含一个属性
    全码(All-key)
    最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
    主码
    若一个关系有多个候选码,则选定其中一个为主码(Primary key)
    主属性
    候选码的诸属性称为主属性(Prime attribute)不包含在任何侯选码中的属性称为非主属性(Non-Prime attribute)或非码属性(Non-key attribute)
    三类关系

    基本关系(基本表或基表)
    查询表
    视图表

    1.2 关系模式

    关系模式(Relation Schema)是型
    关系是值
    关系模式是对关系的描述


    关系模式可以形式化地表示为:
    RUDDOMF
    R 关系名
    U 组成该关系的属性名集合
    D 属性组U中属性所来自的域
    DOM 属性向域的映象集合
    F 属性间的数据依赖关系集合

    关系模式通常可以简记为:
    R(U) R(A1A2An)
    R: 关系名
    A1, A2, …, An
    : 属性名

    关系模式与关系
    关系模式
    对关系的描述
    静态的、稳定的
    关系
    关系模式在某一时刻的状态或内容
    动态的、随时间不断变化的

    1.3 关系数据库
    在一个给定的应用领域中,所有关系的集合构成一个关系数据库 
    关系数据库语言的分类

    • 关系代数语言 用对关系的运算来表达查询要求 代表: ISBL
    • 关系演算语言:用谓词来表达查询要求 代表: ALPHA, QUEL
    • 域关系演算语言 谓词变元的基本对象是域变量 代表: QBE
    • 具有关系代数和关系演算双重特点的语言 代表: SQL 


    2 关系操作

    常用的关系操作
    查询:选择、投影、连接、除、并、交、差
    数据更新:插入、删除、修改
    查询的表达能力是其中最主要的部分
    选择、投影、并、差、笛卡尔基是5种基本操作
    关系操作的特点 :集合操作方式:操作的对象和结果都是集合,一次一集合的方式 

    3 关系的完整性

    关系的三类完整性约束

    实体完整性

    实体完整性规则(Entity Integrity)若属性A是基本关系R的主属性,则属性A不能取空值
    实体完整性规则的说明
    (1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。
    (2) 现实世界中的实体是可区分的,即它们具有某种唯一性标识。
    (3) 关系模型中以主码作为唯一性标识。
    (4) 主码中的属性即主属性不能取空值。
    主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性 

    参照完整性

    1. 关系间的引用

    在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 

    2. 外码

    设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码K相对应,则称F是基本关系R的外码 
    eg:

    选修关系的‚学号‛ 与学生关系的主码‚学号‛相对应
    选修关系的‚课程号‛与课程关系的主码‚课程号‛相对应
    学号和课程号是选修关系的外码
    学生关系和课程关系均为被参照关系
    选修关系为参照关系

    3. 参照完整性规则

    参照完整性规则

    若属性(或属性组) F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值 

    用户定义的完整性

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

    4 关系代数

    集合运算

    比较运算

    专门关系运算符

    选择(Selection) 

    σF(R)={t|t∈R∧F(t)=‘真'} F:选择条件,是一个逻辑表达式,基本形式为:X1θY1 
    投影(Projection)
    πA(R) = { t[A] | t R } A: R中的属性列   投影操作主要是从列的角度进行运算
    投影之后不仅取消了原关系中的某些列,而且还可能
    取消某些元组(避免重复行) 
    连接(Join)
    连接也称为θ连接

    从两个关系的笛卡尔积中选取属性间满足一定条件的元组 

    AB: 分别为RS上度数相等且可比的属性组
    θ:比较运算符
    连接运算从RS的广义笛卡尔积R×S中选取(R关系)在
    A属性组上的值与(S关系)在B属性组上值满足比较关系的元组。

    两类常用连接运算

    等值连接(equijoin)

    从关系RS的广义笛卡尔积中选取AB属性值相等的那些元组 

    自然连接(Natural join)
    自然连接是一种特殊的等值连接 ,两个关系中进行比较的分量必须是相同的属性组 ,在结果中把重复的属性列去掉
    自然连接还需要取消重复列,所以是同时从行和列的角度进行运算
    外连接
    如果把舍弃的元组也保存在结果关系中,而在其他属性上填空值(Null),这种连接就叫做外连接(OUTERJOIN)。
    左外连接
    如果只把左边关系R中要舍弃的元组保留就叫做左外连接(LEFT OUTER JOIN或LEFT JOIN)
    右外连接
    如果只把右边关系S中要舍弃的元组保留就叫做右外连接(RIGHT OUTER JOIN或RIGHT JOIN)。
    除(Division)

    给定关系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上投影的集合。 

     

    Yx: x在R中的象集, x=tr[X] 
    除操作是同时从行和列角度进行运算

    eg:设关系R、 S分别为下图的(a)和(b), R÷S的结果为图(c)



  • 相关阅读:
    多测师讲解html _伪类选择器17_高级讲师肖sir
    多测师讲解html _后代选择器16_高级讲师肖sir
    多测师讲解html _组合选择器_高级讲师肖sir
    多测师讲解html _标签选择器14_高级讲师肖sir
    前端 HTML form表单标签 input标签 type属性 重置按钮 reset
    前端 HTML form表单标签 textarea标签 多行文本
    前端 HTML form表单标签 input标签 type属性 file 上传文件
    前端 HTML form表单标签 input标签 type属性 radio 单选框
    前端 HTML form表单标签 input标签 type属性 checkbox 多选框
    前端 HTML form表单目录
  • 原文地址:https://www.cnblogs.com/vincentqliu/p/6924821.html
Copyright © 2011-2022 走看看