数据库练习题

导读:因为关系操作在不断地更新着数据库中的数据,关系数据库:关系数据库也有型和值之分,关系数据库的型也称为关系数据库模式,是对关系数据库的描述,关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库,3)用户定义的完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求,12.关系数据库中基于数学上的两类运算是________和________

数据库练习题

Dn上笛卡尔积D1×D2×?×Dn的子集称为关系,表示为 R(D1,D2,?,Dn)关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。

6 .关系代数运算中,传统的集合运算有_____,_____,_____,_____。 (问答题) 答案:笛卡尔积 并 交 差

7 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? (填空题) 答案:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。 2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必 须为: ? 或者取空值(F的每个属性值均为空值); ? 或者等于S中某个元组的主码值。 3) 用户定义的完整性是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。 在参照完整性中,外部码属性的值可以为空,它表示该属性的值尚未确定。但前提条件是该外部码属性不是其所在关系的主属性。例如,在下面的“学生”表中,“专业号”是一个外部码,不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)而在下面的“选修”表中的“课程号”虽然也是一个外部码属性,但它又是“选修”表的主属性,所以不能为空。因为关系模型必须满足实体完整性。课程(课程号,课程名,学分)选修(学号,课程号,成绩)

8 .关系代数运算中,基本的运算是________,________,________,________,________。 (问答题)

答案:并 差 笛卡尔积 选择 投影

9 . 等值连接与自然连接的区别是什么? (填空题)

