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

MSSQL
SQL注入漏洞全接触--进阶篇(二)
SQL注入漏洞全接触--高级篇(一)
SQL注入漏洞全接触--高级篇(二)
SQL Server补丁安装常见问题
[专题]SQL SERVER实用经验技巧集
防范SQL注入式攻击
Mssql和Mysql的安全性分析
SQL概述及在网络安全中的应用
安全入门:SQL注入漏洞全接触
数据库系统防黑客入侵技术综述
SQL注入奇招致胜 UNION查询轻松免费看电影
看紧你的3306端口,一次通过mysql的入侵
MSSQL db_owner角色注入直接获得系统权限
针对SQL INJECTION的SQL SERVER安全设置初级篇
有孔就入 SQL Injection的深入探讨
SQL注入不完全思路与防注入程序
SQL注入攻击的原理及其防范措施
SQL Server应用程序中的高级SQL注入
数据库下载漏洞攻击技术
SQL注入实战---利用“dbo”获得SQL管理权限和系统权限

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 104 ::
收藏到网摘: 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