关系数据库

来源:互联网 发布:诺基亚软件怎么下载 编辑:程序博客网 时间:2024/05/17 01:00

1、关系模型:

         数据结构是关系。


下给出一些词的定义;

   域:一组具有相同数据类型的值的集合。

  

给定一组域D1,D2,D3……Dn,允许其中某些域是相同的,D1,D2,D3……Dn的笛卡尔积为

     D1xD2xD3……xDn={(d1,d2,d3……dn)| di∈Di,i=1,2,3,4……}

元组:(d1,d2,d3,d4,……)叫做一个元组

分量:其中每一个的di就是一个分量。

基数:一个域允许的不同取值个数称为这个域的基数。


关系:D1xD2xD3……xDn的子集叫做在域D1,D2,D3……Dn上的关系

        n是关系的目或度。

n=1,称为单元关系



候选码:若关系中的某一属性组的值能唯一地标识一个,而其子集不能,则称该属性组为候选码。

主码:若关系有许多的候选码,则选其中一个为主码

外码:如果一个关系的主码存在另一个的关系中,则这个主码在另一个的关系中称为外码

主属性:候选码的诸属性是主属性

非主属性:不含在任何候选码的属性



关系操作:

查询,插入,删除,修改

查询的表达方式:

传统的方式:×(积),﹣(差,∪(并),∩(交)

专门的方式:选择,连接,投影,除÷(恕我打不出!!)


关系的完整性约束:实体完整性,参照完整性,用户定义的完整性

实体完整性规则:若一个属性A是基本关系R的主属性,则A不能取空值

参照完整性规则:若一个属性A是基本关系R的外码,可以取值也可以不取值,若取值,值应该是外码在另一个的关系的主码的取值范围

用户定义的完整性:用户定义的完整性


2、关系代数

传统的集合运算符
两个的关系的属性一样
并:两个关系的元组合成一个关系
交:两个关系中相同的元组组成的一个关系
差:在前一个关系中删掉这两个关系中相同的元组
笛卡尔积:用前一个关系中的元组和后一个关系中的元组搭配成的关系,此关系中的属性是两个关系的属性的并


专门的集合运算符:

在此我先给出一些符号的定义:

1、t代表是元组

2、t[Ai]是对应Ai属性的分量

3、元组连接符号⌒,就是将两个关系的属性依据某种条件连在一起

4、给定一个关系R(X,Y),X和Z为属性组,当t[X]=x时,x在R的象集Zx={t[Z] | t∈R,t[X]=x}

   他表示R中属性组X上值为x的诸元组在Z上分量的集合。


选择:select

又称为限制;在某一关系中选择某一满足条件的诸元组。


投影:projection

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

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




连接:join

连接符号(⋈)、右外连接符号(⋉)、左外连接符号(⋊)

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


等值连接;两个关系中有一属性(属性组)相同的笛卡尔积的集合关系


自然连接:将等值连接中的重复属性列去掉



悬浮元组:自然连接时舍弃的元组。

如果将悬浮元组保留,而在其他的属性上填NULL,此连接叫做外连接,符号是   连接符号的四个角出头

若只保留左边的悬浮元组,叫做左外连接

若只保留右边的悬浮元组,叫做右外连接



除:division

设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组所有组合都在R中。