做SQL优化的大神真的会sql关系代数数吗

查看: 13643|回复: 14
如何在SQL语句中表示关系代数的除法操作?
论坛徽章:0
如学生选课表stud_course(stud_id, course_id,grade)和课程表(course_id,course_name).
请问: 如何在学生选课表中找出选修所有课程的学生ID?
这个好像是关系代数所说的除法操作,但我不知道怎么写.
请大侠指点,先谢了!
以下是源代码:
create table stud_course
(
&&stud_id& &number,
&&course_id number,
&&grade& &&&char(1)
);
insert into stud_course values(,'A');
insert into stud_course values(,'B');
insert into stud_course values(,'C');
insert into stud_course values(,'B');
insert into stud_course values(,'A');
insert into stud_course values(,'B');
&&
create table course
(
&&course_id& &number,
&&course_name varchar2(50)
);
insert into course values(2001,'English');
insert into course values(2002,'Math');
insert into course values(2003,'Politics');
复制代码
[ 本帖最后由 kevin_ye 于
10:48 编辑 ]
论坛徽章:0
select sid from (
select count(*) cnt, stud_id sid from stud_course group by stud_id)
where cnt = (select count(*) from course)
某些情況下(例如stud_course表里有重複項)這個語句就不成立了
论坛徽章:2
我记得&&选修了所有的课程就意味着没有一门他没选
首先 他没选的课
SELECT *FROM table_course& &A WHERE NOT EXISTS (SELECT * FROM stu_course B where a.cource_id=b.course);
其次 再次否定&&这样的学生不再这里。
select * from stu_course&&C not exists (
SELECT *FROM table_course& &A WHERE NOT EXISTS (SELECT * FROM stu_course B where a.cource_id=b.course and c.stud_id=a.stud_id);
论坛徽章:0
select distinct(stud_id) from stud_course where stud_id not in(
select stud_id from(
select a.stud_id,b.course_id from
(select distinct(stud_id) from stud_course) a,
(select course_id from course) b
select stud_id ,course_id from stud_course)
按樓上的思路做出來的語句
论坛徽章:0
非常感谢dino623 和ilove0kyo.
我整理了一下ilove0kyo的sql,可以运行
------------------------------------------------------
select * from stud_course sc1
where not exists
&&SELECT * from course c
&&WHERE NOT EXISTS
& &&&SELECT * FROM stud_course sc2
& &&&where c.course_id=sc2.course_id
& && & and sc1.stud_id=sc2.stud_id
论坛徽章:0
谢谢dino623!
你的关系数据库理论很厉害,
完全使用了除法的步骤,用到笛卡尔、差、选择、投影等知识。
-------------------------------------------------------------------
select distinct(stud_id) from stud_course
where stud_id not in
&&select stud_id from
& & select a.stud_id,b.course_id from
& & (select distinct(stud_id) from stud_course) a,
& & (select course_id from course) b
& & select stud_id ,course_id from stud_course
论坛徽章:121
没那么复杂, 如下:
SQL& select&&STUD_ID,
&&2& && && & COURSE_ID,
&&3& && && & GRADE
&&5&&(select STUD_ID,
&&6& && && & COURSE_ID,
&&7& && && & GRADE,
&&8& && && & count(COURSE_ID) over(partition by STUD_ID) cnt
&&9&&from stud_course)
10&&where cnt = (select count(COURSE_ID) from course);
& &STUD_ID&&COURSE_ID GRADE
---------- ---------- -----
& && &1001& && & 2001 A
& && &1001& && & 2002 B
& && &1001& && & 2003 C
论坛徽章:0
回复 #6 kevin_ye 的帖子
还是ilove0kyo的方法结构更工整,而且效率更高
论坛徽章:0
回复 #7 bell6248 的帖子
谢谢bell6248.
您是以count来判断,也是一种好方法.
在数据完整性规范的情况下是没错的,
但可能有一个问题:
如果(stud_id, course_id,grade)是学生成绩表的话,
且该学生可以补考,即同一course_id考多次的话,
就要用count(distinct COURSE_ID) over(partition by STUD_ID)
论坛徽章:0
个人认为not exist最终还是要转换为你那种写法,只是简化了一下
-----------------------------------------------------------------------------
SQL& set timing on
SQL& select * from stud_course sc1
&&2&&where not exists
&&4& & SELECT * from course c
&&5& & WHERE NOT EXISTS
&&7& && & SELECT * FROM stud_course sc2
&&8& && & where c.course_id=sc2.course_id
&&9& && && &and sc1.stud_id=sc2.stud_id
& &STUD_ID&&COURSE_ID GRADE
---------- ---------- -----
& && &1001& && & 2001 A
& && &1001& && & 2002 B
& && &1001& && & 2003 C
Executed in 0.046 seconds
SQL& select * from stud_course
&&2&&where stud_id not in
&&4& & select stud_id from
&&6& && &select a.stud_id,b.course_id from
&&7& && &(select distinct(stud_id) from stud_course) a,
&&8& && &(select course_id from course) b
&&9& && &MINUS
10& && &select stud_id ,course_id from stud_course
& &STUD_ID&&COURSE_ID GRADE
---------- ---------- -----
& && &1001& && & 2001 A
& && &1001& && & 2002 B
& && &1001& && & 2003 C
Executed in 0.032 seconds
[ 本帖最后由 kevin_ye 于
13:38 编辑 ]
itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有    
 北京市公安局海淀分局网监中心备案编号: 广播电视节目制作经营许可证:编号(京)字第1149号数据库关系代数表达式问题E1=πA(θB=C^D=99(R*S))E2=πB(θB=C(R*(θD=99(S)))这是俩个等价的关系代数表达式问哪个执行效率高 为什么?3Q
cgXS78FB78
e2执行效率高先选择再连接 和先连接再选择
原始的数据时前者少很多所以前者效率高
为您推荐:
其他类似问题
扫描下载二维码关系代数教学系统研究--《天津大学》2012年硕士论文
关系代数教学系统研究
【摘要】:数据库相关理论和技术是计算机专业的一门重要学科,当前数据库技术的主流是关系数据库技术,而SQL查询语言是官方标准的关系查询语言,其数学理论基础是关系代数。熟练掌握关系代数理论知识对于数据库系统原理的深入研究有着至关重要的作用。因此,如何能够提高数据库课程中关系代数的教学效果是一个重要而有意义的课题。
论文以关系代数教学作为研究重点,使用BNF文法定义了完整的关系代数的语法结构,根据文法构造了关系代数表达式的词法分析器和语法分析器,并实现了关系代数各种操作符的求解算法,设计并实现了一个名为RAInterpreter的关系代数教学系统。
RAInterpreter支持完整的关系代数操作,能够识别和解析关系代数表达式,支持从磁盘文件中加载和保存关系数据,提供了一个图形界面以方便学生输入关系代数表达式进行数据的查询,旨在帮助学生深入理解关系代数理论及其在查询优化中的重要作用。
【关键词】:
【学位授予单位】:天津大学【学位级别】:硕士【学位授予年份】:2012【分类号】:TP311.13-4【目录】:
摘要3-4ABSTRACT4-7第一章 绪论7-11 1.1 研究背景与意义7-8 1.2 相关工作8-10
1.2.1 WinRDBI8-9
1.2.2 Rel9-10
1.2.3 Leap10 1.3 论文组织结构10-11第二章 关系代数理论11-23 2.1 关系数据库11 2.2 关系数据模型11-12 2.3 关系代数12-21
2.3.1 基本操作符14-17
2.3.2 建立表达式17
2.3.3 附加操作符17-21 2.4 关系代数与SQL21-23
2.4.1 SQL基础21
2.4.2 关系代数与SQL的转换21-23第三章 系统设计23-32 3.1 用例图23-24 3.2 总体结构24-25 3.3 支持的操作25-28
3.3.1 关系代数运算25-26
3.3.2 其它运算26-28 3.4 运行界面及示例28-32第四章 查询分析32-42 4.1 词法分析32-35 4.2 语法分析35-41
4.2.1 关系代数语法35-37
4.2.2 正式语法定义37-39
4.2.3 语法分析树39-40
4.2.4 运算符优先级40-41 4.3 语义分析41-42第五章 查询执行42-54 5.1 查询处理技术42-43
5.1.1 系统环境变量42
5.1.2 常用求解技术42-43 5.2 关系操作符求解43-54
5.2.1 去除重复43-44
5.2.2 基本操作符44-49
5.2.3 附加操作符49-54第六章 结论54-56 6.1 总结54-55 6.2 展望55-56参考文献56-59致谢59
欢迎:、、)
支持CAJ、PDF文件格式
【参考文献】
中国期刊全文数据库
徐国定;[J];华东师范大学学报(自然科学版);1985年03期
石树刚,郑振楣,吕美玲;[J];计算机研究与发展;1991年11期
【共引文献】
中国期刊全文数据库
王咏梅,任书俊;[J];安徽教育学院学报;2000年03期
周秋平;[J];安徽教育学院学报;2003年06期
戚冬;刘克礼;张文盛;;[J];安徽广播电视大学学报;2008年03期
李龙澍,程慧霞;[J];安徽大学学报(自然科学版);1994年02期
李鸿;[J];安徽大学学报(自然科学版);1998年02期
郑斌;李涓子;;[J];安徽农业科学;2008年18期
刘宏;胡凤莲;;[J];安徽农业科学;2008年24期
李宏丽;彭沛全;方立刚;姜真杰;周德富;;[J];安徽农业科学;2009年26期
张福安;包振强;;[J];安徽工业大学学报(社会科学版);2010年01期
高宇;;[J];安徽师范大学学报(自然科学版);2011年05期
中国重要会议论文全文数据库
兰彬;张燕;;[A];都市型高等农业教育教学改革论文专辑[C];2007年
邓淑丹;江文浦;;[A];中国测绘学会九届三次理事会暨2007年“信息化测绘论坛”学术年会论文集[C];2007年
赵攀;田宜平;;[A];中国测绘学会九届三次理事会暨2007年“信息化测绘论坛”学术年会论文集[C];2007年
赵会兵;李朝奎;;[A];中国测绘学会九届三次理事会暨2007年“信息化测绘论坛”学术年会论文集[C];2007年
刘福江;吴信才;杨兆武;孙华山;郭艳;;[A];2006北京地区高校研究生学术交流会——通信与信息技术会议论文集(下)[C];2006年
张红梅;欧歌;陈刚;卢宇;屈进禄;;[A];第十四届全国核电子学与核探测技术学术年会论文集(下册)[C];2008年
麦华韬;;[A];2007中国科协年会——通信与信息发展高层论坛论文集[C];2007年
张红梅;欧歌;陈刚;卢宇;屈进禄;;[A];第十四届全国核电子学与核探测技术学术年会论文集(2)[C];2008年
高冀;张衡;王立;周杨;刘磊;刘宇飞;;[A];中国宇航学会深空探测技术专业委员会第七届学术年会论文集[C];2010年
李国斌;;[A];第十四届全国工程设计计算机应用学术会议论文集[C];2008年
中国博士学位论文全文数据库
闫培雷;[D];哈尔滨工程大学;2010年
李昕;[D];辽宁工程技术大学;2010年
赵亮;[D];国防科学技术大学;2010年
周栩;[D];吉林大学;2011年
赵洪岩;[D];吉林大学;2011年
王日勖;[D];吉林大学;2011年
彭博;[D];吉林大学;2011年
汪志红;[D];暨南大学;2011年
李斌;[D];长安大学;2009年
刘瑰;[D];解放军信息工程大学;2009年
中国硕士学位论文全文数据库
曹磊;[D];华中农业大学;2010年
赵海峰;[D];南昌航空大学;2010年
宋洪俊;[D];山东科技大学;2010年
姜春晖;[D];郑州大学;2010年
王国宾;[D];郑州大学;2010年
李文君;[D];哈尔滨工程大学;2010年
李伟光;[D];哈尔滨工程大学;2010年
赵萍;[D];哈尔滨工程大学;2010年
朱春雷;[D];哈尔滨工程大学;2010年
牛园园;[D];长沙理工大学;2010年
【相似文献】
中国期刊全文数据库
郭伟宏,闪四清,刘鲁;[J];计算机工程与应用;2001年17期
刘景春;刘大昕;;[J];佳木斯工学院学报;1993年02期
黎仁蔚;;[J];南京工学院学报;1986年04期
李天柱;边小凡;肖计田;;[J];计算机科学;1996年02期
王燕玲;李广伦;张瑞玲;;[J];实验技术与管理;2014年02期
楼荣生;[J];广西师范大学学报(自然科学版);1997年01期
杨波;薛锦云;;[J];计算机科学与探索;2008年01期
程红梅;[J];电脑知识与技术;2003年29期
陈莉;焦李成;;[J];西北大学学报(自然科学版);2005年06期
殷冬琴;;[J];苏州大学学报(工科版);2009年06期
中国重要会议论文全文数据库
叶道兵;郭德培;周傲英;施伯乐;;[A];第十一届全国数据库学术会议论文集[C];1993年
黄豫清;徐洁磐;张福炎;;[A];第十五届全国数据库学术会议论文集[C];1998年
唐晓辉;陈国青;;[A];第12届全国模糊系统与模糊数学学术年会论文集[C];2004年
许学标;顾宁;施伯乐;;[A];数据库研究进展97——第十四届全国数据库学术会议论文集(上)[C];1997年
郝国生;巩敦卫;史有群;张勇;刘太湖;;[A];江苏省自动化学会七届四次理事会暨2004学术年会青年学者论坛论文集[C];2004年
吕美玲;石树刚;郑振楣;;[A];第九届全国数据库学术会议论文集(上)[C];1990年
杨宁;毛宇光;;[A];第二十一届中国数据库学术会议论文集(技术报告篇)[C];2004年
中国硕士学位论文全文数据库
成洋;[D];天津大学;2012年
苏昭;[D];江西师范大学;2010年
张磊;[D];大连交通大学;2012年
郭艳红;[D];湖北大学;2011年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购热线:400-819-82499
服务热线:010--
在线咨询:
传真:010-
京公网安备75号中文:关系代数;日语:関係代数;
基于500个网页-
relational algebra
自动化专业英语词汇表(5) ...
调节 regulation
关系代数 relational algebra
继电器特性 relay characteristic ...
基于340个网页-
relation algebra
基于41个网页-
algebra of relations
【关系】英语怎么说_在线翻译_有道词典 ...
关系代数 algebra of relations;
关系调 ...
基于3个网页-
temporal relational algebra
temporal relation algebra
relational algebra language
relational algebra operation
relation algebra operation
medium relational algebra
contact relation algebras
probabilistic relation algebra
relational algebra expression
relation algebra expression
temporal relational algebra
time relational algebra
Approximate spatial relation algebra
approximate spatial relation algebra
更多收起网络短语
relational algebra
- 引用次数:27
This paper establishes a temporal relational algebra and a tern-poral tuple calculus,and proves their equivalence.
建立了一个时态关系代数和时态元组演算并证明了他们间的等价性。
参考来源 -
relation algebra
- 引用次数:7
In view of that,the researchers proposed a new rough sets model based on database system and redefined the core attributes and reduction based on relation algebra in order to take advantages of the very efficient set-oriented database operations.
鉴于此,研究人员提出了新的基于数据库系统的粗糙集模型,在关系代数的基础上对核属性和约简进行重新定义,从而利用高效的面向集合的数据库系统操作。
参考来源 - 基于粗糙集理论的属性约简算法研究
algebra of relations
- 引用次数:2
As an abstract query language,algebra of relations is a traditional expression way of relational database manipulation language.
关系代数是一种抽象查询语言 ,是关系数据操纵语言的一种传统表达方式。
参考来源 -
relational algebra
- 引用次数:1
参考来源 -
relation algebra
relational logic
relational algebra
&2,447,543篇论文数据,部分数据来源于
algebra of relations
以上来源于:《新汉英大辞典》
查询是 Rails 3 关系代数的一个示例。
The lookup is an example of the Rails 3 relational algebra.
也是一个关于此话题的很好的介绍,解释了ActiveRecord 3 中的“关系代数”背后的的动机和理论。
is also a great introduction to this topic and shows the motivation and theory behind the "relational algebra" in ActiveRecord 3.
例如,这种理论模型允许用更有效的等价操作来代替关系代数操作同时不影响结果。
This theoretical model allows, for example, that relational algebra operations to be replaced by more efficient equivalent operations whereas not interfere with the result.
简述 英文翻译: relation algebra 关系代数是一种抽象的查询语言,用对关系的运算来表达查询,作为研究关系数据语言的数学工具。 关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符 比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的,所以按照运算符的不同,主要将关系代数分为传统的集合运算和专门的关系运算两类。
以上来源于:
$firstVoiceSent
- 来自原声例句
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!qianshao 的BLOG
用户名:qianshao
文章数:242
评论数:121
访问量:1090320
注册日期:
阅读量:5863
阅读量:12276
阅读量:376926
阅读量:1069874
51CTO推荐博文
一.考试大纲考点要求
1 掌握关系、关系性质、候选键、外部键、主属性、非主属性、关系模型完整性、关系模式、关系数据库等基本概念。&
2 掌握关系代数及其运算:并、差、交、笛卡尔积、投影、选择、自然连接、 θ 连接等。&
3 了解元组关系演算和域关系演算。
二.单项选择题(第一部分)
1. 下面的选项不是关系数据库基本特征的是( )。
  A.不同的列应有不同的数据类型
  B.不同的列应有不同的列名
  C.与行的次序无关
D.与列的次序无关
2. 一个关系只有一个( ) 。
A.候选码 B. 外码 C. 超码 D. 主码
3. 关系模型中,一个码是( )。
  A.可以由多个任意属性组成
  B.至多由一个属性组成
  C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成
D.以上都不是
4. 现有如下关系:
  患者(患者编号,患者姓名,性别,出生日起,所在单位)
  医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)
  其中,医疗关系中的外码是()。
  A. 患者编号 B. 患者姓名
C. 患者编号和患者姓名 D. 医生编号和患者编号
5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是( )。
A. 书号 B. 读者号 C. 书号+读者号 D. 书号+读者号+借期
6. 关系模型中实现实体间 N:M 联系是通过增加一个( )。
A.关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现
7. 关系代数运算是以( )为基础的运算 。
A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算
8. 关系数据库管理系统应能实现的专门关系运算包括( )。
  A. 排序、索引、统计 B. 选择、投影、连接
C. 关联、更新、排序 D. 显示、打印、制表
9. 五种基本关系代数运算是( )。
  A.∪ - × σ π
  B.∪ - σ π
  C.∪ ∩ × σ π
D.∪ ∩ σ π
10. 关系代数表达式的优化策略中,首先要做的是( ) 。
  A.对文件进行预处理
  B.尽早执行选择运算
  C.执行笛卡尔积运算
D.投影运算
11. 关系数据库中的投影操作是指从关系中( ) 。
  A.抽出特定记录 B. 抽出特定字段
C.建立相应的影像 D. 建立相应的图形
12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是( )操作 。
A.投影 B. 联接 C. 选择 D. 复制
13. 关系代数中的联接操作是由( )操作组合而成 。
  A.选择和投影 B. 选择和笛卡尔积
C.投影、选择、笛卡尔积 D. 投影和笛卡尔积
14. 自然联接是构成新关系的有效方法。一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的( ) 。
A.记录 B. 行 C. 属性 D. 元组
15. 假设有关系R和S,在下列的关系运算中,( )运算不要求:“R和S具有相同的元数,且它们的对应属性的数据类型也相同” 。
A.R∩S B. R∪S C. R-S D. R×S
16. 假设有关系R和S,关系代数表达式R-(R-S)表示的是( )。
A.R∩S B. R∪S C. R-S D. R×S
17. 下面列出的关系代数表达是中,那些式子能够成立( ) 。
  . σf1 ( σf2 (E)) = σf1∧f2 (E)
  . E1∞E2 = E2∞E1
  . (E1∞E2)∞E3 = E1∞ (E2∞E3)
  . σf1 ( σf2 (E)) =σf2 ( σf1(E))
A.全部 B. 和 C. 没有 D. 和
18. 下面四个关系表达式是等价的,是判别它们的执行效率( ) 。
  E1 =πA (σ B=C ∧ D=E′ (R×S) )
  E2 =πA (σ B=C (R× σD=E′ (S) )
  E3 =πA (R∞B=CσD=E′(S) )
  E3 =πA (σD=E′ (R∞B=C S) )
A. E3最快 B. E2最快 C. E4最快 D. E1最快
19. 有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是( ) 。
  . πS_ID,SCORE (σ age&22 (SC) )
  . σ age&22 (πS_ID,SCORE (SC) )
  . πS_ID,SCORE (σ age&22 (πS_ID,SCORE,AGE (SC) ) )
B. 只有正确 C. 只有 正确 D. 和正确
  选择题答案:
   (1) A (2) D (3) C (4) A (5) D
   (6) A (7) C (8) B (9) A (10) B
  (11) B (12) C (13) B (14) C (15) D
  (16) A (17) C (18) A (19) D
三. 简答题
1. 试述关系模型的三个组成部分。
2. 试述关系数据语言的特点和分类。
3.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
   S( SNO,SNAME,STATUS,CITY);
   P(PNO,PNAME,COLOR,WEIGHT);
   J(JNO,JNAME,CITY);
   SPJ(SNO,PNO,JNO,QTY);
  供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
  试用关系代数完成如下查询:
  (1) 求供应工程J1零件的供应商号码SNO;
  (2) 求供应工程J1零件P1的供应商号码SNO;
  (3) 求供应工程J1零件为红色的供应商号码SNO;
  (4) 求没有使用天津供应商生产的红色零件的工程号JNO;
(5) 求至少用了供应商S1所供应的全部零件的工程号JNO。
4. 定义并理解下列术语,说明它们之间的联系与区别:
   (1)域,笛卡尔积,关系,元组,属性
   (2)主码,候选码,外码
   (3)关系模式,关系,关系数据库
5. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空?
6. 试述等值连接与自然连接的区别和联系。
7. 关系代数的基本运算有哪些?
8. 试用关系代数的基本运算来表示其他运算。
四. 填空题及问答题
1 .关系模型的三个组成部分是________,________,________。
2 .关系数据模型中,二维表的列称为________,二维表的行称为________。
3 . 试述关系数据语言的特点和分类。 (填空题)
4 .用户选作元组标识的一个候选码为________,其属性不能取________。
5 .定义并理解下列术语,说明它们之间的联系与区别:
(1) 域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外部码
(3)关系模式,关系,关系数据库
6 .关系代数运算中,传统的集合运算有_____,_____,_____,_____。
7 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?
8 .关系代数运算中,基本的运算是________,________,________,________,________。
9 . 等值连接与自然连接的区别是什么?
10 .关系代数运算中,专门的关系运算有________,________,________。
11 . 代数的基本运算有哪些?如何用这些基本运算来表示其他的关系基本运算?
12 .关系数据库中基于数学上的两类运算是________和________。
13 .关系代数中,从两个关系中找出相同元组的运算称为________运算。
14 .R×S表示R与S的________。
15 .设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示系部。查询学生姓名和所在系的投影操作的关系运算式是________________。 (问答题)
16 .在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。 (问答题)
17 .已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是________,系关系的外码是________,学生关系的主码是________,学生关系的外码是________。 (问答题)
&&&&&&&&&&&
五、综合题
from Student
where Sno=’95001’
select Sname,Sdept
from Student
where Sno=’95001’
select Sno
where Cno=’1’
select Sname
from& Student,SC
where Student.Sno=SC.Sno and Cno=’1’
select Sno
from SC X , SC Y
where X.Sno=Y.Sno o=’1’ o=’3’
from SC,Course
o and Cpno=’5’
select Sname
from Student ,SC
where not exists
& (select *
where SC.Sno=Student.Sno o=’1’)
select Sno,Sname
from Student
where not exists
& (select *
from Course
where not exists
& (select *
&& from SC
&& where SC.Sno=Student.Sno o))
select Sno
where not exists
& (select *
from& SC Y
where& Sno=’95002’& and& not exists
& (select *
&& from SC Z
&& where Z.Sno=X.Sno o))
select Cno,avg(Grade)
group by Sno
select Sno,avg(Grade)
group by Sno
2select Cname from Student,Course,SC where Student.Sno=SC.Sno o and Student.Sdept=’IS’
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)

我要回帖

更多关于 关系代数查询优化准则 的文章

 

随机推荐