关系数据库

阅读数:104 评论数:0

跳转到新版页面

分类

数据库

正文

在用户看来,关系模型的数据的逻辑结构是一张二维表。关系模式中常用的关系操作包括:选择(Select)、投影(Project)、连接(Join)、除(Divide)、并(Union)、交(Intersection)、差(Difference)等查询操作和增加(Insert)、删除(Delete)、修改(Update)操作,查询的表达能力是其中最主要的部分。

关系是迪卡尔积的有限子集

候选码(Candidate Key):在关系中能唯一标识一个元组的属性值

主码(Primary Key):被选择的候选码

主属性(Prime attribute):候选码中的诸属性

关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。基本表是实际存在的表,它是实际存储数据的逻辑表示,查询表是查询结果对应的表,视图表是由基本表和其他视图表导出的表,是虚表,不对应实际存储的数据。

当关系作为关系数据模型的数据结构时,给予如下限定和扩充:

(1)无限关系在数据库中是无意义的,因此,限定关系数据模型中的关系必须是有限集合

(2)通过为关系的每一个列附加一个属性名的方法取消关系元组的有序性。

基本关系具有以6条性质:

(1)列是同质的,即每一列的分量来自同一域

(2)不同的列可出自同一个域,不同的属性要给予不同的属性名

(3)列的顺序无所谓

(4)任意两个元组不能完全相同

(5)行的顺序无所谓

(6)每一个分量都必须是不可分的数据项

但是在许多实际的关系数据库产品中,基本表并不完全具有这6条性质。

关系模式可以形式地表示为R(U,D,dom,F)

其中R为关系名,U为组成该关系的属性名,D为属性组U中属性所来自的域,dom为属性的映像集合,F为属性间数据的依赖关系集合。可以简记为R(U)或R(A1,A2,……,An),A1~An为属性名。而域名及dom常常直接说明为属性的类型、长度。

定义:设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码,并称基本关系R为参照关系 ,基本关系S称为被参照关系或目标关系。关系R和S不一定是不同的关系。

参照关系完整性:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:(1)或者为空值(F中每个属性值均为空值)(2)或者等于S中某个元组的主码值

用户完整性:反映某一具体应用所涉及的数据必须满足语义要求。

$\delta_F(R)={t | t\in R \wedge F(t)='true'}$

选择满足给定条件的诸元组,逻辑表达式F由逻辑运算符连接各算术表达式组成,属性名也可以用它的序号来代替。

$\pi_A(R)={ t[A] | t\in R}$

投影是从列的角度进行的运算,它表示从关系R中选择若干属性列组新的关系,其中A为R中的属性列。

$R \propto S = {t_r t_s | t_r \in R \wedge t_s \in S \wedge t_r[A]=t_s[B]}$

自然连接是一种等值连接,它要求两个关系中进行比较的分量必须是相同的属性组。

$R \div S = {t_r[x]| t_r \in R \wedge \pi_y(S) \subseteq Y_x}$

除:给定关系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表

X1 Y1
X2 Y2
X2 Y3
X2 Y1

S表

Y1 F1
Y2 F3

$R \div S$

X2

 

元组演算系统中,称${t | \phi(t)}$ 为

组演算表达式。其中t是元组变量,关系演算公式由原子公式和运算符组成。

原子公式有3类:

(1)R(t):表示t是R中的元组

(2)t[i]op u[j]:op是算术比较运算符,表示“元组t的第i个分量与元组u的第j个分量满足比较关系 op”

(3)t[i] op C:表示t的第i个分量与常量C满足比较关系op

若公式中一个元组变量前有“全称量词”或“存在量词”,则称该变量为元组变量,否则称为自由元组变量。

在元组演算中,各种运算符的优先级次序为:

(1)算术比较运算符最高

(2)量词次之,且“存在”的优先级高于“任意”的优先级

(3)逻辑运算符最低,且“非”的优先级高于“与”的优先级,“与”的优先级高于“或”的优先级

 




相关推荐

一、概述 事物处理技术主要包括数据库恢复技术和并发控制技术。 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做。事务通常以begin transaction开始,以commit或ro

数据库:长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统的功能: (1)提供数据定义语言(Data Definition Language,DDL)

一、B-tree 我们常见的数据库系统,其索引使用的数据结构多是B-Tree或者B+Tree。例如,MsSql使用的是B+Tree,Oracle及Sysbase使用的是B-Tree。所以在最开始,简单

CAP理论 (1)Consistency一致性,任何

经纬度保留到小数点后7位,精度就是1cm,所以mysql数据库保存经纬度常用decimal(10,7)。因为decimal在mysql中以字符串存储,所以相对于float来说更精确,相对于字符串

0、时序数据库的特点 (1)按时间顺序写入,没有更新与删除操作。 (2)写多读少 1、时间序列模型 每个数据结构如下: <

通常分为六个阶段: 一、需求分析 需求分析不仅要明确用户的各种需求,还要充分考虑今后可能的扩充与改变。常用结构化分析方法(SA, Structured Analysis),即自上而下,逐层分解的方式分

1、创建备份目录 cd /home mkdir backup cd backup 2

在关系数据库中,数据库完整性主要包括: 1、实体完整性 (1)主码值必须唯一。 (2)主码的各个属性必须都不为空。 2、参照完整性

一、为什么要引入反规范化 原因在于规范化的目标是减少冗余,但是与此同时也增加了查询数据的难度。如果系统对查询的频率和性能要求很高,那么就需要引入受控冗余来降低规范化程度。 二、主要反规范化技术 1、增