本节是关系型数据库的数学基石——关系代数。所谓关系代数,本质是一种抽象查询语言,用对关系的运算来表达查询。任何关系运算的输出总是一个关系。关系代数描述了关系之间的数学运算,是SQL语句查询的基础,虽然相对鼓枯燥一些,但却重要。说白了,内容其实也不多,重点掌握一些运算,且能解决一些查询问题即可。
传统的关系运算传统关系运算,其实就是离散数学-集合中所学的一些运算:并、差、交、笛卡尔积。
并
学过集合论的都觉得并非常简单,确实如此。对关系代数来说,两个元组(假设为R和S)要进行并运算,需要满足一些要求:R和S具有相同的目n(即两个关系都有n个属性)
相应的属性取自同一个域
数学形式表达为:R∪S = { t | t ∈ R∨t ∈S }
例如,有如下的R关系:
有如下的S关系:
则R∪S的结果关系为:
差
两个关系进行差运算,需要满足的条件和并运算时一样的:具有相同的目n
相应的属性取自同一个域
数学形式表达为:R -S = { t | t∈R∧t ∉ S }
如果R和S关系还是和上面一样,则R-S的结果集为: