当前位置:文档之家› 数据库系统第三章部分习题解答

数据库系统第三章部分习题解答

数据库系统第三章部分习题解答
数据库系统第三章部分习题解答

3.2

-1

SELECT S#,SNAME

FROM S

WHERE AGE<17 AND SEX='F'

--2

SELECT C.C#,CNAME

FROM S,SC,C

WHERE S.S#=SC.S# AND C.C#=SC.C# AND SEX='M'

--3

SELECT T.T#,TNAME

FROM S,SC,C,T

WHERE S.S#=SC.S# AND C.C#=SC.C# AND C.T#=T.T# AND SEX='M'

--4

SELECT DISTINCT X.S#

FROM SC AS X,SC AS Y

WHERE X.S#=Y.S# AND X.C#<>Y.C#

select s#

from sc

group by s#

having count(s#)>1

--5

SELECT C#

FROM SC

WHERE S#='S2' AND C# IN (SELECT C# FROM SC WHERE S#='S4')

SELECT X.C#

FROM SC AS X, SC AS Y

WHERE X.S#='S2' AND Y.S#='S4' AND X.C#=Y.C#

--6

SELECT C#

FROM C

WHERE C# NOT IN(SELECT C#

FROM SC

WHERE S# IN (SELECT S#

FROM S

WHERE SNAME='WANG'))

SELECT C#

FROM C

WHERE C# NOT IN (SELECT C#

FROM SC,S

WHERE SC.S#=S.S# AND SNAME='WANG')

3.7

①SELECT COUNT(DISTINCT TEACHER)

FROM C;

②SELECT AVG(AGE)

FROM S, SC

WHERE S.S#=SC.S# AND C#=’C4’ AND SEX=’F’;

③SELECT C.C#,AVG(GRADE)

FROM SC,C

WHERE SC.C#=C.C# AND TEACHER=‘LIU’

GROUP BY C.C#;

④SELECT S#, COUNT(C#)

FROM SC

GROUP BY S#

HAVING COUNT(*)>5

ORDER BY 2 DESC, 1;

⑤SELECT SNAME

FROM S

WHERE S#>ALL(SELECT S#

FROM S

WHERE SNAME=’W ANG’)

AND AGE

FROM S

WHERE SNAME=’W ANG’);

⑥SELECT S#, C#

FROM SC

WHERE GRADE IS NULL;

⑦SELECT SNAME, AGE

FROM S

WHERE SNAME LIKE ’L%’;

⑧SELECT SNAME, AGE

FROM S

WHERE SEX=’M’

AND AGE>(SELECT AVG(AGE)

FROM S

WHERE SEX=’F’);

⑨SELECT SNAME, AGE

FROM S

WHERE SEX=’M’

AND AGE>ALL(SELECT AGE

FROM S

WHERE SEX=’F’);

3.12

① INSERT INTO C

VALUES('C8','VC++','BAO');

② INSERT INTO FACULTY(TNAME)

SELECT DISTINCT TEACHER

FROM (SELECT TEACHER, C.C#, AVG(GRADE)

FROM S, SC

WHERE SC.C#=C.C#

GROUP BY TEACHER, C.C#)

AS RESULT(TEACHER, C#, AVG_GRADE) AS X

WHERE 80<=ALL(SELECT AVG_GRADE

FROM RESULT AS Y

WHERE Y.TEACHER=X.TEACHER);

③ DELETE FROM SC

WHERE GRADE IS NULL;

④ DELETE FROM SC

WHERE S# IN(SELECT S# FROM S WHERE SEX='F')

AND C# IN(SELECT C# FROM C WHERE TEACHER='LIU');

⑤ UPDATE SC

SET GRADE=60

WHERE GRADE<60

AND C# IN(SELECT C# FROM C WHERE CNAME='MATHS');

⑥ UPDATE SC

SET GRADE=GRADE*1.05

WHERE S# IN(SELECT S# FROM S WHERE SEX='F')

AND GRADE<(SELECT AVG(GRADE) FROM SC);

⑦用两个UPDATE语句实现:

UPDATE SC

SET GRADE=GRADE*1.04

WHERE C#='C4' AND GRADE>70;

UPDATE SC

SET GRADE=GRADE*1.05

WHERE C#='C4' AND GRADE<=70;

(这两个UPDATE语句的顺序不能颠倒。)用一个UPDATE语句实现:

UPDATE SC

SET GRADE=GRADE*CASE

WHEN GRADE>70 THEN 1.04

ELSE 1.05

END

WHERE C#='C4';

⑧ UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE)

FROM SC);

①CREATE TABLE EMP

