数据库原理练习第三篇.docx

上传人:b****5 文档编号:8105006 上传时间:2023-01-28 格式:DOCX 页数:22 大小:24.97KB
下载 相关 举报
数据库原理练习第三篇.docx_第1页
第1页 / 共22页
数据库原理练习第三篇.docx_第2页
第2页 / 共22页
数据库原理练习第三篇.docx_第3页
第3页 / 共22页
数据库原理练习第三篇.docx_第4页
第4页 / 共22页
数据库原理练习第三篇.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

数据库原理练习第三篇.docx

《数据库原理练习第三篇.docx》由会员分享,可在线阅读,更多相关《数据库原理练习第三篇.docx(22页珍藏版)》请在冰豆网上搜索。

数据库原理练习第三篇.docx

数据库原理练习第三篇

第三章

一、选择

1.SQL中,模式一级数据结构的基本单位是()。

(A)基本表

(B)视图

(C)元组

(D)属性

2.在下面列出的几种语言中,()是关系数据库的标准语言。

(A)C

(B)FORTRAN

(C)SQL

(D)PASCAL

3.下面关于SQL语言的说法中,错误的是()。

(A)一个SQL数据库是一个基本表

(B)SQL语言支持数据库的三级模式结构

(C)一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表

(D)SQL的一个表可以是一个基本表,也可以是一个视图

4.SQL语句集数据定义功能和数据控制功能与一体。

如下语句中,哪个是属于数据控制功能的?

()

(A)GRANT

(B)CREATE

(C)INSERT

(D)SLECT

5.下列那一个不是SQL的特点()。

(A)综合统一

(B)高度非过程化

(C)面向记录的操作方式

(D)以同一种语法结构提供多种使用方式

6.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句ALTERTABLE实现()功能C

(A)数据查询

(B)数据操纵

(C)数据定义

(D)数据控制

7.在SQL语言中,修改基本表的语句是()。

(A)CREATTABLE

(B)DROPTABLE

(C)ALTERTABLE

(D)UPDATETABLE

8.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句CREATE实现哪类功能()。

(A)数据查询

(B)数据操纵

(C)数据定义

(D)数据控制

9.SQL的DROP INDEX语句的作用是()。

(A)删除索引     

(B)建立索引

(C)修改索引     

(D)更新索引

10.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句DROPTABLE实现()功能。

(A)数据查询

(B)数据操纵

(C)数据定义

(D)数据控制

11.在定义基本表的SQL语句CREATETABLE中,如果要定义某个属性不能取空值,应该在该属性后使用的约束条件短语是()。

(A)UNIQUE

(B)CLUSTER

(C)NOTNULL

(D)<>NULL

12.SQL数据库中的模式与下列哪项是对应的?

()

(A)视图

(B)基本表

(C)存储文件

(D)以上均不与之对应

13.设关系R=(A,B,C),与SQL语句:

selectdistinctAfromRwhereB=17等价的关系代数表达式是()。

(A)ПA(R)

(B)σB=17(R)

(C)ПA(σB=17(R))

(D)σB=17(ПA(R))

14.在SQL语句中,实现投影操作的语句是()。

(A)select

(B)from

(C)where

(D)groupby

15.下面所列条目中,()不是标准的SQL语句。

(A)ALTERTABLE

(B)ALTERVIEW

(C)CREATETABLE

(D)CREATEVIEW

16.用GROUPBY子句对数据分组时,在分组中用来进行条件选择的子句是()。

(A)SELECT

(B)WHERE

(C)HAVING

(D)ORDERBY

17.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句SELECTTABLE实现()功能。

(A)数据查询

(B)数据操纵

(C)数据定义

(D)数据控制

18.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERTTABLE实现()功能

(A)数据查询

(B)数据操纵

(C)数据定义

(D)数据控制

19.视图是由下面()两者导出的表。

(A)模式、关系

(B)基本表、视图

(C)基本关系、关系

(D)内模式、外模式

20.在下列关于视图的叙述中,正确的一条是()

(A)当某一视图被删除后,由该视图导出的其他视图也将被自动删除

(B)若导出某视图的基本表被删除了,但该视图不受任何影响

(C)视图一旦建立,就不能被删除

(D)当修改某一视图时,导出该视图的基本表也将随之被修改

21.在SQL语言中,CREATEVIEW语句的建立用于视图。

如果要求视图更新时,必须满足子查询中的条件表达式,应当在该语句中使用短语()

(A)WITHUPDATE

(B)WITHINSERT

(C)WITHDELETE