答案:连接运算中有两种最为重要也最为常用的连接,一种是等值连接(equi-join),另一种是自然连接(Natural join)。 Θ为“=”的连接运算称为等值连接。它是从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组。即等值连接为: R A=B S = { tr ts| tr∈R ∧ ts∈S ∧ tr[A] = ts[B] } 自然连接(Natural join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。即若R和S具有相同的属性组B,则自然连接可记作: R S = { tr ts| tr∈R ∧ ts∈S ∧ tr[B] = ts[B] } 10 .关系代数运算中,专门的关系运算有________,________,________。 (问答题) 答案:选择 投影 连接

11 . 代数的基本运算有哪些?如何用这些基本运算来表示其他的关系基本运算? (填空题)

答案:在八种关系代数运算中,并、差、笛卡尔积、投影和选择五种运算为基本的运算。其他三种运算,即交、连接和除,均可以用五种基本运算来表达。交运算: R ? S = R-(R-S) 连接运算 R S = ?A?B(R?S) A?B 除运算:R(X,Y)? S(Y,Z) = ?X? - ?X ( ?X? ? ?Y(S) ?R ) X、Y、Z 为属性组,R中的Y和S中的Y可以有不同的属性名,但必须出自相同的域集。

11

12 .关系数据库中基于数学上的两类运算是________和________。 (问答题) 答案:关系代数 关系演算

13 .关系代数中,从两个关系中找出相同元组的运算称为________运算。 (问答题) 答案:交

14 .R S表示R与S的________。 (问答题) 答案:自然连接 15 .设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH表示学号,XM表示姓名,XB表示性别,NL表示年龄,DP表示系部。查询学生姓名和所在系的投影操作的关系运算式是________________。 (问答题) 答案:π2,5(S) 或 πXM,DP(S) 16 .在“学生-选课-课程”数据库中的3个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GRADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为________________。 (问答题) 答案:πSNAME,GRADE(S(SC(σCNAME=’数据库技术’?)))

17 .已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是________,系关系的外码是________,学生关系的主码是________,学生关系的外码是________。 (问答题) 答案:

系编号 没有 学号 系编号

第3章 关系数据库标准语言SQL(选择题)

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.外模式

12

B.模式 C.内模式 D.存储模式

6.下列的SQL语句中,( )不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT

7.若要撤销数据库中已经存在的表S,可用( )。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S

8.若要在基本表S中增加一列CN(课程名),可用( )。 A. ADD TABLE S(CN CHAR(8)) B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD(CN CHAR(8)) D. ALTER TABLE S (ADD CN CHAR(8)) 9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。 A.DELETE Age from S

B.ALTER TABLE S DROP Age C.UPDATE S Age

D.ALTER TABLE S ‘Age’

10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。

A.S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’

B.S.S# = SC.S# and C.C# = SC.C# and SAGE in>=20 and CNAME in ‘ACCESS’ C.SAGE in>=20 and CNAME in ‘ACCESS’ D.SAGE>=20 and CNAME=’ ACCESS’

11.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用( )。 A. ADD INTO S VALUES(’张二’,’化学’,’80’) B. INSERT INTO S VALUES(’张二’,’化学’,’80’) C. ADD INTO S VALUES(’张二’,’化学’,80) D. INSERT INTO S VALUES(’张二’,’化学’,80)

12.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用( ) 。

A. UPDATE S SET grade=85 WHERE SN=’王二’ AND CN=’化学’ B. UPDATE S SET grade=’85’ WHERE SN=’王二’ AND CN=’化学’

13

C.UPDATE grade=85 WHERE SN=’王二’ AND CN=’化学’ D.UPDATE grade=’85’ WHERE SN=’王二’ AND CN=’化学’ 13.在SQL语言中,子查询是( ) 。 A.返回单表中数据子集的查询语言 B.选取多表中字段子集的查询语句 C.选取单表中字段子集的查询语句

D.嵌入到另一个查询语句之中的查询语句 14.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别, C#是课程号,CNAME是课程名称。要查询选修“数据库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是( )。

A. S.S# = SC.S# and C.C# = SC.C# and SEX=’男’ and CNAME=’数据库’ B. S.S# = SC.S# and C.C# = SC.C# and SEX in’男’and CNAME in’数据库’ C. SEX ’男’ and CNAME ’ 数据库’ D. S.SEX=’男’ and CNAME=’ 数据库’

15.若用如下的SQL语句创建了一个表SC: CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(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

第3章 关系数据库标准语言SQL 题号 正确答案

(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

第3章 关系数据库标准语言SQL(填空题)

1 .试述SQL语言的特点。 (填空题) 答案:

(1)综合统一。 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。

14

2 .SQL的中文全称是________________。 (问答题) 答案:结构化查询语言

3 .试述SQL的定义功能。 (填空题) 答案:

SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引;使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。

4 .SQL语言除了具有数据查询和数据操纵功能之外,还具有________和________的功能,它是一个综合性的功能强大的语言。 (问答题) 答案:数据定义 数据控制

5 .在关系数据库标准语言SQL中,实现数据检索的语句命令是________。 (问答题) 答案: SELECT

6 .用SQL语句建立第2章习题5中的四个表。 (填空题) 答案:对于S表:S( SNO,SNAME,STATUS,CITY); 建S表 CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10)); P(PNO,PNAME,COLOR,WEIGHT); 建P表 CREATE TABLE P (PNO CHAR(3), PNAME CHAR(10), COLOR CHAR(4), WEIGHT INT); J(JNO,JNAME,CITY); 建J表 CREATE TABLE J (JNO CHAR(3), JNAME CHAR(10), CITY CHAR(10)); SPJ(SNO,PNO,JNO,QTY); 建SPJ表 CREATE TABLE SPJ (SNO CHAR(3), PNO CHAR(3), JNO CHAR(3), QTY INT); 7 .在SQL语言的结构中,________有对应的物理存储,而________没有对应的物理存储。 (问答题)

答案:基本表 视图

8 .针对上题中建立的四个表试用SQL语言完成第2章习题5中的查询。 (填空题) 答案:(1) 求供应工程J1零件的供应商号码SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’;(2) 求供应工程J1零件P1的供应商号码SNO; SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO=‘P1’;(3) 求供应工程J1零件为红色的供应商号码SNO; SELECT SNO /*这是嵌套查询*/ FROM SPJ WHERE JNO=‘J1’ AND PNO IN /*找出红色的零件的零件号码PNO */ (SELECT PNO FROM P /*从P表中找*/ WHERE COLOR=‘红’);或 SELECT SNO FROM SPJ,P /*这是两表连接查询*/ WHERE JNO=‘J1’ /*这是复合条件连接查询*/ AND SPJ.PNO=P.PNO AND COLOR=‘红’; (4) 求没有使用天津供应商生产的红色零件的工程号JNO; *解析:读者可以对比第2章习题5中用ALPHA语言来完成该查询的解答。如果大家理解了有关该题的解析说明,那么本题的解答可以看成是把关系演算用SQL来表示的过程。 GET W (J.JNO): ??SPJX( SPJX .JNO=J.JNO ? ?SX ( SX.SNO=SPJX .SNO ? SX .CITY='天津' ? ?PX(PX .PNO=SPJX .PNO ? PX .COLOR=' 红' )) 这里的第一种解法是使用多重嵌套查询,第二种方法的子查询是一个多表连接。注意:从J表入手,以包含那些尚未使用任何零件的工程号。 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN /*天津供应商的SNO*/ (SELECT SNO FROM S WHERE CITY=‘天津’) AND PNO IN /*红色零件的PNO*/ (SELECT PNO FROM P WHERE COLOR=‘红’)); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM SPJ, S, P WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO AND S.CITY=‘天津’ AND P. COLOR=‘红’); //删除: 本例中父查询和子查询均引用了Student表,可以像自身连接那样用别名将父查询中的Student表与子查询中的Student表区分开:// (5) 求至少用了供应商S1所供应的全部零件的工程号JNO (类似于P113例44)。 *解析:本查询的解析可以参考第二章第5题,用ALPHA语言的逻辑蕴

15

五星文库wxphp.com包含总结汇报、党团工作、旅游景点、人文社科、工作范文、资格考试、办公文档、专业文献、经管营销以及数据库练习题等内容。

本文共10页123456>>10