101 101 101 101 204 256 256 345 345 345 620 1 2 3 4 3 1 2 1 2 4 4 105 42 25 104 61 241 91 141 18 74 125
(1).找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。 (2).找出供应书包的商店名。
(3).找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。
4. 己知三个关系R(A,B,C)、S(A,D,E)和T(D,F),其中,名称相同的属性为关联属性,C、E为数值型属性。
试用SQL语句实现如下操作:
(1).将R、S和T三个关系按关联属性建立一个视图R-S-T; (2).对视图R-S-T按属性A分组后,求属性C和E的平均值。
5. 设有关系R(A,B)和S(A,C),A为相同属性。 试用SQL语句实现:
(1).查询属性C>50时,R中相关联的属性B之值。
(2).当属性C=40时,将R中与之相关连的属性B值修改为b4。
6. 已知学生表S和学生选课表SC。其关系模式如下: S(SNo,SN,SD,PROV) SC(SNO,CN,GR)
其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。 试用SQL语言实现下列操作:
(1).查询“信息系”的学生来自哪些省区。
(2).按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。
7. 设有关系模式:
SB(SN,SNAME,CITY) 其中,S表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。
PB(PN,PNAME,COLOR,WEIGHT)
其中P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。 JB(JN,JNAME, CITY)
其中,J表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主关键字为JN。
SPJB(SN,PN,JN,QTY)
其中,SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为(SN,PN,JN),外部关键字
17
为SN,PN,JN。
写出实现以下各题功能的SQL语句:
(1).取出所有工程的全部细节;
(2).取出所在城市为上海的所有工程的全部细节; (3).取出重量最轻的零件代号;
(4).取出为工程J1提供零件的供应商代号; (5).取出为工程J1提供零件P1的供应商代号; (6).取出由供应商S1提供零件的工程名称; (7).取出供应商S1提供的零件的颜色;
(8).取出为工程J1或J2提供零件的供应商代号; (9).取出为工程J1提供红色零件的供应商代号;
(10).取出为所在城市为上海的工程提供零件的供应商代号;
(11).取出为所在城市为上海或北京的工程提供红色零件的供应商代号; (12).取出供应商与工程所在城市相同的供应商提供的零件代号; (13).取出上海的供应商提供给上海的任一工程的零件的代号;
(14).取出至少由一个和工程不在同一城市的供应商提供零件的工程代号; (15).取出上海供应商不提供任何零件的工程的代号;
(16).取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件; (17).取出由供应商S1提供零件的工程的代号;
8. 以下面的数据库为例,用SQL完成以下检索。关系模式如下:
仓库(仓库号,城市,面积)←→ WAREHOUSE(WMNO,CITY,SIZE) 职工(仓库号,职工号,工资)←→ EMPLOYEE(WHNO,ENO,SALARY)
订购单(职工号,供应商号,订购单号,订购日期)←→ ORDER(SNO,SNO,ONO,DATE) 供应商(供应商号,供应商名,地址)←→ SUPPLIER(SNO,SNAME,ADDR) (1).检索在北京的供应商的名称。 (2).检索发给供应商S6的订购单号。
(3).检索出职工E6发给供应商S6的订购单号。
(4).检索出向供应商S3发过订购单的职工的职工号和仓库号。 (5).检索出目前与S3供应商没有联系的职工信息。 (6).检索出目前没有任何订购单的供应商信息。
(7).检索出和职工E1、E3都有联系的北京的供应商信息。 (8).检索出目前和华通电子公司有业务联系的每个职工的工资。 (9).检索出与工资在1220元以下的职工没有联系的供应商的名称。 (10).检索出向S4供应商发出订购单的仓库所在的城市。 (11).检索出在上海工作并且向S6供应商发出了订购单的职工号。 (12).检索出在广州工作并且只向S6供应商发出了订购单的职工号。 (13).检索出由工资多于1230元的职工向北京的供应商发出的订购单号。 (14).检索出仓库的个数。
(15).检索出有最大面积的仓库信息。 (16).检索出所有仓库的平均面积。
(17).检索出向S4供应商发出订购单的那些仓库的平均面积。 (18).检索出每个城市的供应商个数。
(19).检索出每个仓库中工资多于1220元的职工个数。 (20).检索出和面积最小的仓库有联系的供应商的个数。
18
(21).检索出工资低于本仓库平均工资的职工信息。
9. 以下面的数据库为例,用SQL完成以下更新操作。关系模式如下:
仓库(仓库号,城市,面积)←→ WAREHOUSE(WMNO,CITY,SIZE) 职工(仓库号,职工号,工资)←→ EMPLOYEE(WHNO,ENO,SALARY)
订购单(职工号,供应商号,订购单号,订购日期)←→ ORDER(SNO,SNO,ONO,DATE) 供应商(供应商号,供应商名,地址)←→ SUPPLIER(SNO,SNAME,ADDR) (1).插入一个新的供应商元组(S9,智通公司,沈阳)。 (2).删除目前没有任何订购单的供应商。
(3).删除由在上海仓库工作的职工发出的所有订购单。 (4).北京的所有仓库增加100m2的面积。
(5).给低于所有职工平均工资的职工提高5%的工资。 10.现有关系数据库如下:
学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分)
学习(学号,课程号,分数)
分别用关系代数表达式和SQL语句实现下列1—5小题(注意:每小题都要分别写出关系代数表达式和SQL语句):
(1)检索所有选修了课程号为“C112”的课程的学生的学号和分数; (2)检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;
(3)检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数; (4)检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;
(5)检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。
11.关系模式如下:
学生S(SNO, SN, SEX, AGE)
课程C(CNO, CN, PCNO) PCNO为直接先行课 选课SC(SNO,CNO,G) G为课程考试成绩
(1)用关系代数及SQL语言写出查询语句,查询所有学生都选修的课程名CN。
(2)用关系代数及SQL语言写出查询语句,查询“DB”课成绩在90分以上的学生的姓名。 (3)将选修课程“DB”的学生学号,姓名建立视图SDB。 (4)在学生选课关系SC中,把英语课的成绩提高10%。
12. 在教学管理数据库中有学生、课程和选课三个表,它们的定义分别为为:
Student(Sno Char(5),Sname Char(6),Ssex Char(2), Sage Int,Sdept Char(2))
Course(Cno Char(1), Cname Char (10), Cpno Char(1), Ccredit Int)
SC(Sno Char(5), Cno Char(1), Grade int)
根据下面的要求,写出SQL语句。
① 用SQL语句建立数据表SC,以(Sno, Cno)作为主键;
② 向Student表插入一条记录(95011, 张三, 女, 19,CS); ③ 检索计算机系(CS)所有女同学的姓名和年龄;
④ 检索选修了2号课程学生的学号、姓名、成绩,并按成绩降序排序;
19
⑤ 建立一个信息系(IS)所有不及格(Grade<60)学生的视图。
第四部分 关系数据库模式设计
(一)、考核内容
(1) 关系约束与关系模式、关系的规范化设计 (2) 函数依赖与公理体系 (3) 关系模式的分解与规范化 (二)、考核要求
(1)了解关系约束与关系模式的表示;理解关系模式规范化设计的必要性。
(2)理解函数依赖的定义和相应的概念。 (3)了解函数依赖的公理体系。
(4)了解关系模式分解的相关概念。
(5)理解完全函数依赖、部分函数依赖和传递函数依赖。
(6)理解第一范式、第二范式、第三范式和BCNF范式的定义;掌握关系模式规范化的方法;掌握关系模式分解的方法。
*掌握求X关于F的闭包的方法。
*掌握求函数依赖集F的最小函数依赖集的方法。 *理解保持无损联接的分解,掌握其判断方法。 *掌握关系候选键的求解方法。 *掌握向3NF的模式分解算法。
(一)选择
1.关系规范化中的删除操作异常是指 ① ,插入操作异常是指 ② 。 A.不该删除的数据被删除 B.不该插入的数据被插入 C.应该删除的数据未被删除 D.应该插入的数据未被插入
2.设计性能较优的关系模式称为规范化,规范化主要的理论依据是( )。 A.关系规范化理论 B.关系运算理论 C.关系代数理论 D.数理逻辑
3.规范化理论是关系数据库进行逻辑设计的理论依据。根据这个理论,关系数据库中的关系必须满足:其每一属性都是( )。 A.互不相关的 B.不可分解的 C.长度可变的 D.互相关联的
4.关系数据库规范化是为解决关系数据库中( )问题而引入的。 A.插入、删除和数据冗余 B.提高查询速度
C.减少数据操作的复杂性 D.保证数据的安全性和完整性
5.规范化过程主要为克服数据库逻辑结构中的插入异常,删除异常以及( )的缺陷。 A.数据的不一致性 B.结构不合理
20