数据库原理练习第三篇Word文件下载.docx
- 文档编号:21241260
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:22
- 大小:24.97KB
数据库原理练习第三篇Word文件下载.docx
《数据库原理练习第三篇Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理练习第三篇Word文件下载.docx(22页珍藏版)》请在冰豆网上搜索。
(C)修改索引
(D)更新索引
10.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句DROPTABLE实现()功能。
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实现()功能。
18.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERTTABLE实现()功能
(A)数据查询
(C)数据定义
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)子模式
(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>
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为课程名,二者均为字符型;
若要更正王二的化学成绩为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子句。
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.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.哪类视图是可以更新的,哪类视图是不可更新的?
各举一例说明。
行列子集视图是可更新的。
除行列子集视图外,还有些视图理论上是可更新的,但它们的确切特征还是尚待研究的课题。
还有些视图从理论上不可更新的。
综合题:
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
(2)查询计算机系全体教师的名单。
selecttname
Fromteacher
Wheredept=’cs’;
(3)查询所有年龄在40岁以下的教师姓名及其年龄。
selecttname,2008-birthtage
Where2008-birth<
40;
或selecttname,2008-birth
Fromteacther
Wherenot(2008-birth)>
=40;
(4)查询物理系(ph)数学系(ma)和计算机科学系(cs)教师的姓名和性别。
selecttname,sex
Wheredeptin(‘ph’,‘ma’,‘cs’)
(5)查询不是物理系、数学系、计算机科学系的教师的姓名和性别。
Wheredeptnotin(‘ph’,’ma’,’cs’)
(6)查询教工号为0101的教师的详细情况。
Wheretnolike‘0101’;
或select*
Wheretno=’0101’;
(7)查询所有姓孙教师的姓名、教工号和性别。
selecttname,tno,sex
Wheretnamelike‘孙%’;
(8)查询计算机系年龄在40岁以下的教师姓名。
Wheredept=’cs’and2008-birth<
2.查询计算机科学系所有同学的名单
SELECTSname
FROMStudent
WHERESdept=‘CS’
3.查询所有年龄在20岁以下的学生姓名及年龄。
SELECTSname,Sage
WHERESage<
20;
4.查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名,所在系,年龄。
SELECTSname,Sdept,Sage
FROMStudent
WHERESageBETWEEN20AND23;
5.查询年龄不在20~23岁之间的学生姓名,所在系,年龄。
WHERESageNOTBETWEEN20AND23;
6.查询计算机系(CS)数学系(MA)和信息系(IS)学生的姓名和性别。
SELECTSname,Ssex
WHERESdeptIN(‘CS’,‘MA’,‘IS’);
7.查询学号为200215121的学生的详细情况。
SELECT*
WHERESno=‘200215121’;
8.查询所有不姓刘的学生的姓名、学号和性别
SELECTSname,Sno,Ssex
WHERESnameNOTLIKE‘刘%’;
9.某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
查询缺少成绩的学生的学号和相应的课程号。
SETECTSno,Cno
FROMSC
WHEREGradeISNULL
10.查询选修了3门以上课程的学生学号
SETECTSno
FROMSC
GROUPBYSno
HAVINGCOUNT(*)>
3;
11.查询选修了课程名为信息系统的学生学号和姓名。
SETECTSno,Sname
WHERESnoIN
(SELETESno
WHERECnoIN
(SELECTCno
FROMCourse
WHERECname=‘信息系统’
)
);
12.查询没有选修1号课程的学生姓名
FROMStudent
WHERENOTEXISTS
(SERECT*
FROMSC
WHERESno=Student。
SnoANDCno=‘1’);
13.查询选修了全部课程的学生姓名
WHERENOTEXISTS
(SELECT*
FROMCourse
WHERENOTEXISTS
Sno
ANDCno=Course。
Cno));
14.查询至少选修了学生200215122选修的全部课程的学生号码
SELECTDISTINCTSno
FROMSCSCX
WHERENOTEXISTS
FROMSCSCY
WHERESCYSno=‘200215122’AND
NOTEXISTS
FROMSCSCZ
WHERESCZ。
Sno=SCX。
SnoAND
SCZ。
Cno=SCY。
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),
(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
丰泰盛
S5
为民
上海
P表
PNO
PNAME
COLOR
WEIGHT
P1
螺母
红
12
P2
螺栓
绿
17
P3
螺丝刀
蓝
14
P4
P5
凸轮
40
P6
齿轮
J表
JON
JNAME
CITY
J1
三建
J2
一汽
长春
J3
弹簧厂
J4
造船厂
J5
机车厂
唐山
J6
无线电厂
常州
J7
半导体厂
南京
SPJ表
JNO
QTY
200
100
700
400
500
300
16.用SQL完成下列的查询。
(1)求供应工程J1零件的供应商号码SNO:
SELECTDISTSNO
FROMSPJ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 练习 第三