))
该式表示先对选修关系执行选择操作,然后执行投影操作。表达式中 学生关系(学号,班级号,姓名,出生年月,入学成绩) 也可以不写属性名,而直接写上属性的序号。 如该题也可用表达式 ? 1 , 3 (? 2 ? ' 01003 ' ( 选修关系 )) 来实现。
【例】设中有3个关系:
选修关系(学号,课程号,成绩)
表达式为 ? 学号 , 姓名 (?
课程关系(课程号,课程名称,学分) (2)检索相应课程号为01003的学生学号与姓名。
课程号 ? ' 01003 '
( 学生关系 ? 选修关系 ))
由于这个查询涉及到学生关系和选修关系,因此先要对这两个关系执 行自然连接操作,然后再执行选择和投影操作。 (3)检索选修课程名为“数据结构”的学生学号与姓名。 表达式为 ? 学号 , 姓名 (? 课程名称 ? '数据结构 ' ( 学生关系 ? 选修关系 ? 课程关系 )) 【例】设中有3个关系:
学生关系(学号,班级号,姓名,出生年月,入
学成绩) (4)检索选修课程号为01003或02003的学生学号。
表达式为 ? 学号 (? 课程号 ? ' 01003 ? 课程号 选修关系(学号,课程号,成绩)
? ' 02003 '
( 选修关系 ))
课程关系(课程号,课程名称,学分) (5)检索不学01003号课程的学生姓名与出生年月。
表达式为 ? 姓名 , 性别
( 学生关系 ) ? ?
姓名 , 性别
(?
课程号 ? ' 01003 '
( 学生关系 ? 选修关系 ))
本节习题
?名词解释——关系模型,属性,域,元组,主键,外 键,关系模式,关系 ?试述关系模型的三个完整性 ?为什么关系中的元组没有先后顺序? ?为什么关系中不允许有重复元组? ?关系代数的运算有几大类?分别是什么? ?笛卡儿积、等值连接、自然连接三者有什么区别? ?设有关系R和关系S如下表,计算:R∪S,R—S,R∩S, ( S ), ? ( R ) ,R∞S, R ? S | R . B ? S . B 的值 R×S, ?
C ,B B ? '5 '
关系R
A t d g j
B 2 5 4 6
C e f h s
A x y
B 8 6
C k l
关系S
?设有关系R和关系S如下表,求R÷S的值。
A a a a b e e B b b b c d d C c e d e c e D d f e f e f C c e D e f
关系R
关系S
?设中有3个关系: 学生关系S(学号,班级号,姓名,出生年月)
选修关系SC(学号,课程号,成绩)
课程关系C(课程号,课程名称,任课教师) 试用关系代数表达式表示下列查询语句和操作语句:
检索学习课程号为C2的学生学号与成绩 检索选修课程名为Maths的学生学号与姓名 检索选修课程号为C2或的学生学号 检索选修课程号为C2和的学生姓名 检索不学C2课程的学生学号 检索学习全部课程的学生姓名 检索所学课程包含学生S3所学课程的学生学号
2.5.4
关系的设计理论
前面已经讲述了关系、关系模型的基本概念 以及关系的标准语言。如何使用关系模型设计关 系,也就是面对一个比较好的关系模式的集合, 其中每个又应该由哪些属性,这属于设计的问题, 确切地讲是逻辑设计的问题。 关系是由一组关系组成的,那么针对一个具 体问题,应该如何构造一个适合于它的数据模式,即应 该构造几个关系,每个关系由那些属性组成等,这是关 系逻辑设计问题。关系设计理论对 逻辑设计有重要的指导作用,它主要包括三个方面的内 容:数据依赖、范式和模式设计方法,其中数据依赖起 着核心作用。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-35948-7.html
同我们一样