数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
数据库学习笔记(四)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

关系数据库

六, 关系代数

关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。

1,传统的集合运算

(union),差(difference),交(intersection),广义笛卡儿(extended Cartesian product)

      2,专门的关系运算

规定的几个记号。

设关系模式为R(A1,A2, ,AN)。它的一个关系设为RtR表示tR的一个元组。t[Ai]则表示元组t中相应于属性Ai上的一个分量。

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

Rn目关系,Sm目关系。trRtsStr ts称为元组的连接。它是一个nm列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。

给定一个关系R(XZ)XZ为属性组。定义当t[X]=x时,xR中的象集为:

Zx={t[Z] | tRt[X]=x}

3,下面给出关系运算的定义:

1.选择(Selection)

σFR)={ t | tRF(t)=’真’}

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

2.投影(Projection)

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

πAR)={ t[A] | tR }

投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组,因为取消了某些属性列后,就可能出现重复行,应取消这些完全相同的行。

3.连接(Join)

连接也称为 连接。它是从两个关系的笛卡儿积中选取属性间满足一定条件的元组。

            连接运算中由两种常用的连接,一种是等值连接,一种是自然连接。

1,为“=”的连接运算称为等值连接。它是从关系RS的广义笛卡儿积中选取AB属性值相等的那些元组,集等值连接为:

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

4.除(Division)

给定关系RXY)和SYZ),其中XYZ为属性组。R中的YS中的Y可以有不同的属性名,但必须出自相同的域集。RS的除运算得到一个新的关系PX),PR中满足下列条件的元组在X属性列上的投影,元组在X上分量值x的象集Yx包含SY上投影的集合。除操作是同时从行和列的角度进行运算。

七,关系演算

1,  元素关系演算语言ALPHA

ALPHA语言主要有GETPUTHOLDUPDATEDELETEDROP六条语句,语句的基本格式是:
操作语句  工作空间名(表达式): 操作条件

表达式用于指定语句的操作对象,它可以是关系名或属性名,一条语句可以同时操作多个关系或多个属性。操作条件是一个逻辑表达式,用于将操作对象限定在满足条件的元组中,操作条件可以为空。

1,  GET检索操作

2,  UPDATE更新操作,步骤如下:

·首先用HOLD语句将要修改的元组从数据库中读到工作空间中
·
然后用宿主语言修改工作空间中元组的属性

·
最后用UPDATE语句将修改后的元组送回数据库中

3,  PUT插入操作,步骤如下:

    ·首先用宿主语言在工作空间中建立新元组
·
然后用PUT语句把该元组存入指定的关系中

4,  HOLD带着并发控制的GET语句

5,  DELETE删除操作

    ·HOLD语句把要删除的元组从数据库中读到工作空间中
·
DELETE语句删除该元组

2,  域关系演算QBEQuery  By  Example

    最突出的特点是它的操作方式。它是一种高度非过程化的基于屏幕表格的查询语言,用户通过终端屏幕编辑程序以填写表格的方式构造查询要求,而查询结果也是以表格形式显示,因此非常直观,易学易用。

八,关系数据库管理系统:

关系数据库管理系统简称为关系系统,是指支持关系模型的系统。一个数据库管理系统可定义为关系系统,当且仅当它至少支持:

1,  关系数据库(即关系数据结构)。也就是说,从用户观点看,数据库是由表构成的,并且系统中只有表这种结构。

2,  支持选择、投影和(自然)连接运算。对这些运算不要求用户定义任何物理存取路径。

按照E.F.Codd的思想,依据关系系统支持关系模型的程度不同,可以把关系系统分为四类:

       1,表式系统。

        这类系统仅支持关系数据结构(即表),不支持集合级的操作。表式系统实际上不能算关系系统。倒排表列(Inverted list)系统就属于这一类。

        2,(最小)关系系统。

  即上面定义的关系系统,它支持关系数据结构和选择、投影、连接三种关系操作。许多微机关系系统如FoxBASEFoxPro等就属于这一类。

        3,关系上完备的系统。

            这类系统支持关系数据结构和所有的关系代数操作(功能上与关系代数等价)。目前许多中大型关系系统如DB2 ORACLE等就属于这一类。

        4,全关系系统。

            这类系统支持关系模型的所有特征,特别是数据结构中域的概念,实体完整性和参照完整性。虽然DB2 ORACLE等系统已经接近这个目标,但到目前为止尚没有一个系统是全关系系统。

           

尽管不同的关系系统对关系模型的支持程度不同,但它们的体系结构都符合三级模式结构,提供了模式、外模式、内模式以及模式与外模式之间的映象、模式与内模式之间的映象。表就是关系系统的模式,在表上面可以定义视图,这就是关系系统的外模式,关系系统通常都提供了定义视图即外模式的语句。内模式则是实际存储在磁盘或磁带上的文件。

   未完待续。

 

小康

[email protected]

2004-2-29




相关文章

相关软件