在数据库系统中,函数相当于数据库中的命令,可以通过调用函数来执行数据库中的相关功能;过程相当于数据库中能实现某个功能的一段程序。从右边取子串函数。Val+Val,其结果为33。删除字符串空格函数。Round,其结果为256.3。Int,其结果为123。?......
2023-12-04
1.5 关系运算
关系运算是关系数据库操作的实质,关系运算分为两种,即关系代数运算和关系运算。
1.5.1 关系代数运算
数据库中的代数运算和数学中的代数运算相同,就是集合的交、并、差。
1.交
交(Intersection)运算的符号为“∩”,两个关系经过交运算后,相同部分重新组成一个新的关系。例如在表1.5中,A∩B={3 4}。
2.并
并(Union)运算的符号为“∪”,两个关系经过并运算后,所有部分组成一个新的关系。例如在表1.5中,A∪B={1,2,3,4,6,7}。
3.差
差(Difference)运算的符号为“-”,表示两个关系经过差运算后,结果组成一个新的关系,新关系属于第一个关系,而不属于第二个关系。例如在表1.5中,A-C={1,3}。
表1.5 集合关系表
关系运算主要有3种,即选择、连接和投影。
1.选择
选择(Select)是从指定关系中选择满足条件的元组组成一个新关系,选择运算是一种单目运算,它是从行的角度进行操作的。
一般格式如下:σf(R)
其中,σ是选择符号;F是选择条件,它是逻辑表达式,取值为真”或“假”。运算符有逻辑运算符和算术运算符。逻辑运算符包括逻辑与运算符(∧)、逻辑或运算符(∨)和逻辑非运算符(┐);算术运算符包括小于(<)、等于(=)、大于(>)、小于等于(≤)、大于等于(≥)和不等于(≠)。
【例1.1】在职工基本情况表(见表1.2)中查询男职工的所有信息。
σ性别=男(职工基本情况表)
结果如表1.6所示。
表1.6 男职工的信息表
【例1.2】在学生基本情况表(见表1.4)中查询课程为大学英语的学生信息。
σ课程=大学英语(学生基本情况表)
结果如表1.7所示。
(www.chuimin.cn)
【例1.3】在职工授课情况表(见表1.3)和学生基本情况表(见表1.4)中查询职工号为100205的职工授课所对应的学生选课情况。
σ职工授课情况表.学生基本情况表=职工授课情况表.职工号∧学生基本情况表.学号(职工基本情况表×学生基本情况表)
结果如表1.8所示。
表1.8 学生选课情况选择操作结果
2.连接
连接(Join)是在两个指定的关系中将满足条件的元组连接在一起组成一个新关系。连接运算是一个二目运算,是从两个关系R和S的广义笛卡尔积中选取满足一定条件的元组。连接分为等值连接(Equal join)和自然连接(Natural join)两种。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,而且把重复的属性列删除,所以自然连接是同时从行和列的角度进行操作的。
常用的是自然连接,一般格式如下:
其中,R和S表示两个关系名;i和j表示两个关系的属性名;θ可以为<、>和=,分别表示小于连接、大于连接和等于连接。【例1.4】在职工基本情况表(见表1.2)和职工授课情况表(见表1.3)中进行连接操作。
职工基本情况表职工授课情况表
结果如表1.9所示。
表1.9 职工号连接操作结果
3.投影
投影(Projection)是选择两个指定关系中的属性组成一个新关系,投影运算也是单目运算,它是从列的角度进行操作的。
一般格式如下:
πA(R)
其中,π是投影运算符;A是选择关系R中的属性列;R是关系名。
【例1.5】在学生基本情况表(表1.4)中进行学号、姓名、性别、年龄投影操作。
π学号,姓名,性别,年龄(学生基本情况表)
结果如表1.10所示。
选择运算与投影运算的区别是选择运算是对某个关系从行的角度进行操作的,而投影运算是对某个关系从列的角度进行操作的。
表1.10 学生基本情况投影操作结果
在数据库系统中,函数相当于数据库中的命令,可以通过调用函数来执行数据库中的相关功能;过程相当于数据库中能实现某个功能的一段程序。从右边取子串函数。Val+Val,其结果为33。删除字符串空格函数。Round,其结果为256.3。Int,其结果为123。?......
2023-12-04
2.字符运算符字符运算符有+和-。3.逻辑运算符逻辑运算符有!4.关系表达式关系表达式是由关系运算符、数值表达式、字符表达式或日期表达式组成的式子。......
2023-12-04
下面给出几个应用关系代数进行查询的实例。解题说明:该题的求解思路是在全部学号中去掉选修“C2”课程的学生学号,就得出没有选修课程号为“C2”课程的学生学号。应当特别注意的是,由于选择操作为元组操作,本题不能写为求既选修“C2”课程,又选修“C3”课程的学生学号。①除关系和被除关系都为选课表。通过选择运算,求出学号为“98002”学生所选课程的元组;通过投影运算,得出除关系的结构。......
2023-11-24
约束元组变量和自由元组变量若在元组关系演算公式中:元组变量前有全称量词或存在量词,该变量为约束元组变量;否则为自由元组变量。元组关系演算公式的递归定义①每个原子公式都是公式。④在元组关系演算公式中,运算符的优先次序为:括号算术比较存在量词、全称量词逻辑非、与、或。⑤元组关系演算公式是有限次应用上述规则的公式,其他公式不是元组关系演算公式。......
2023-11-24
传统的集合运算是目运算,它包括并、差、交、广义笛卡儿积共4种运算。设关系R和S具有相同的目n,且相应的属性取自同一个域,则定义并、差、交运算如下。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡儿积应当有k1×k2个元组。R和S的笛卡儿积表示为......
2023-11-24
图3.4.1追加记录结果例如,在职工基本情况表中删除所有男职工的记录:Set talk offUse 职工基本情况表.dbfDelete all for 性别=“男”ListUseSet talk on结果如下:3.替换命令命令格式如下:Replace [表达式1] with [表达式2]功能:用表达式2替换表达式1。例如:Set talk offUse 职工基本情况表.dbfSkip 4DisplayUseSet talk on结果如下:9.显示屏幕或窗口命令命令格式如下:Set talk off/on/window/nowindow功能:控制程序在执行时结果是否出现在屏幕或窗口上。......
2023-12-04
2.强大的数据功能Visual FoxPro 8.0新增数据主要体现在4个方面。“IDE”选项卡:设置Visual FoxPro 8.0系统窗口的显示形式。......
2023-12-04
下面给出关系表达式的优化算法。利用等价变换规则把代数式变换为σF1(σF2(…对每一个选择,利用等价变换规则~尽可能地移到树的叶端。尽管这种变换似乎违背“投影尽可能先做”的原则,但这样做效率更高。把上述得到的语法树的内节点分组。也可以把这些单目运算单独分为一组。生成一个程序,每组节点的计算是程序中的一步。各步的顺序是任意的,但要保证任何一组的计算不会在它的后代组之前计算。......
2023-11-24
相关推荐