一、基础知识
1.关系运算->选择( σF(R))
2.关系运算->投影(πA(R))
3.关系运算->连接
①等值连接:
从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组
②自然连接
是一种特殊的等值连接
两个关系中进行比较的分量必须是相同的属性组
结果中把重复的属性列去掉
4.简单例题:
①查询选修了2号课程的学生的学号。
②查询选修了数学课程的学生的学号。
二、综合题
1.设有一个SPJ数据库,包括S、P、J及SPJ共计4个关系模式:
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表Р由零件代码(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;
2.设有学生-课程-成绩数据库中包含三个关系:学生关系S,课程关系C,学生选课关系SC如图所示,请用关系代数式查询以下问题。
(1)查询选修课程名为“数据结构”的学生学号和学生姓名
(2)查询选修了“高等数学”和“大学英语”课程的学生学号和成绩
(3)查询选修了“数据库原理及应用”课程的学生学号,姓名及成绩
(5)查询没有选课的学生学号
3.有关系数据库如下,一位读者可以借阅多本书,同一书号的书可以被多位读者借阅。(共20分)
书(书号、书名,作者,价格,库存量)
读者(证件号,姓名,单位,地址)
借阅(书号,证件号,借书时间,还书时间,备注)
其中:某位读者的借阅记录中的“还书时间”为空白表示未还书。
设书为B表,读者为R表,借阅为L表
书号bno 书名bname 作者writer 价格price 库存量storage
证件号sno 姓名sname 单位unit 地址address
书号bno 证件号cno 借书时间borrow_time 还书时间return_time 备注remarks
1. 用关系代数表达式实现,查询“价格”在20元以上,“库存量”在10本以上的图书的“书名”和“作者”。
2. 用关系代数表达式实现,查询“证件号”为R1的读者所借图书的“书名”和“作者”。
3. 用关系代数表达式实现,查询“姓名”为周乐的读者没有借阅的“书号”和“书名”。
4.已知某数据库系统中包含 3 个基本表:
会议表:C(C#,CNAME,CLOCATION,STARTTIME,ENDTIME)。
参会表:PC(P#,C#)。
人员表:P(P#,PNAME,PSEX,PAFF)。
其中,C#为会议编号,CNAME 为会议名称,CLOCATION 为会议地点,STARTTIME 和 ENDTIME 为会议开始时间和结束时间,P#为人员编号,PNAME 为人员名称,PSEX 为参会人员性别,PAFF 为参会人员的单位名称。用关系代数表示下列查询:
1.查询参加会议名称为'数据库研讨班'的单位名称。
2.检索参加“数据库研讨班”,“大数据技术”和“数据挖掘技术”3 个会议的参会人员名称。
第二题类似第一题做法