云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库复习题

数据库复习题

  • 62 次阅读
  • 3 次下载
  • 2026/1/27 16:18:57

WHERE SNAME='WANG')

(5)把选修MATHS课不及格的成绩全改为空值。 UPDATE SC SET GRADE=NULL

WHERE GRADE<60 AND C# IN (SELECT C# FROM C

WHERE CNAME='MATHS')

(6)把低于总平均成绩的女同学成绩提高5%。 UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F')

(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%, 若成绩大于75分时提高4%(用两个UPDATE语句实现)。 UPDATE SC

SET GRADE=GRADE*1.05 WHERE C#='C4' AND GRADE<=75 UPDATE SC

SET GRADE=GRADE*1.04 WHERE C#='C4' AND GRADE>75

3.8 在第1章例1.4中提到“仓库管理”关系模型有五个关系模式: 零件 PART(P#,PNAME,COLOR,WEIGHT) 项目 PROJECT(J#,JNAME,DATE) 供应商 SUPPLIER(S#,SNAME,SADDR) 供应 P_P(J#,P#,TOTOAL) 采购 P_S(P#,S#,QUANTITY)

(1)试用SQL DDL语句定义上述五个基本表,并说明主键和外键。 CREATE TABLE PART

(P# CHAR(4) NOT NULL,PNAME CHAR(12) NOT NULL, COLOR CHAR(10),WEIGHT REAL, PRIMARY KEY(P#))

CREATE TABLE PROJECT

(J# CHAR(4) NOT NULL,JNAME CHAR(12) NOT NULL, DATE DATE, PRIMARY KEY(J#))

CREATE TABLE SUPLIER

(S# CHAR(4) NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20), PRIMARY KEY(S#))

CREATE TABLE P_P

(J# CHAR(4),P# CHAR(4),TOTAL INTEGER, PRIMARY KEY(J#,P#),

FOREIGN KEY(J#) REFERENCE PROJECT(J#), FOREIGN KEY(P#) REFERENCE PART(P#))

CREATE TABLE P_S

(P# CHAR(4),S# CHAR(4),QUANTITY INTEGER, PRIMARY KEY(P#,S#),

FOREIGN KEY(P#) REFERENCE PART(P#), FOREIGN KEY(S#) REFERENCE SUPLIER(S#))

(2)试将PROGECT、P_P、PART三个基本表的自然联接定义为一个视图VIEW1,PART、P_S、SUPPLIER 三个基本表的自然联接定义为一个视图VIEW2。

CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL) AS SELECT

PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL FROM PROJECT,PART,P_P

WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J#

CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY) AS SELECT

PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUANTITY FROM PART,P_S,SUPPLIER

WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S#

(3)试在上述两个视图的基础上进行数据查询:

1)检索上海的供应商所供应的零件的编号和名字。 SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI'

2)检索项目J4所用零件的供应商编号和名字。

SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4')

3.9 对于教学数据库中基本表SC,已建立下列视图:

CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE) AS SELECT S#,COUNT(C#),AVG(GRADE) FROM SC GROUP BY S#

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操作。 (1) SELECT * FROM S_GRADE 允许

SELECT S#,COUNT(C#),AVG(GRADE) FROM SC GROUP BY S#

(2) SELECT S#,C_NUM FROM S_GRADE

WHERE AVG_GRADE>80 允许

SELECT S#,COUNT(C#) FROM SC WHERE AVG(GRADE)>80

(3) SELECT S#,AVG_GRADE FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM FROM S_GRADE WHERE S#=‘S4’) 允许

SELECT S#,AVG(GRADE) FROM SC AS X

WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#) FROM SC AS Y WHERE Y.S#='S4') GROUP BY S#

(4) UPDATE S_GRADE

SET C_NUM=C_NUM+1 WHERE S#=‘S4’ 不允许

(5) DELETE FROM S_GRADE WHERE C_NUM>4 不允许

3.10 预处理方式对于嵌入式SQL的实现有什么重要意义?

预处理方式是先用预处理程序对源程序进行扫描,识别出SQL语句,并处理成宿主语言的函数调用形式; 然后再用宿主语言的编译程序把源程序编译成目标程序。这样,不用扩充宿主语言的编译程序, 就能处理SQL语句。

3.11 在宿主语言的程序中使用SQL语句有哪些规定?

在宿主语言的程序中使用SLQ语句有以下规定: (1)在程序中要区分SQL语句与宿主语言语句

(2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量),但有两条规定: 1)引用时,这些变量前必须加“:”作为前缀标识,以示与数据库中变量有区别。 2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。

(3)SQL的集合处理方式与宿主语言单记录处理方式之间要协调。 需要采用游标机制,把集合操作转换成单记录处理方式。

3.12 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?

由于SQL语句处理的是记录集合,而宿主语言语句一次只能处理一个记录, 因此需要用游标(cousor)机制,把集合操作转换成单记录处理方式。

2.13 嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标?

(1)INSERT、DELETE、UPDATE语句,查询结果肯定是单元组时的SELECT语句, 都可直接嵌入在主程序中使用,不必涉及到游标。

(2)当SELECT语句查询结果是多个元组时,此时宿主语言程序无法使用, 一定要用游标机制把多个元组一次一个地传送给宿主语言处理。

习 题 4

4.1 名词解释

(1) 函数依赖:FD(function dependency),设有关系模式R(U),X,Y是U的子集, r是R的任一具体关系,如果对r的任意两个元组t1,t2,由t1[X]=t2[X]导致t1[Y]=t2[Y], 则称X函数决定Y,或Y函数依赖于X,记为X→Y。X→Y为模式R的一个函数依赖。

(2) 函数依赖的逻辑蕴涵:设F是关系模式R的一个函数依赖集,X,Y是R的属性子集, 如果从F中的函数依赖能够推出X→Y,则称F逻辑蕴涵X→Y,记为F|=X→Y。

搜索更多关于: 数据库复习题 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

WHERE SNAME='WANG') (5)把选修MATHS课不及格的成绩全改为空值。 UPDATE SC SET GRADE=NULL WHERE GRADE<60 AND C# IN (SELECT C# FROM C WHERE CNAME='MATHS') (6)把低于总平均成绩的女同学成绩提高5%。 UPDATE SC SET GRADE=GRADE*1.05 WHERE GRADE<(SELECT AVG(GRADE) FROM SC) AND S# IN (SELECT S# FROM S WHERE SEX='F') (7)在基本表SC中修改C4

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com