第二章 关系数据库系统模型学习想法


1、数据模型:
根据应用层次分为3类:
概念模型:实体(矩形框)、属性(椭圆框)、联系(菱形框+无向边)---->E-R图表示
逻辑模型:层次模型(树状)、网状模型(网状)、关系模型(二维表)
物理模型:数据在计算机里面的存取与管理方式等,对数据最底层的抽象描述
根据内容有3部分组成:
数据结构:层次模型(树状)、网状模型(网状)、关系模型(二维表)
数据操作:增、删、改、查
数据约束:完整性的规则
2、数据库模型:
标准结构:
三级模式:
外部层---->外模式(数据概念模型)
概念层---->概念模式(数据逻辑模型)
内部层---->内模式(数据物理模型)
两级映像:
外模式/概念模式映像
概念模式/内模式映像
3、关系数据库系统模型:
(1)关系模型:
域:一组具有相同数据类型的值的集合
笛卡尔积:域的遍历乘积,构成一个二维表,子集为全集的关系(Relation)
关系:笛卡尔积的有限子集,也是一个二维表
行:元组
列:属性
类型:基表、查询表、视图表
候选码(CK):唯一标识元组的属性或属性组)
主码(PK):某一个候选码(实体完整性)
外码(FK):不同基表间的相同属性联系(参照完整性)
规范化(范式):每个分量必须是不可分的数据项(不能”表中表“)
表示:R(A1,A2,A3...An),其中R是关系名,A1,A2...An是属性名
(2)关系代数:抽象的查询语言
传统的集合操作:并、差、交、笛卡尔积(元组行)
专门的关系操作:选择(元组行)、投影(属性列)、连接(行列)、除(行列)
比较运算符:大于、大于或等于、小于、小于或等于、等于、不等于
逻辑运算符:与、或、非
(3)关系语言:
数据定义语言(Data Definition Language,DDL):CREATE、ALTER、DROP(创建、修改、删除)
数据操作语言(Data Manipulation Language,DML):INSERT、UPDATE、DELETE(插入、修改、删除)
数据查询语言(Data Query Language,DQL):SELECT(查询)
数据控制语言(Data Control Language,DCL):GRANT、REVOKE(操作权限)

为了叙述上的方便,我们先引入几个记号。

1. 设关系模式为R(A1, A2, …, An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量 。

2. 若A={Ai1, Ai2, …, Aik},其中Ai1, Ai2, …, Aik是A1, A2, …, An中的一部分,则A称为属性列或域列。フA则表示{A1, A2, …, An}中去掉{Ai1, Ai2, …, Aik}后剩余的属性组。t[A]=(t[Ai1], t[Ai2], …, t[Aik])表示元组t在属性列A上诸分量的集合。

3. R为n目关系,S为m目关系。设tr∈R(r为下标),ts∈S(s为下标),则trts(整个式子上方加一个半弧,r和s为下标) 称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。

4. 给定一个关系R(X,Z),X和Z为属性组。我们定义,当t[X]=x时,x在R中的象集(Images Set)为:

Zx={t[Z]|t∈R, t[X]=x}

x在R中的像集为R中Z属性对应分量的集合,而这些分量所对应的元组中的属性组X上的值为x。

例如,x_1在R中的像集Z_(x_1 )={Z_1,Z_2,Z_3,Z_4}, x_2在R中的像集Z_(x_2 )={Z_2,Z_3},x_3在R中的像集Z_(x_3 )={Z_1,Z_3}。

X1

Z1

X1

Z2

X1

Z3

X1

Z4

X2

Z2

X2

Z3

X3

Z1

X3

Z3

1. 选择(Selection)

选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组,记作:

σF(R) = {t|t∈R ∧ F(t)='真'}

其中F表示选择条件,它是一个逻辑表达式,取逻辑值‘真’或‘假’。

逻辑表达式F的基本形式为:

X1 θ Y1 [ φ X2 θ Y2 ]

θ表示比较运算符,它可以是>、≥、<、≤、=或≠。X1、Y1等是属性名或常量或简单函数。属性名也可以用它的序号来代替。φ表示逻辑运算符,它可以是フ、∧或∨。[ ]表示任选项,即[ ]中的部分可以要也可以不要,...表示上述格式可以重复下去。

因此选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。

2. 投影(Projection)

关系R上的投影是从R中选择出若干属性列组成新的关系。记作:

ΠA(R) = { t[A] | t∈R }

其中A为R中的属性列。

3. 连接(Join)

连接包括θ连接,自然连接外连接,半连接。它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。

连接运算从R和S的笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系θ的元组

连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。

θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。

自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。

一般的连接操作是从行的角度进行运算。但自然连接还需要取消了重复列,所以是同时从行和列的角度进行运算。

4. 除(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上投影的集合。记作:

R÷S={t_r [X]|t_r∈R?π_r (S)?Y_x}

其中,Y_x为x在R中的像集,x=t_r [X]。显然,除操作是同时从行和列的角度进行运算。

根据关系运算的除法定义,可以得出它的运算步骤。

(1) 将被除关系的属性分为像集属性和结果属性两部分;与除关系相同的属性属于像集属性;不相同的属性属于结果属性。

(2) 在除关系中,对像集属性投影,得到除目标数据集。

(3) 将被除关系分组。分组原则是:结果属性值一样的元组分为一组。

(4) 逐一考察每个组,如果它的像集属性值中包括目标数据集,则对应的结果属性应属于该除法运算结果集。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值