数据库系统-关系数据模型

1.关系
实体集和联系集都用关系来表示。
:具有相同类型的值的集合。
笛卡尔积:假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
二维表:每个表都有一个唯一的名字(关系名),表的每一列对应的分量称为属性,表的第一行是表头,给出各列的的属性名,其余每行对应于一个元组,每个元组都代表一个实体或联系。

2.从E-R模型到关系模型
所有属性都是原子的。

空值:缺失的、不确定的、不知道的值,未知的值,不能参与运算。
外码:如果FK是关系R的属性集,并且不是R的码,但是FK与关系R’的主码K’对应,则称FK是关系R的外码。其中R是参照关系,R’是被参照关系(R与R’不一定是不同的关系),并称FK参照R’的主码K’。

3.关系的完整性约束
包括实体完整性、参照完整性和用户自定义完整性。
实体完整性规则:关系R的所有元组在主码上的值必须惟一,并且在主码的任何属性都不能取空值(主码约束)。
参照完整性规则:对外码取值的限制,如果属性集FK是关系R的外码,他参照关系S的主码Ks,则R的任意元组在FK上的值等于S的某个元组在主码Ks上的值,或者空值。
用户自定义的完整性规则:特定数据库所涉及的数据必须满足的语义约束条件,由于不存在一般性规则,这些约束条件必须由用户根据实际问题的语义指定。

4.关系代数的五种基本运算
运算的结果和对象都是关系。
基本运算符:选择、投影、并、差、笛卡尔积
附加运算:交、除、连接、自然连接运算。

选择:设R是一个关系,F是一个公式。运算对象是常量或属性名;算数比较运算符<、≤、=、≥、>;逻辑运算符∩、∪和否(行运算)。
σF(R):得到R中使公式F为真的元组t的集合,当我们将F中所有的属性名用t的对应属性值替换时公式F为真,用F(t)表示元组t使公式F为真σF(R)={t|t∈R∧F(t)}。

投影:设R是一个n元关系,A1,…,Ak(k≤n)都是R的属性。关系R在属性A1,…,Ak上的投影记作ΠA1,…,Ak(R),它是满足如下条件的k-元组(a1,…,ak)的集合:存在R中的元组u,对于1≤i≤k,u在属性Ai上的值等于ai。设u是R的元组,u【A1,…,Ak】表示u在属性A1,…,Ak上的值形成的k元组,则Π(R)={t|(存在u)(u∈R∧t=u【A1,…,Ak】)}(列运算)。

:设R和S是具有相同属性的关系。关系R和S的并记作R∪S,它是属于R,或属于S,或属于二者的所有元组的集合。采用集合论的记号,我们有R∪S={t|t∈R∨t∈S}。

:设R和S是具有相同属性的关系。关系R和S的差记作R-S,它是属于R但不属于S的所有元组的集合。采用集合论的记号,我们有R-S={t|t∈R∧t不∈S}。

笛卡尔积:设R和S分别为n元和m元关系。R和S的笛卡尔积记作R×S,它是一个(n+m)-元关系,其每个元组的前n个分量是关系R的一个元组,后m个分量是关系S的一个元组。如果属性A同时出现在R和S中,则RxS中分别用R.A和S.A表示,以示区别。设u=(u1,…,un),v=(v1,…,vm)u和v的串接定义为uv=(u1,…,un,v1,…,vm)。于是,
RxS={t|(存在u)(存在v)(u∈R ∧v∈S∧t=uv}(逆运算是除运算)。

5.附加的关系运算

:设R和S是具有相同属性的关系。关系R和S的交运算记作它是既属于R,又属于S的所有元组的集合。R∩S相当于R-(R-S)的缩写(可以用差运算表示)。

:设R是n元关系,S是m元关系,其中n>m,并且S≠空集。
设S的所有属性都在R中。
设R的属性为A1,…,An-m,An-m+1,…,An,S的属性为An-m+1,…,An。
关系R和S的除运算记作R➗S,其结果是A1,…,An-m上的关系。
关系R➗S是满足如下条件的(n-m)元组(a1,…,an-m)的集合:对于S中的每个元组(an-m+1,…,an),元组(a1,…,an-m,an-m+1,…,an)在R中。

连接
在这里插入图片描述
自然连接
在这里插入图片描述
6.关系代数查询
关系代数表达式定义如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DbillionBUG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值