(D)WITHCHECKOPTION

22.SQL数据库中的视图与下列哪项是对应的?

()

(A)关系模式      

(B)存储模式

(C)子模式      

(D)以上均不与之对应

(1)B

(2)C(3)C(4)B(5)A(6)D(7)C(8)C(9)B(10)A(11)D(12)A(13)D(14)A(15)B(16)D

1.SQL语言是()的语言,容易学习。

A.过程化

B.非过程化

C.格式化

D.导航式

2.在视图上不能完成的操作是()。

A.更新视图

B.查询

C.在视图上定义新的表

D.在视图上定义新的视图

3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。

A.数据查询

B.数据操纵

C.数据定义

D.数据控制

4.SQL语言中,删除一个视图的命令是()。

A.DELETE

B.DROP

C.CLEAR

D.REMOVE

5.在SQL语言中的视图VIEW是数据库的()。

A.外模式

B.模式

C.内模式

D.存储模式

6.下列的SQL语句中,()不是数据定义语句。

A.CREATETABLE

B.DROPVIEW

C.CREATEVIEW

D.GRANT

7.若要撤销数据库中已经存在的表S,可用()。

A.DELETETABLES

B.DELETES

C.DROPTABLES

D.DROPS

8.若要在基本表S中增加一列CN(课程名),可用()。

A.ADDTABLES(CNCHAR(8))

B.ADDTABLESALTER(CNCHAR8))

C.ALTERTABLESADD(CNCHAR8))

D.ALTERTABLES(ADDCNCHAR8))

9.学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。

要在表S中删除一个属性“年龄”,可选用的SQL语句是()。

A.DELETEAgefromS

B.ALTERTABLESDROPAge

C.UPDATESAge

D.ALTERTABLES‘Age’

 10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。

其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。

要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。

这里的WHERE子句的内容是()。

A.S.S#=SC.S#andC.C#=SC.C#andSAGE>=20andCNAME=‘ACCESS’

B.S.S#=SC.S#andC.C#=SC.C#andSAGEin>=20andCNAMEin‘ACCESS’

C.SAGEin>=20andCNAMEin‘ACCESS’

D.SAGE>=20andCNAME=’ACCESS’

11.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。

若要把“张二的化学成绩80分”插入S中,则可用()。

A.ADDINTOSVALUES(’张二’,’化学’,’80’)B.INSERTINTOSVALUES(’张二’,’化学’,’80’)

C.ADDINTOSVALUES(’张二’,’化学’,80)D.INSERTINTOSVALUES(’张二’,’化学’,80)

12.设关系数据库中一个表S的结构为:

S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。

若要更正王二的化学成绩为85分,则可用()。

A.UPDATESSETgrade=85WHERESN=’王二’ANDCN=’化学’

B.UPDATESSETgrade=’85’WHERESN=’王二’ANDCN=’化学’

C.UPDATEgrade=85WHERESN=’王二’ANDCN=’化学’

D.UPDATEgrade=’85’WHERESN=’王二’ANDCN=’化学’

13.在SQL语言中,子查询是()。

A.返回单表中数据子集的查询语言

B.选取多表中字段子集的查询语句

C.选取单表中字段子集的查询语句

D.嵌入到另一个查询语句之中的查询语句

 14.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。

其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。

要查询选修“数据库”课的全体男生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。

这里的WHERE子句的内容是()。

A.S.S#=SC.S#andC.C#=SC.C#andSEX=’男’andCNAME=’数据库’

B.S.S#=SC.S#andC.C#=SC.C#andSEXin’男’andCNAMEin’数据库’

C.SEX’男’andCNAME’数据库’

D.S.SEX=’男’andCNAME=’数据库’

15.若用如下的SQL语句创建了一个表SC:

CREATETABLESC(S#CHAR(6)NOTNULL,C#CHAR(3)NOTNULL,SCOREINTEGER,NOTECHAR(20));向SC表插入如下行时,()行可以被插入。

A.(’201009’,’111’,60,必修)

B.(’200823’,’101’,NULL,NULL)

C.(NULL,’103’,80,’选修’)

D.(’201132’,NULL,86,’’)

16.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE)。

要查询选修“Computer”课的男生姓名,将涉及到关系()。

A.S

B.S,SC

C.C,SC

D.S,C,SC

(1)B

(2)C(3)C(4)B(5)A(6)D(7)C(8)C(9)B(10)A(11)D(12)A(13)D(14)A(15)B(16)D

二、简答题:

1.where子句与having短语的区别是什么?

