Home  >  Article  >  Database  >  T-SQL基础教程:集合理论

T-SQL基础教程:集合理论

WBOY
WBOYOriginal
2016-06-07 16:19:491087browse

集合理论是由数学家Georg Cantor创建的,这是一个基于关系模型的数学分支。Cantor的集定义如下: 集合,我们的意思是:任意集合体M是我们感知或想到的,能够确定的、互异对象m(称之为M的元素)的整体。 ──Joseph W. Dauben和Georg Cantor(普林斯顿大学出版

   集合理论是由数学家Georg Cantor创建的,这是一个基于关系模型的数学分支。Cantor的集定义如下:

  集合,我们的意思是:任意集合体M是我们感知或想到的,能够确定的、互异对象m(称之为M的元素)的整体。

  ──Joseph W. Dauben和Georg Cantor(普林斯顿大学出版社,1990年)

  定义中的每个字都有着深刻和重要意义。集合定义和集合从属关系是无需证明的公理,宇宙中的每个元素要么是集合成员,要么不是集合成员。

  让我们从Cantor定义中的每个词开始。一个“集合”应将其视为单个实体,你的焦点应该放在对象的集合上,而不是组成集合的单个对象上。然后,当你对数据库中的表(如雇员表)编写T-SQL查询时,你应该将雇员的集合看作是一个整体,而不是单个的雇员。这听起来可能并不重要并且很简单,但显然很多程序员很难采用这种思维方式。

  “互异”这个词的含义是指集合中的每个元素必须是唯一的。跳跃到数据库中的表,你可以通过定义键约束来强制表中行的唯一性。没有键的话,你就不能唯一地标识行,因此表也就不能取得“集合”资格。相反,该表将是一个多重集合或是一个无序的单位组。

  “我们感知或想到的”这句话意味着集合的定义是主观的。思考一下教室:一个人可以被认为是“人”的集合,也有可能被认为是“学生”或“教师”的集合。因此,在定义集合方面你具有很大的自由度。当你为数据库设计数据模型时,设计过程应仔细考虑应用程序的主观需求,从而为相关实体确定恰当的定义。

  至于“对象”,,集合的定义不是限制为像汽车或雇员这样的物理对象,而是相关的抽象对象,如质数或线条。

  Cantor的集合定义省略掉的内容很可能像所包含的内容一样重要。请注意,定义中没有提到集合元素间的任何顺序,集合元素的列出顺序并不重要。列出集合元素的正式标记符号是使用大括号:{a、b、c}。因为与顺序无关,你可以使用{b, a, c}或{b, c, a}表示同一集合。跳跃到属性(SQL中称之为列)集合,它们组成了关系(SQL中称之为表)的表头,元素应该是按名称标识──而不是按顺序位置标识。

  同样,思考一下元组(SQL中称之为行)的设置,它们构成了关系的主体,元素由其键值进行标识,而不是按位置标识。许多程序员很难适应这种观念,对于查询表而言,行之间没有顺序。换句话说,对表的查询可以按任意顺序返回表中的行,除非你基于特定展现目的,明确要求数据以特定方式的进行排序。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn