当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server:关系代数中的语义

MSSQL
SQL Server口令 sql server安全性
解决SQL Server虚拟内存不足情况
sql中varchar和nvarchar的区别与使用方法
将count(*)值写入另一个表中的方法
SuperSocket 信息: (SpnRegister) : Error 1355。解决方法
sqlserver 复制表 复制数据库存储过程的方法
关于Select Where In 的排序问题
精妙的SQL和SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
在查询结果中添加一列表示记录的行数的sql语句
一条语句简单解决“每个Y的最新X”的经典sql语句
LINQ to SQL:处理char(1)字段的方式会引起全表扫描问题
SQL2000中改名和删除默认sa帐号的最安全方法
mssql SA帐号的改名和删除
SQLServer中master数据库分析
一道sql面试题附答案
三种实现方法实现数据表中遍历寻找子节点
经典SQL语句大全
实例学习mssql存储过程分析
SQL Server中选出指定范围行的SQL语句代码
[图文]三分钟学会Sql Server的复制功能

MSSQL 中的 SQL Server:关系代数中的语义


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 67 ::
收藏到网摘: n/a

上篇文章小编和大家谈到关系代数的语法,这篇文章将和大家讲的是语义,看了上篇文章也许你不是很懂,那就把这篇文章看完了吧。

文章中的语义中操作符为:并、交、差、积。下面和大家一一谈及。希望对大家有所帮助。

1.

数学中两个集合的并是这两个集合的所有元素组成的集合。因为一个关系是(或更确切

地说是包含)一个集合,即一个元组的集合,所以构造这样两个集合的并是完全可能的;所

得结果包含了出现在任一个或两个原关系中的所有元组。例如,出现在关系变量S中的供应

商元组的集合与出现在关系变量P中的零件元组的集合的并当然是一个集合。

然而,尽管这一结果是一个集合,却不是一个关系;关系不能含有不同类型的元组,其

中的元组必须是同类的。当然,我们希望结果是一个关系,因为要保持封闭性。所以,关系

代数中的并,不是通常数学中的并;它是一种特殊类型的并,要求两个参与操作的关系是同

一类型—即它们或者都包含供应商元组,或者都包含零件元组,而不能是两者的混合。如

果两个关系属于同一类型,那就可以进行并操作,得到的结果是一个相同类型的关系;换句

话说,封闭的特性被保持了下来。

下面是关系并操作的定义:给定两个相同类型的关系AB,两者的并即A UNION B是相同类型的一个关系,关系的主体由出现在A中或B中或同时出现在两者之中的所有元组组成。

2.

由于和并基本相同的原因,关系交操作符的操作对象必须是相同类型的。给定类型相同的关系AB,它们的交A INTERSECT B是一个相同类型的关系,关系的主体包含同时出现在AB中的所有元组。

3.

像并和交一样,关系的差操作符也要求操作对象是同一类型。给定两个类型相同的关系AB,它们的差A MINUS B(两者有先后次序)是一个与它们的类型相同的关系,关系的主体包含属于A但不属于B的所有元组。来自软晨学习网

4.

数学里的两个集合的笛卡尔积是满足如下条件的有序对的集合:每个有序对的第一个元素来自于第一个集合,第二个元素来自第二个集合。因此,两个关系的笛卡尔积可粗略地说是有序元组对的集合。但我们想保持封闭的特性;换句话说,我们想要结果包含元组本身,而不是有序的元组对。因此,关系的笛卡尔积是对这一操作的一个扩充,其中的每个有序元

组对代替以两个相关元组相并得出的一个元组(这里的“并”是一般集合理论上的并,而不是特殊的关系意义上)。因此给定:

A 1 : a 1A 2 : a 2?A m : a m

B 1 : b 1B 2 : b 2?B n : b n

两者的并是一个单个元组:

A 1 : a 1A 2 : a 2?A m : a mB 1 : b 1B 2 : b 2?B n : b n