答:

where子句与having短语的区别在于作用对象不同。

where子句作用于基本表或视图,从中选择满足条件的元组。

having短语作用于组,从中选择满足条件的元组。

2.写出DDL、DML、DCL的含义,并写出你学过的DDL、DML、DCL语言。

答:

DDL:

数据定义语言,例如:

create,drop,alter。

DML:

数据操纵语言,例如:

insert,update,delete。

DCL:

数据控制语言,例如:

grant,revoke。

3.试述SQL语言的特点。

答:

综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。

4.试述SQL的定义功能。

答:

SQL的数据定义功能包括定义表、定义视图和定义索引。

5.什么是基本表?

什么是视图?

为什么视图被称为虚表?

两者的区别和联系是什么?

答:

基本表是本身独立存在的表,在SQL中一个关系就对应一个表。

视图是从一个或几个基本表导出的表。

因为数据库中只存储有关视图的定义而不存储视图所对应的数据,这些数据仍存放在导出视图的基本表中,所以视图被称为虚表。

基本表是实际独立存放在数据库中的表,是实表。

视图在概念上与基本表等同,用户可以在视图上再定义视图。

6.试述视图的优点。

(P128)

答:

视图能够简化用户的操作、视图使用户能以多种角度看待同一数据、视图对重构数据库提供了一定程度的逻辑独立性、视图能够对机密数据提供安全保护。

7.所有的视图是否都可以更新?

为什么?

(P127)

答:

并不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新。

8.哪类视图是可以更新的,哪类视图是不可更新的?

各举一例说明。

(P127)

答:

行列子集视图是可更新的。

除行列子集视图外,还有些视图理论上是可更新的,但它们的确切特征还是尚待研究的课题。

还有些视图从理论上不可更新的。

综合题:

1.①教师表:

teachter(tno,tname,sex,birth,dept,title)。

teachter表有教工号(tno)、姓名(tname)、性别(sex)、出生年份(birth)、所在系(dept)、职称(title)、6个属性组成,其中tno为主码。

②课程表:

course(cno,cname,cpno,credit)。

course表有课程号(cno)、课程名(cname)、先修课(cno)、学分(cpno)

③教师任课表:

tc(tno,cno,grade)。

tc表有教工号(tno)、课程号(cno)、学生评教分数(grade)3个属性组成,主码为(tno,cno)。

完成下列语句:

(1)查询全体教师的详细记录。

答:

select*

Fromteacher;

或selecttno,tname,sex,birth,dept,title

Fromteacher;

(2)查询计算机系全体教师的名单。

答:

selecttname

Fromteacher

Wheredept=’cs’;

(3)查询所有年龄在40岁以下的教师姓名及其年龄。

答:

selecttname,2008-birthtage

Fromteacher

Where2008-birth<40;

或selecttname,2008-birth

Fromteacther

Wherenot(2008-birth)>=40;

(4)查询物理系(ph)数学系(ma)和计算机科学系(cs)教师的姓名和性别。

答:

selecttname,sex

Fromteacher

Wheredeptin(‘ph’,‘ma’,‘cs’)

(5)查询不是物理系、数学系、计算机科学系的教师的姓名和性别。

答:

selecttname,sex

Fromteacher

Wheredeptnotin(‘ph’,’ma’,’cs’)

(6)查询教工号为0101的教师的详细情况。

答:

select*

Fromteacher

Wheretnolike‘0101’;

或select*

Fromteacher

Wheretno=’0101’;

(7)查询所有姓孙教师的姓名、教工号和性别。

答:

selecttname,tno,sex

Fromteacher

Wheretnamelike‘孙%’;

(8)查询计算机系年龄在40岁以下的教师姓名。

答:

selecttname

Fromteacher

Wheredept=’cs’and2008-birth<40;

2.查询计算机科学系所有同学的名单

答:

SELECTSname

FROMStudent

WHERESdept=‘CS’

3.查询所有年龄在20岁以下的学生姓名及年龄。

答:

SELECTSname,Sage

FROMStudent

WHERESage<20;

4.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名,所在系,年龄。

答:

SELECTSname,Sdept,Sage

FROMStudent

WHERESageBETWEEN20AND23;

5.查询年龄不在20~23岁之间的学生姓名,所在系,年龄。

答:

SELECTSname,Sdept,Sage

FROMStudent

WHERESageNOTBETWEEN20AND23;

6.查询计算机系(CS)数学系(MA)和信息系(IS)学生的姓名和性别。

答:

SELECTSname,Ssex

