数据库的关系代数问题
设有学生数据库关系模式如下(其中中文为解释,英文为表名字段名):学生S(学号sno,姓名sname,性别gender,身高height)课程C(课程号cno,学分cred...
设有学生数据库关系模式如下(其中中文为解释,英文为表名字段名):
学生S(学号sno, 姓名sname, 性别gender, 身高height)
课程C(课程号cno, 学分credit, 开课系别dept, 开课季节semester)
成绩SC(学号sno, 课程号cno, 成绩grade)
请用关系代数表示下列查询:
1.查询身高超过1.8米的男生的学号和姓名
2.查询计算机系秋季所开每一门课程的课程号和学分
3.查询所有至少选修一门计算机系所开课程的女生的姓名
4.查询所有课程的成绩都在90分以上(含90分)的学生的姓名、学号
5.查询选修了所有学分数超过3的课程的学生姓名
求大神们帮忙解答一下啊。。。 展开
学生S(学号sno, 姓名sname, 性别gender, 身高height)
课程C(课程号cno, 学分credit, 开课系别dept, 开课季节semester)
成绩SC(学号sno, 课程号cno, 成绩grade)
请用关系代数表示下列查询:
1.查询身高超过1.8米的男生的学号和姓名
2.查询计算机系秋季所开每一门课程的课程号和学分
3.查询所有至少选修一门计算机系所开课程的女生的姓名
4.查询所有课程的成绩都在90分以上(含90分)的学生的姓名、学号
5.查询选修了所有学分数超过3的课程的学生姓名
求大神们帮忙解答一下啊。。。 展开
2个回答
展开全部
[例]设教学数据库中有3个关系:
学生关系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)检索选修课程名为MATHS的学生学号与姓名。
πSNO,SANME(σ CNAME='MATHS'(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)检索选修课程名为MATHS的学生学号与姓名。
πSNO,SANME(σ CNAME='MATHS'(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都为它的结果关系中的属性序号。
希望能解决您的问题。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
1,πsno,sname(σ height>‘1.8米’ (S))
2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))
3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?我用join代替)join SC join S))
4,πsno,sname(σ grade>=‘90’ (S join SC))
5πsname(σ credit>‘3’(C join S)
家庭作业吗? 根据书本比葫芦画瓢都能做出来
2,πcon,credit(σ dept='计算机系' ∧semester=‘秋季’ (C))
3,πsname(σ dept=‘计算机系’∧gender=‘女生’ (C(连接符怎么打?我用join代替)join SC join S))
4,πsno,sname(σ grade>=‘90’ (S join SC))
5πsname(σ credit>‘3’(C join S)
家庭作业吗? 根据书本比葫芦画瓢都能做出来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询