数据库之模型与语言(二)

本文详细介绍了关系模型的三要素,包括Table的描述、关系运算和完整性约束。关系模型中的实体完整性、参照完整性和用户自定义完整性是保证数据一致性的关键。此外,文章还阐述了关系代数的基本操作,如并、差、选择和投影,以及扩展操作如交、连接和除,并探讨了关系演算中的元组演算和域演算,强调了关系运算的安全性。
摘要由CSDN通过智能技术生成

1. 关系模型

  • 三要素:
    relation–Table,关系模型用于处理Table,三要素Table描述,关系运算,完整性约束。
    Table:
    操作:并、差、乘积、选择、投影+交、连接、除。
    完整性约束:实体完整性、参照完整性、用户自定义完整性。

  • Table定义/关系
    的取值范围:域,相同数据类型的集合,集合中元素的个数称为基数。
    元组:所有可能合成的元组称为笛卡尔积。
    关系:一组域D1,D2……Dn的笛卡尔积的子集,有意义的元组为关系,关系的列为属性名。R(A1:D1,A2:D2…An:Dn),直接说明属性的类型长度。其中,Ai必须是不同的,但是Di可能是相同的。
    候选码:关系中的一个属性组,其值能唯一标识一个元组,若该属性组中去掉任何一个属性,那么就不具备这一性质,这样的属性称作候选码。
    存在多个候选码时,选定一个为主码。
    包含任何一个候选码的属性被称为主属性,其他属性被称作非主属性。
    外码:不属于关系R的候选码,但是属于另一个关系S的候选码,该属性组为R的外码,两个关系通过外码连接。

  • 关系模型的完整性
    实体完整性:主码属性值不能为空值。
    参照完整性:外码可以取空值,但是R中不为空的值必定属于S主码中的某一个值。(保证两个关系之间连接的正确性。)
    用户自定义完整性:用户对具体的环境定义的完整性约束条件(属性的取值范围)。

  • 关系代数
    1.基本操作:
    并相容性:R与S的属性数目相同,每个属性的域也相同。
    并:RUS,去重合并两个关系的元组。“或者”
    差:R-S,出现在R但不出现在S中的元组。R-S!=S-R“是…但…”
    广义笛卡尔积:RXS,以元组为单位,将两个关系所有可能组合起来。n+m属性,x*y元组个数。
    选择操作:σcon ( R ) ,从R中选出符合给定条件的元组。括号很重要。行操作。
    投影操作:πA(R),从关系R中选出属性包含在A中的列构成。列操作。去重
    更名操作:ρ(R)
    2.扩展操作(可以通过基本操作实现的操作):
    交:R∩S,同时出现在关系R与S中的元组。R∩S=R-(R-S)=S-(S-R)。“既…又”
    连接:R|><|S
    θ连接:多若干个表进行操作。从RXS笛卡尔积中,选择符合条件的元组。
    等值连接:特殊的θ连接,笛卡尔积中:R(A)=S(B),R中的某列与S中的某列相等。
    自然连接:RS的属性组相同的,其属性值相等的元组,连接起来,去掉重复属性列。特殊的等值连接。
    在这里插入图片描述
    3.复杂扩展操作:
    除:查询…全部的/所有的”。
    R(A1,A2…An),S(B1,B2…Bm),属性B是属性A的真子集,m<n,可进行除运算。R÷S,n-m度,结果的元组与S中的任何一个元组组合起来形成的新元组都是R中的某一个元组。
    外连接:(失配元组的处理)R、S进行连接时,如果找不到匹配的元组,为避免信息丢失,则将其与存在的空值元组形成连接—外连接。保证信息不丢失:如左外连接保证左表信息不丢失,右外连接保证右表信息不丢失,全外连接保证所有表信息不丢失。

  • 关系演算
    1.元组演算:元组变量
    1.{t|P(t)}–使谓词P为真的元组t的集合。
    公式只限定于以下三种形式:以元组为基本单位进行循环,先找到元组,再找到元组分量,进行谓词判断。
    在这里插入图片描述
    2.存在量词与任意量词:验证范围为t的范围,存在表示存在t满足F(t)关系则为真,任意表示任意t满足F(t)关系则为真。注意验证这个词:验证关系的递进?
    在这里插入图片描述
    3.等价性变换:
    在这里插入图片描述
    在这里插入图片描述

    2.域演算:域变量—指的是变量的分量从属性域中取值组合起来的变量。

    {<x1,x2,…,xn>|P(x1,x2,…,xn)}
    在这里插入图片描述

    QBE语言:query By Example,高度非过程化的语言,适用于终端用户。
    示例元素。相同示例元素—与;不同示例元素—或。用相同的示例元素连接不同的表格。

  • 关系运算的安全性
    不产生无限关系和无穷验证的运算是安全的。关系代数是集合运算,属于安全运算;关系演算不一定是安全的,因为可能表示无限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值