关系代数表达式 怎么用关系代数表达式完成数据库查询?
怎么用关系代数表达式完成数据库查询?
S◁SC表示自然连接。当查询的选择条件所涉及的属性与查询结果所需的属性不在同一个表中时,则需要使用join query将条件与结果关联起来。
数据库基础问题, 关系代数的基本运算有哪些, 如何用这些基本运算表示其他运算?
基本操作有并集、差分、笛卡尔积、投影和选择。其他三种操作,即交叉、连接和分割,可以用这五种基本操作来表示。
关系代数数据库中两个条件查询语言怎么表达?
[示例]假设教学数据库中有三种关系:学生关系s(SnO、sname、年龄、性别)、学习关系SC(SnO、CNO、年级)、课程关系C(CNO、CNAME、教师)。每个查询语句都用关系代数表达式表示。(1) 检索C2的学号和年级。πSnO,grade(σCNO=“C2”(SC))(2)检索学习课程号为C2πSnO,sname(σCNO=“C2”(SSC))的学生的学号和姓名,因为这个查询涉及到两个关系s和SC,这两个关系自然连接起来,得到同一个学生的信息,然后执行选择性投影操作。这个查询也可以等价地写成:πSnO,sname(s)(πSnO(σCNO=“C2”(SC)))。在这个表达式中,自然连接的正确组成部分是“学习了C2课程的学生数的集合”。此表达式比上一个表达式更优化,节省了时间和空间。(3) 搜索名为math的选修课的学号和名称。πSnO,sanme(σCNAME=“math”(SSCC))(4)搜索选修课C2或C4的学号。πSnO(σCNO=“C2”∨CNO=“C4”(SC))(5)至少搜索选修课号C2或C4的学号。π1(σ1=4∧2=“C2”5=“C4”(SC×SC))其中(SC×SC)表示关系SC本身的乘法运算,其中数字1、2、4和5是其结果关系中的属性序列号。
关系代数数据库中两个条件查询语言怎么表达?
[示例]假设教学数据库中有三种关系:
学生关系s(SnO,sname,age,sex)
学习关系SC(SnO,CNO,grade)
课程关系C(CNO,CNAME,teacher)
每个查询语句都用关系代数表达式表示。
(1)检索C2的学号和年级。
πSnO,grade(σCNO=“C2”(SC))
(2)检索学习课程号为C2的学生的学号和姓名
πSnO,sname(σCNO=“C2”(SSC))
由于此查询涉及到两个关系s和SC,这两个关系自然连接起来,以获取同一学生的信息,然后执行选择投影操作。
此查询也可以等效为:
πSnO,sname(s)(πSnO(σCNO=“C2”(SC))
此表达式中自然连接的正确组成部分是“已学习C2课程的学生人数集”。此表达式比上一个表达式更优化,节省了时间和空间。
(3)搜索数学选修课的学号和名称。
πSnO,sanme(σCNAME=“math”(SSCC))
(4)搜索选修课C2或C4的学号。
πSnO(σCNO=“C2”∨CNO=“C4”(SC))
(5)至少搜索选修课编号C2或C4的学号。
π1(σ1=4∧2=“C2”5=“C4”(SC×SC))
这里(SC×SC)表示关系SC本身的乘法运算,其中数字1、2、4和5是其结果关系中的属性序列号。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。