( E# CHAR(4) NOT NULL,

ENAME CHAR(8) NOT NULL,

AGE SMALLINT,

SEX CHAR(1),

ECITY CHAR(20),

PRIMARY KEY(E#));

CREATE TABLE COMP

( C# CHAR(4) NOT NULL,

CNAME CHAR(20) NOT NULL,

CITY CHAR(20),

PRIMARY KEY(C#));

CREATE TABLE WORKS

( E# CHAR(4) NOT NULL,

C# CHAR(4) NOT NULL,

SALARY SMALLINT,

PRIMARY KEY(E#, C#),

FOREIGN KEY(E#) REFERENCES EMP(E#),

FOREIGN KEY(C#) REFERENCES COMP(C#));

②SELECT E#, ENAME

FROM EMP

WHERE AGE>50 AND SEX='M';

③SELECT EMP.E#, ENAME

FROM EMP, WORKS

WHERE EMP.E#=WORKS.E# AND SALARY>1000;

④SELECT A.E#, A.ENAME

FROM EMP A, WORKS B, WORKS C

WHERE A.E#=B.E# AND B.E#=C.E#

AND B.C#='C4' AND C.C#='C8';

⑤SELECT A.E#, A.ENAME

FROM EMP A, WORKS B, COMP C

WHERE A.E#=B.E# AND B.C#=C.C#

AND CNAME='联华公司' AND SALARY>1000

AND SEX='M';

⑥SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUM_SALARY

FROM WORKS

GROUP BY E#;

⑦SELECT X.E#

FROM WORKS X

WHERE NOT EXISTS

(SELECT *

FROM WORKS Y

WHERE E#='E6'

AND NOT EXISTS

(SELECT *

FROM WORKS Z

WHERE Z.E#=X.E#

AND Z.C#=Y.C#));

⑧SELECT A.E#, A.ENAME

FROM EMP A, WORKS B, COMP C

WHERE A.E#=B.E# AND B.C#=C.C#

AND CNAME='联华公司'

AND SALARY<(SELECT AVG(SALARY)

FROM WORKS, COMP

WHERE WORKS.C#=COMP.C#

AND CNAME='联华公司');

⑨UPDATE WORKS

SET SALARY=SALARY+100

WHERE E# IN (SELECT E# FROM EMP WHERE AGE>50);

⑩DELETE FROM WORKS

WHERE E# IN (SELECT E# FROM EMP WHERE AGE>60);

DELETE FROM EMP

WHERE AGE>60;

3.14

解:CREATE VIEW EMP_WOMAN

AS SELECT A.E#, A.ENAME, C.C#, CNAME, SALARY

FROM EMP A, WORKS B, COMP C

WHERE A.E#=B.E# AND B.C#=C.C#

AND SEX='F';

SELECT E#,SUM(SALARY)

FROM EMP_WOMAN

GROUP BY E#;

3.15

①CREATE TABLE PART

(P# CHAR(6),

PNAME CHAR(10) NOT NULL,

COLOR CHAR(6),

WEIGHT FLOAT(6),

PRIMARY KEY(P#));

CREATE TABLE PROJECT

(J# CHAR(6),

JNAME CHAR(12) NOT NULL,

DATE DATE,

PRIMARY KEY(J#));

CREATE TABLE SUPPLIER

(S# CHAR(8),

SNAME CHAR(12) NOT NULL,

SADDR VARCHAR(30),

PRIMARY KEY(S#));

CREATE TABLE P_P

(J# CHAR(6),

P# CHAR(6),

TOTAL INTEGER,

PRIMARY KEY (J#, P#)

FOREIGN KEY(J#) REFERENCES PROJECT(J#),

FOREIGN KEY(P#) REFERENCES PART(P#));

CREATE TABLE P_S

(P# CHAR(6),

S# CHAR(8),

QUANTITY INTEGER,

PRIMARY KEY (P#, S#)

FOREIGN KEY(P#) REFERENCES PART(P#),

FOREIGN KEY(S#) REFERENCES SUPPLIER(S#));

②CREATE VIEW VIEW1

AS SELECT A.J#, JNAME, DATE, C.P#, PNAME, COLOR,

WEIGHT, TOTAL

FROM PROJECT A, P_P B, PART C

WHERE A.J#=B.J# AND B.P#=C.P#;

CREATE VIEW VIEW2

AS SELECT A.P#, PNAME, COLOR, WEIGHT, C.S#, SNAME,

SADDR, QUANTITY

FROM PART A, P_S B, SUPPLIER C

WHERE A.P#=B.P# AND B.S#=C.S#;

③ a) SELECT P#, PNAME

FROM VIEW2

WHERE SADDR LIKE ’上海%’;

b) SELECT S#, SNAME

FROM VIEW1, VIEW2

WHERE VIEW1.P#=VIEW2.P#

AND J#=’J4’;

数据库原理及应用(SQL Server 2008)全书答案 清华大学出版社 马建红 李占波主编第三章习题及实验答案

第三章习题及实验答案 习题答案 一、选择题 1、A 2、A 3、C 二、填空题 1、程序 2、MIN、SUM 3、CONTINUE、BREAK 三、简答题 1、可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。 2、用户自定义函数可分为:标量函数和表值函数。可使用CREATE FUNCTION语句创建函数,在调用用户自定义函数时,如果调用的是标量函数,则必须提供架构名。如果调用的是表值函数,则可以不提供架构名。用户可以将调用的函数用在赋值语句中,或作为表达式的操作数,或用在SQL命令中。 3、批处理是包含一个或多个Transaction-SQL语句的组,从应用程序一次性的发送到SQL Server执行。批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL 语句就是一个批处理单元。一个批处理中可以包含一条语句,也可以包含多条语句。 4、在SQL Server系统中,可以使用的流程控制语句有BEGIN…..END、IF…ELSE、CASE、WHILE…..CONTINUE….BREAK、GOTO、W AITFOR、RETURN等。 BEGIN…..END….: 在条件语句和循环语句等流程控制语句中,当符合特定条件需要执行两个或多个语句时,就应该使用BEGIN…END语句将这些语句组合在一起。 IF…..ELSE….: IF….ELSE语句是条件判断语句。 CASE:用于多重选择的条件判断语句,结果返回单个值。在CASE中可根据表达式的值选择相应的结果。 WHILE…..CONTINUE….BREAK: SQL语言中的循环语句,用来重复执行SQL语句或语句块。 GOTO: SQL程序中的无条件跳转语句,可以使程序直接跳到指定的标识符位置处继续执行。 WAITFOR: SQL中起暂停正在执行的语句、语句块或者存储过程的调用,直到某时间、时间间隔到达后才继续执行。 RETURN:用于无条件终止查询、存储过程或批处理。

第1章数据库系统概论习题及解答

第 1 章数据库系统概论 1.1复习纲要 本章介绍的主要内容: ·数据管理技术的发展 ·数据模型 ·数据库系统结构 1.1.1 数据管理技术的发展 从20世纪50年代中期开始,数据管理技术大致经历了三个发展阶段:人工管理阶段、文件系统管理阶段和数据库系统管理阶段。 1. 人工管理阶段 20世纪50年代中期以前,计算机主要从事计算工作,计算机处理的数据由程序员考虑与安排。这一阶段的主要特点是:数据不长期保存;数据与程序不具有独立性;系统中没有对数据进行管理的软件。 2. 文件系统管理阶段 20世纪50年代后期到60年代中后期,计算机系统中由文件系统管理数据。其主要特点:数据以文件的形式可长期存储在磁盘上,供相应的程序多次存取;数据文件可脱离程序而独立存在,使得数据与程序之间具有设备独立性。如果数据文件结构发生变化时,则对应的操作程序必须修改。即文件系统管理文件缺乏数据独立性,并且数据冗余度大。数据之间联系弱,无法实施数据统一管理标准。这些都是文件系统管理的主要缺陷。 3.数据库系统管理阶段 70年代初开始,计算机采用数据库管理系统管理大量数据,使计算机广泛应用于数据处理。数据库系统管理数据的主要特点: ·采用数据模型组织和管理数据,不仅有效地描述了数据本身的特性,而且描述了之间的联系。 ·具有较高的数据独立性。即数据格式、大小等发生了改变,使得应用程序不受影响。 ·数据共享程度更高,冗余度比较小。 ·由DBMS软件提供了对数据统一控制功能,如安全性控制、完整性控制、并发控制和恢复功能。 ·由DBMS软件提供了用户方便使用的接口。 数据库系统管理数据是目前计算机管理数据的高级阶段,数据库技术已成为计算机领域中最重要的技术之一。 1.1.2 数据模型 数据模型是构建数据库结构的基础,在构建时要经历从概念模型设计到DB逻辑模型和物理模型转换过程。因此,数据模型可分为两类共4种,两类为概念模型和结构模型,其中结构模型又分为外部模型、

数据库系统概论 第七章习题

第七章 一、选择题: 1.以下关于E—R图得叙述正确得就是(C) A.E—R图建立在关系数据库得假设上 ?B。E—R图使过程与数据得关系清晰,实体间得关系可导出应用过程得表示 ?C.E-R图可将现实世界中得信息抽象地表示为实体以及实体间得联系 ?D.E—R图能表示数据生命周期 2.在数据库设计过程中,设计用户外模式属于(B) A.物理设计 B.逻辑结构设计 ?C。数据库实施 D.概念结构设计 3。如何构造出一个合适得数据库逻辑结构就是(C)主要解决得问题. A.物理结构设计 B.数据字典 C.逻辑结构设计 D.关系数据库查询 4.概念结构设计就是整个数据库设计得关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS得(B)。 A.数据模型 ?B.概念模型 ?C。层次模型 ?D.关系模型 5.数据库设计可划分为六个阶段,每个阶段都有自己得设计内容,“为哪些关系,在哪些属性上建什么样得索引”这一设计内容应该属于(C)设计阶段。 A。概念设计 B。逻辑设计 C。物理设计 D。全局设计 7。在关系数据库设计中,对关系进行规范化处理,使关系达到一定得范式,例如达到3NF,这就是(D)阶段得任务。 A。需求分析 B.概念设计 C.物理设计 D。逻辑设计 8.在概念模型中得客观存在并可相互区别得事物称为(A)。 A。实体 B。元组 C.属性 D.节点 9.某公司有多个部门与多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门得联系类型就是(D)。 A。多对多 B。一对一

C.一对多 D。多对一 11。在数据库设计中,将ER图转换成关系数据模型得过程属于(B)。 A.需求分析阶段 B.逻辑设计阶段 C。概念设计阶段 D.物理设计阶段 12.在ER模型中,如果有3个不同得实体,3个M:N联系,根据ER模型转换为关系模型得规则,转换为关系得数目就是(C)。 A。4 B.5 C.6 D.7 14、如果两个实体集之间得联系就是m:n,转换为关系时(B)。 A、联系本身不必单独转换为一个关系 B、联系本身必须单独转换为一个关系 C、联系本身也可以不单独转换为一个关系 D、将两个实体合并为一个实体 15、数据库设计人员之间与用户之间沟通信息得桥梁就是(B)。 A、程序流程图 B、 E-R图 C、功能模块图D、数据结构图 17、如果两个实体之间得联系就是1:n,转换为关系时(A)。 A、将n端实体得关系中加入1端实体得码 B、将n端实体得关系得码加入到1端得关系中 C、将两个实体转换成一个关系 D、在两个实体得关系中,分别加入另一个关系得码 四、应用题 1、设有如下实体: 学生:学号、姓名、性别、年龄 课程:编号、课程名 教师:教师号、姓名、性别、职称 单位:单位名称、电话 上述实体中存在如下联系: ①一个学生可选修多门课程,一门课程可被多个学生选修。 ②一个教师可讲授多门课程,一门课程可由多个教师讲授. ③一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作: (1)设计E—R图。 (2)将E—R图转换为关系模式. 2、一个图书借阅管理数据库要求提供下述服务: (1)可随时查询书库中现有书籍得品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期与还书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性.

数据库系统概论(第四版)-第三章全部实验

实验一 【附】1、定义一个学生-课程模式S-T create schema”s-t”authorization WANG (若上句没有模式名”s-t”,则默认为WANG) 2、删除模式ZHANG drop schema ZHANG cascade (cascade级联:对象全删;restrict限制) 1.建立学生-课程数据库s_t; create database s_t 2.在数据库s_t下新建三张表:Student、Course、SC。 (1)学生表:Student(Sno,Sname,Sex,Sage,Sdept)。Student由学号(Sno)、姓名(Sname)、性别(Sex)、年龄(Sage)、所在系(Sdept)五个属性组成,其中Sno为主键。 create table Student (Sno char(9)primary key not null, Sname char(20)unique not null, Ssex char(2)not null, Sage smallint not null, Sdept char(20)not null) Insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215121','李勇','男',20,'CS') insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215122','刘晨','女',19,'CS') insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215123','王敏','女',18,'MA') insert into Student(Sno,Sname,Ssex,Sage,Sdept) values('200215125','张立','男',19,'IS') (2)课程表:Course(Cno,Cname,Cpno,Ccredit) Course课程号(Cno)、课程名(Cname)、先行课的课程号(Cpno)、学分(Ccredit)四个属性组成,其中Cno为主键。其中Cpno参考了本表的Cno字段的值,Cno为主键 create table course (cno char(40)primary key not null, cname char(4)not null, ccredit smallint not null foreign key(Cpon)references course(Cno)) insert into Course values('1','数据库','5',4) insert into Course values('2','数学','',2) insert into Course values('3','信息系统','1',4) insert into Course values('4','操作系统','6',3) insert into Course values('5','数据结构','7',4)insert into Course values('6','数据处理','',2) insert into Course values('7','PASCAL语言','6',4)学生选课表:SC(Sno,Cno,Grade) SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,其Sno、Cno的组合为主键。create table SC (Sno char(9)not null, cno char(4)not null, Grade smallint not null) insert into SC values('200215121','1',92) insert into SC values('200215121','2',85) insert into SC values('200215121','3',88) insert into SC values('200215122','2',90) insert into SC values('200215121','3',80) ) 3基本表的修改: a)向Student表增加“入学时间”列,期数据类型为日期型 b)将年龄的数据类型由字符型改为整型 c)增加课程名称必须取唯一值的约束条件alter table studebt add s_entrance datetime alter table student alter column sage int alter table course add unique(cname) 实验二 1.查询全体学生的学号和姓名 select sno,sname from student 2.查询全体学生的详细记录 select* from student 3.查询全体学生的姓名、出生年份和所在的院系,要求用小写字母表示所有系名。select sname,'year of birth:',2011-sage,lower( sdept) from student 4.查询选修了课程的学生学号,去掉结果中的重复行。 select distinct sno from sc 5.查询所有年龄在20~23岁之间的学生姓名、系别和年龄。 select sname,sdept,sage from student where sage not between20and23

数据库原理课后习题答案

第1章绪论 2 ?使用数据库系统有什么好处? 答:使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。 6 .数据库管理系统的主要功能有哪些? 答:(I )数据库定义功能;(2 )数据存取功能; (3 )数据库运行管理;(4 )数据库的建立和维护功能。 8 ?试述概念模型的作用。 答:概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模, 是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是 数据库设计人员和用户之间进行交流的语言。 12 ?学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教 授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由 若干学生选修。请用E —R图画出此学校的概念模型。 答:实体间联系如下图所示,联系-选修有一个属性:成绩。 各实体需要有属性说明,需要画出各实体的图(带属性)或在下图中直接添加实体的属性,比如:学生的属性包括学号、姓名、性别、身高、联系方式等,此略。 13 ?某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。 这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品

分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一R图画出此工厂产品、零 件、材料、仓库的概念模型。 答:各实体需要有属性,此略。 联系组成、制造、储存、存放都有属性:数量。 20 ?试述数据库系统三级模式结构,这种结构的优点是什么? 答:数据库系统的三级模式结构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有 关的数据的逻辑表示。 模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公 共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的局部逻辑结构,通 常是模式的子集。 内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储 方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。数据库系统 在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,这两层映像保 证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 22 ?什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系 统具有数据与程序的独立性? 答:数据与程序的逻辑独立性是指用户的的应用程序与数据库的逻辑结构是相互独立的。 数据与程序的物理独立性是指用户的的应用程序与存储在磁盘上的数据库中数据是相互独立的。 当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管 理员对各个外模式/模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。 当数据库的存储结构改变了,由数据库管理员对模式/内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

数据库习题答案

《数据库习题答案》来自五星文库 点这里,有很多篇《数据库习题答案》 在线阅读本文: 数据库习题答案 导读:第三章习题,1.关系数据库设计理论,数据依赖范式和关系模式的规范化设计方法,其中数据依赖起着核心的作用,2.关系数据库中的关系模式至少要满足第一范式,如果每个属性值都是不可再分的最小数据单位,(2)试分析模式R的数据冗余问题,关系R中的C属性会存在在数据冗余,相应地原来存储在一张二维表内的数据就要分散存储到多张二维表中,第四章习题,A删除基本表B修改基本表中的数据,A数据项B 元组,C表D数据库 第三章习题 一、单项选择题 1.在关系模型R中,函数依赖X→Y的语义是( B ) A.在R的某一关系中,若两个元组的X值相等,则Y值也相等B.在R的每一关系中,若两个元组的X值相等,则Y值也相等C.在R的某一关系中,X值应与Y值相等 D.在R的每一关系中,X值应与Y值相等 2.设学生关系模式为:学生(学号,姓名,年龄,性别,成绩,专业),则该关系模式的主键是( B ) A.性别 B.学号 C.学号,姓名 D.学号,姓名,性别 3.如果X→Y(Y不包含于X,且Y不能决定X)和Y→Z成立,那么X→Z成立。这条规则称为( B ) A.自反律 B.传递律 C.伪传递律 D.增广律 4.关系模式R?2NF,则R一定是(b ) A.1NF B.3NF

5.设一关系模式为:运货路径(顾客姓名,顾客地址,商品名,供应商姓名,供应商地址),则该关系模式的主键是( C )A.顾客姓名,供应商姓名,供应商地址 B.顾客姓名,商品名 C.顾客姓名,供应商姓名,商品名 D.顾客姓名,顾客地址6.下列有关范式的叙述中正确的是( B ) A.如果关系模式R?1NF,且R中主属性完全函数依赖于主键,则R是2NF B.如果关系模式 R?3NF,则R?2NF一定成立 C.如果关系模式R?1NF,则只要消除了R中非主属性对主键的传递依赖,则R可转换成2NF D.如果关系模式R?1NF,则只要消除了R中非主属性对主键的部分依赖,则R可转换成3NF 7.关系模式学生(学号,课程号,名次),若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是( B ) A.(学号,课程号)和(课程号,名次)都可以作为候选键B.只有(学号,课程号)能作为候选键 C.该关系模式属于第三范式 D.该关系模式属于BCNF 8.已知关系模式R(ABCD),F={A→C,B→C,C→D },则以下成立的是( B ) A.A→B B.A→D C.AD→BC D.AC→BD 9.如果X→Y且Z?U成立,那么XZ→YZ成立,这条规则称为( D ) A.自反律 B.传递律` C.伪传递律 D.增广律 10.能够消除多值依赖引起的冗余是( D ) A.1NF B.2NF

数据库系统概论试题及答案整理版

数据库系统概论复习资料 第一章绪论 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个 阶段中,数据独立性最高的是 A 阶段。 A.数据库系B.文件系统C.人工管理D.数据项管理 2.数据库的概念模型独立于 A 。 A.具体的机器和DBMS B.E-R图C.信息世界D.现实世界 3.数据库的基本特点是 B 。 A.(1)数据结构化(2)数据独立性 (3)数据共享性高,冗余大,易移植 (4)统一管理和控制 B.(1)数据结构化(2)数据独立性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 C.(1)数据结构化(2)数据互换性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 D.(1)数据非结构化 (2)数据独立性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 4. B 是存储在计算机内有结构的数据的集合。 A.数据库系统B.数据库C.数据库管理系统D.数据结构 5.数据库中存储的是 C 。 A. 数据 B. 数据模型 C.数据及数据间的联系 D. 信息 6.数据库中,数据的物理独立性是指 C 。 A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 7.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 D 。 A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合

数据库概论必考经典例题及课后重点答案

补充题1 设R、S和W分别如下表,试计算:R∪W;R-W; S;∏A(R);δA=C(R×S)。 R S W 补充题2 假定R为2元和S为3元关系,将表达式进行转换: E1=∏1,5(δ[2]=4∨[3]=4(R×S)) E2=∏5,2,1 补充题3 将表达式进行转换: E3={t(2) | R(t)∧(?u(2))(S(u)∧u[1]=t[2])} E4={ab | R(ab)∧R(ba)} E5={xy | R(xy)∧(?z)(﹃S(xy) ∧﹃S(yz))} 习题2.5试用关系代数语言完成如下查询:1)求供应工程J1零件的供应商号码SNO; πSNO (σJNO=‘J1’(SPJ)) 结果:{S1,S2,S3,S4,S5} 2)求供应工程J1零件P1的供应商号码SNO; πSNO (σJNO=‘J1’∧PNO=‘P1’ (SPJ)) 结果:{S1,S3}

πSNO (σJNO=‘J1’ (σPNO=‘P1’ (SPJ))) 3)求供应工程J1零件为红色的供应商号SNO; πSNO (σJNO=‘J1’ (SPJ) ??σCOLOR=‘红’(P)) 结果:{S1,S3} 4)求没有使用天津供应商生产的红色零件的工程号JNO; πJNO (J) —πJNO(σCITY=‘天津’ (S) ??SPJ??σCOLOR=‘红’ (P)) 结果:{J2,J5,J6,J7} 5)求至少用了供应商S1所供应的全部零件的工程号JNO 工程中使用的同一种零件可以由不同的供应商供应,供应商S1,供应的全部零件有{P1,P2},但是S5也可以供应P2零件给工程。 πJNO,PNO (SPJ) ÷πPNO (σSNO=‘S1’(SPJ)) 结果: {J4} 其中: πPNO (σSNO=‘S1’(SPJ) 结果:{P1,P2} 6)求S1提供的零件名PNAME; πPNAME (σSNO=‘S1’(SPJ??P)) 7)求给工程J1和J2提供零件的供应商号码SNO; πSNO (σJNO=‘J1’(SPJ))∩πSNO (σJNO=‘J1’(SPJ)) 8)求天津的供应商给天津的工程提供零件的供应商号码SNO。 πSNO (σCITY=‘天津’(S??SPJ??J)) 或πSNO (σCITY=‘天津’(S))∩πSNO (σCITY=‘天津’(SPJ??J))

数据库第三章习题参考答案.

3-2 对于教务管理数据库的三个基本表 S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE) C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询: ⑴检索LIU老师所授课程的课程号和课程名。 ⑵检索年龄大于23岁的男学生的学号和姓名。 ⑶检索学号为200915146的学生所学课程的课程名和任课教师名。 ⑷检索至少选修LIU老师所授课程中一门课程的女学生姓名。 ⑸检索WANG同学不学的课程的课程号。 ⑹检索至少选修两门课程的学生学号。 ⑺检索全部学生都选修的课程的课程号与课程名。 ⑻检索选修课程包含LIU老师所授课程的学生学号。 解: ⑴SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’; ⑵SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’; ⑶SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’F’AND TEACHER=’LIU’; 或: SELECT SNAME (嵌套查询方式) FROM S WHERE SEX=’F’AND S# IN (SELECT S# FROM SC WHERE C# IN (SELECT C# FROM C WHERE TEACHER=’LIU’)) 或: SELECT SNAME (存在量词方式)

数据库系统概论复习资料汇编

数据库系统概论复习资料 第一章 一、名词解释 1.Data:数据,是数据库中存储的基本对象,是描述事物的符号记录。 2.Database:数据库,是长期储存在计算机内、有组织的、可共享的大量数据的集合。 3.DBMS:数据库管理系统,是位于用户与操作系统之间的一层数据管理软件,用于科学 地组织、存储和管理数据、高效地获取和维护数据。 4.DBS:数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据库管 理系统、应用系统、数据库管理员(DBA)构成。 5.数据模型:是用来抽象、表示和处理现实世界中的数据和信息的工具,是对现实世界的 模拟,是数据库系统的核心和基础;其组成元素有数据结构、数据操作和完整性约束。 6.概念模型:也称信息模型,是按用户的观点来对数据和信息建模,主要用于数据库设计。 7.逻辑模型:是按计算机系统的观点对数据建模,用于DBMS实现。 8.物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁 盘或磁带上的存储方式和存取方法,是面向计算机系统的。 9.实体和属性:客观存在并可相互区别的事物称为实体。实体所具有的某一特性称为属性。 10.E-R图:即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设 计的主要工具。 11.关系模式:从用户观点看,关系模式是由一组关系组成,每个关系的数据结构是一张规 范化的二维表。 12.型/值:型是对某一类数据的结构和属性的说明;值是型的一个具体赋值,是型的实例。 13.数据库模式:是对数据库中全体数据的逻辑结构(数据项的名字、类型、取值范围等) 和特征(数据之间的联系以及数据有关的安全性、完整性要求)的描述。 14.数据库的三级系统结构:外模式、模式和内模式。 15.数据库内模式:又称为存储模式,是对数据库物理结构和存储方式的描述,是数据在数 据库内部的表示方式。一个数据库只有一个内模式。 16.数据库外模式:又称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据 的逻辑结构和特征的描述,是数据库用户的数据视图。通常是模式的子集。一个数据库可有多个外模式。 17.数据库的二级映像:外模式/模式映像、模式/内模式映像。 二、填空题 1.数据库系统由数据库、数据库管理系统、应用系统和数据库管理员构成。 2.数据管理是指对数据进行分类、组织、编码、存储、检索和维护等活动。 3.数据管理技术的发展经历了人工管理、文件系统、数据库系统3个阶段。 4.数据模型分为概念模型、逻辑模型和物理模型3个方面。 5.数据模型的组成要素是:数据结构、数据操作、完整性约束条件。

(完整版)数据库课后习题及答案

第一章数据库系统概述 选择题 1实体-联系模型中,属性是指(C) A.客观存在的事物 B.事物的具体描述 C.事物的某一特征 D.某一具体事件 2对于现实世界中事物的特征,在E-R模型中使用(A) A属性描述B关键字描述C二维表格描述D实体描述 3假设一个书店用这样一组属性描述图书(书号,书名,作者,出版社,出版日期),可以作为“键”的属性是(A) A书号B书名C作者D出版社 4一名作家与他所出版过的书籍之间的联系类型是(B) A一对一B一对多C多对多D都不是 5若无法确定哪个属性为某实体的键,则(A) A该实体没有键B必须增加一个属性作为该实体的键C取一个外关键字作为实体的键D该实体的所有属性构成键 填空题 1对于现实世界中事物的特征在E-R模型中使用属性进行描述 2确定属性的两条基本原则是不可分和无关联 3在描述实体集的所有属性中,可以唯一的标识每个实体的属性称为键 4实体集之间联系的三种类型分别是1:1 、1:n 、和m:n 5数据的完整性是指数据的正确性、有效性、相容性、和一致性 简答题 一、简述数据库的设计步骤 答:1需求分析:对需要使用数据库系统来进行管理的现实世界中对象的业务流程、业务规则和所涉及的数据进行调查、分析和研究,充分理解现实世界中的实际问题和需求。 分析的策略:自下而上——静态需求、自上而下——动态需求 2数据库概念设计:数据库概念设计是在需求分析的基础上,建立概念数据模型,用概念模型描述实际问题所涉及的数据及数据之间的联系。 3数据库逻辑设计:数据库逻辑设计是根据概念数据模型建立逻辑数据模型,逻辑数据模型是一种面向数据库系统的数据模型。 4数据库实现:依据关系模型,在数据库管理系统环境中建立数据库。 二、数据库的功能 答:1提供数据定义语言,允许使用者建立新的数据库并建立数据的逻辑结构 2提供数据查询语言 3提供数据操纵语言 4支持大量数据存储 5控制并发访问 三、数据库的特点 答:1数据结构化。2数据高度共享、低冗余度、易扩充3数据独立4数据由数据库管理系统统一管理和控制:(1)数据安全性(2)数据完整性(3)并发控制(4)数据库恢复 第二章关系模型和关系数据库 选择题 1把E-R模型转换为关系模型时,A实体(“一”方)和B实体(“多”方)之间一对多联系在关系模型中是通过(A)来实现的

数据库第3章习题参考答案

第3章习题解答 1.选择题 (1)表设计器的“允许空”单元格用于设置该字段是否可输入空值,实际上就是创建该字段的(D)约束。 A.主键B.外键C.NULL D.CHECK (2)下列关于表的叙述正确的是(C)。 A.只要用户表没有人使用,则可将其删除B.用户表可以隐藏 C.系统表可以隐藏D.系统表可以删除 (3)下列关于主关键字叙述正确的是( A )。 A.一个表可以没有主关键字 B.只能将一个字段定义为主关键字 C.如果一个表只有一个记录,则主关键字字段可以为空值 D.都正确 (4)下列关于关联叙述正确的是( C )。 A.可在两个表的不同数据类型的字段间创建关联 B.可在两个表的不同数据类型的同名字段间创建关联 C.可在两个表的相同数据类型的不同名称的字段间创建关联 D.在创建关联时选择了级联更新相关的字段,则外键表中的字段值变化时,可自动修改主键表中的关联字段 (5)CREATE TABLE语句(C )。 A.必须在数据表名称中指定表所属的数据库 B.必须指明数据表的所有者 C.指定的所有者和表名称组合起来在数据库中必须唯一 D.省略数据表名称时,则自动创建一个本地临时表 (6)删除表的语句是(A)。 A.Drop B.Alter C.Update D.Delete (7)数据完整性不包括(B )。 A.实体完整性B.列完整性C.域完整性D.用户自定义完整(8)下面关于Insert语句的说法正确的是(A )。 A.Insert一次只能插入一行的元组 B.Insert只能插入不能修改 C.Insert可以指定要插入到哪行 D.Insert可以加Where条件 (9)表数据的删除语句是( A )。 A.Delete B.Inser C.Update D.Alter (10)SQL数据定义语言中,表示外键约束的关键字是(B )。 A.Check B.Foreign Key C.Primary Key D.Unique 2.填空题 (1)数据通常存储在表中,表存储在数据库文件中,任何有相应权限的用户都可以对之进行操作。

数据库sql课后练习题及答案解析

数据库sql课后练习题及答案解析 (borrow 表) (reader表)1) 找出姓李的读者姓名(NAME)和所在单位(COMPANY)。2) 列出图书库中所有藏书的书名(BOOK_NAME)及出版单位(OUTPUT)。3) 查找“高等教育出版社”的所有图书名称(BOOK_NAME)及单价(PRICE),结果按单价降序排 序。4) 查找价格介于10元和20元之间的图书种类(SORT),结果按出版单位(OUTPUT)和单价(PRICE)升序排序。5) 查找书名以”计算机”开头的所有图书和作者(WRITER)。6) 检索同时借阅了总编号(BOOK_ID)为112266和449901两本书的借书证号(READER_ID)。##7)* 查找所有借了书的读者的姓名(NAME)及所在单位(COMPANY)。8)* 找出李某所借所有图书的书名及借书日期(BORROW_DATE)。9)* 无重复地查询xx年10月以后借书的读者借书证号(READER_ID)、姓名和单位。##10)* 找出借阅了一书的借书证号。11) 找出与”赵正义”在同一天借书的读者姓名、所在单位及借书日期。12) 查询xx年7月以后没有借书的读者借书证号、姓名及单位。#13) 求”科学出版社”图书的最高单价、最低单价、平均单价。##14)* 求”信息系”当前借阅图书的读者人次数。#15) 求出各个出版社图

书的最高价格、最低价格和总册数。#16) 分别找出各单位当前借阅图书的读者人数及所在单位。17)* 找出当前至少借阅了2本图书(大于等于2本)的读者姓名及其所在单位。18) 分别找出借书人次数多于1人次的单位及人次数。19) 找出藏书中各个出版单位的名称、每个出版社的书籍的总册数(每种可能有多册)、书的价值总额。20) 查询经济系是否还清所有图书。如果已经还清,显示该系所有读者的姓名、所在单位和职称。附录:建表语句创建图书管理库的图书、读者和借阅三个基本表的表结构:创建BOOK:(图书表)CREATE TABLE BOOK ( BOOK_ID int, SORT VARCHAR(10), BOOK_NAME VARCHAR(50), WRITER VARCHAR(10), OUTPUT VARCHAR(50), PRICE int); 创建READER:(读者表)CREATE TABLE READER (READER_ID int,COMPANY VARCHAR(10),NAME VARCHAR(10),SEX VARCHAR(2),GRADE VARCHAR(10),ADDR VARCHAR(50)); 创建BORROW:(借阅表)CREATE TABLE BORROW ( READER_ID int, BOOK_ID int, BORROW_DATE datetime)插入数据:BOOK表:insert into BOOK values(445501,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445502,'TP3/12','数据库导论','王强','科学出版社', 17、90);insert into BOOK values(445503,'TP3/12','数据库导论','王强','科学出版社',

《数据库系统概论》课后习题及参考标准答案

课后作业习题 《数据库系统概论》课程部分习题及参考答案 第一章绪论(教材 41页) 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库系统: 数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2.使用数据库系统有什么好处? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS来完成。 此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。 3.试述文件系统与数据库系统的区别和联系。 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是: 文件系统与数据库系统都是计算机系统中管理数据的软件。 5.试述数据库系统的特点。 数据库系统的主要特点有: 一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 二、数据的共享性高,冗余度低,易扩充

数据库系统概论第五版第七章习题解答和解析

第七章习题解答和解析 1. 试述数据库设计过程。 答: 这里只概要列出数据库设计过程的六个阶段: (1) 需求分析; (2) 概念结构设计; (3) 逻辑结构设计; (4) 数据库物理设计; (5) 数据库实施; (6) 数据库运行和维护。 这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。 设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。 解析:希望读者能够认真阅读《概论》7.1 的内容,了解并掌握数据库设计过程。 2.试述数据库设计过程中结构设计部分形成的数据库模式。 答: 数据库结构设计的不同阶段形成数据库的各级模式,即: (1) 在概念设计阶段形成独立于机器特点,独立于各个DB MS 产品的概念模式,在本篇中就是E-R 图; (2) 在逻辑设计阶段将E-R 图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式,然后在基本表的基础上再建立必要的视图(View),形成数据的外模式; (3) 在物理设计阶段,根据DB MS 特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。 读者可以参考《概论》上图7.4。图中概念模式是面向用户和设计人员的,属于概念模型的层次;逻辑模式、外模式、内模式是DBMS 支持的模式,属于数据模型的层次,可以在DBMS 中加以描述和存储。 3.需求分析阶段的设计目标是什么? 调查的内容是什么? 答 需求分析阶段的设计目标是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。 调查的内容是“数据”和“处理”,即获得用户对数据库的如下要求: (1) 信息要求,指用户需要从数据库中获得信息的内容与性质,由信息要求可以导出数据要求,即在数据库中需要存储哪些数据; (2) 处理要求,指用户要完成什么处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理; (3) 安全性与完整性要求。 详细的可以参考《概论》上7. 2。 4.数据字典的内容和作用是什么? 答 数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(1) 数据项;(2) 数据结构;(3) 数

数据库课后习题答案

第1章绪论 1 .试述数据、数据库、数据库系统、数据库管理系统的概念。 答: ( l )数据(Data ) :描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。解析在现代计算机系统中数据的概念是广义的。早期的计算机系统主要用于科学计算,处理的数据是整数、实数、浮点数等传统数学中的数据。现代计算机能存储和处理的对象十分广泛,表示这些对象的数据也越来越复杂。数据与其语义是不可分的。500 这个数字可以表示一件物品的价格是500 元,也可以表示一个学术会议参加的人数有500 人,还可以表示一袋奶粉重500 克。 ( 2 )数据库(DataBase ,简称DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 ( 3 )数据库系统(DataBas 。Sytem ,简称DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。解析数据库系统和数据库是两个概念。数据库系统是一个人一机系统,数据库是数据库系统的一个组成部分。但是在日常工作中人们常常把数据库系统简称为数据库。希望读者能够从人们讲话或文章的上下文中区分“数据库系统”和“数据库”,不要引起混淆。 ( 4 )数据库管理系统(DataBase Management sytem ,简称DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地

数据库第三章部分习题答案

对于教学数据库的三个基本表 S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用SQL的查询语句表达下列查询: 3.2.1检索年龄小于17岁的女学生的学号和姓名 select s#,sname from S where age<17 and sex=F; 3.2.2检索男生所学课程的课程号和课程名 select c#,cname from C where c# in (select distinct c# from SC where s# in (select s# from S where sex=M)) 3.2.3检索男生所学课程的任课老师的工号和姓名 select t#,tname from T where t# in(select distinct t# from C where c# in(select distinct c# from SC where s# in(select s# from S where sex=1))); 3.2.4检索至少选修两门课程的学生的学号 select s# from SC group by s#. having count(c#)>=2; 3.2.5检索至少有学号为S2和S4所学的课程和课程名select c#,cname from C where c# in((select c# from sc where s#='S2') intersect (select c# from sc where s#='S4') ); 3.2.6检索‘WANG'同学不学的课程号 select c# from c except (select distinct c# from sc where s# =(select s# from s where sname='WANG'));

相关主题
文本预览
相关文档 最新文档