FROMStudent

WHERESdeptIN(‘CS’,‘MA’,‘IS’);

7.查询学号为200215121的学生的详细情况。

答:

SELECT*

FROMStudent

WHERESno=‘200215121’;

8.查询所有不姓刘的学生的姓名、学号和性别

答:

SELECTSname,Sno,Ssex

FROMStudent

WHERESnameNOTLIKE‘刘%’;

9.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。

查询缺少成绩的学生的学号和相应的课程号。

答:

SETECTSno,Cno

FROMSC

WHEREGradeISNULL

10.查询选修了3门以上课程的学生学号

答:

SETECTSno

FROMSC

GROUPBYSno

HAVINGCOUNT(*)>3;

11.查询选修了课程名为信息系统的学生学号和姓名。

答:

SETECTSno,Sname

FROMStudent

WHERESnoIN

(SELETESno

FROMSC

WHERECnoIN

(SELECTCno

FROMCourse

WHERECname=‘信息系统’

);

12.查询没有选修1号课程的学生姓名

答:

SELECTSname

FROMStudent

WHERENOTEXISTS

(SERECT*

FROMSC

WHERESno=Student。

SnoANDCno=‘1’);

13.查询选修了全部课程的学生姓名

答:

SELECTSname

FROMStudent

WHERENOTEXISTS

(SELECT*

FROMCourse

WHERENOTEXISTS

(SELECT*

FROMSC

WHERESno=Student。

Sno

ANDCno=Course。

Cno));

14.查询至少选修了学生200215122选修的全部课程的学生号码

答:

SELECTDISTINCTSno

FROMSCSCX

WHERENOTEXISTS

(SELECT*

FROMSCSCY

WHERESCYSno=‘200215122’AND

NOTEXISTS

(SELECT*

FROMSCSCZ

WHERESCZ。

Sno=SCX。

SnoAND

SCZ。

Cno=SCY。

Cno));

15.用SQL语言建立表

(1)S(SNO,SNAME,STATUS,CITY);

(2)p(PNO,PNAME,COLOR,WEIGHT);

(3)J(JNO,JNAME,CITY);

(4)SPJ(SNO,PNO,JNO,QTY);

答:

(1)CREATETABLE

(SNOCHAR

(2)PRIMARYKEY,

SNAMECHAR(8),

STATUSCHAR(4),

CITYCHAR(8),

);

(2)CREATETABLEP

(PNOCHAR

(2)PRIMARYKEY,

PNAMECHAR(8),

COLORCHAR(4),

WEIGHTCHAR(4),

);

(3)CREATETABLEJ

(JNOCHAR

(2),PRIMARY。

KEY,

JNAMECHAR(8),

CITYCHAR(8),

);

(4)CREATETABLE。

SPJ

(SNOCHAR

(2),

PNOCHAR

(2),

JNOCHAR

(2),

QTYInt,

PRIMARYKEY(SNO,PNO,TNO),

FOREIGNKEYSNOREFERENCESS(SNO),

FOREIGNKEYPNOREFERENCESPC(PNO),

FOREIGNKEYJNOREFERENCESJ(JNO)

);

S表

SNO

SNAME

STATUS

SITY

S1

精益

20

天津

S2

盛锡

10

北京

S3

东方红

30

北京

S4

丰泰盛

20

天津

S5

为民

30

上海

P表

PNO

PNAME

COLOR

WEIGHT

P1

螺母

12

P2

螺栓

绿

17

P3

螺丝刀

14

P4

螺丝刀

14

P5

凸轮

40

P6

齿轮

30

J表

JON

JNAME

CITY

J1

三建

北京

J2

一汽

长春

J3

弹簧厂

天津

J4

造船厂

天津

J5

机车厂

唐山

J6

无线电厂

常州

J7

半导体厂

南京

SPJ表

SNO

PNO

JNO

QTY

S1

P1

J1

200

S1

P1

J3

100

S1

P1

J4

700

S1

P2

J2

100

S2

P3

J1

400

S2

P3

J2

200

S2

P3

J4

500

S2

P3

J5

400

S2

P5

J1

400

S2

P5

J2

100

S3

P1

J1

200

S3

P3

J1

200

S4

P5

J1

100

S4

P6

J3

300

S4

P6

J4

200

S5

P2

J4

100

S5

P3

J1

200

S5

P6

J2

200

S5

P6

J4

500

16.用SQL完成下列的查询。

(1)求供应工程J1零件的供应商号码SNO:

SELECTDISTSNO

FROMSPJ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1