A. 患者编号 B. 患者姓名 C. 患者编号和患者姓名 D. 医生编号和患者编号 5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是( )。
A. 书号 B. 读者号 C. 书号+读者号 D. 书号+读者号+借期 6. 关系模型中实现实体间 N:M 联系是通过增加一个( ) 。
A.关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现 7. 关系代数运算是以( )为基础的运算 。
A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算 8. 关系数据库管理系统应能实现的专门关系运算包括( )。
A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 9. 五种基本关系代数运算是( )。
A.∪ - × σ π B.∪ - σ π C.∪ ∩ × σ π D.∪ ∩ σ π 10. 关系代数表达式的优化策略中,首先要做的是( ) 。
A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡尔积运算 D.投影运算 11. 关系数据库中的投影操作是指从关系中( ) 。
A.抽出特定记录 B. 抽出特定字段 C.建立相应的影像 D. 建立相应的图形
12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是( )操作 。
A.投影 B. 联接 C. 选择 D. 复制 13. 关系代数中的联接操作是由( )操作组合而成 。
A.选择和投影 B. 选择和笛卡尔积 C.投影、选择、笛卡尔积 D. 投影和笛卡尔积
14. 自然联接是构成新关系的有效方法。一般情况下,当对关系R和S是用自然联接时,要求R和S含有一个或者多个共有的( ) 。
A.记录 B. 行 C. 属性 D. 元组 15. 假设有关系R和S,在下列的关系运算中,( )运算不要求:“R和S具有相同的元数,且它们的对应属性的数据类型也相同” 。
A.R∩S B. R∪S C. R-S D. R×S
16. 假设有关系R和S,关系代数表达式R-(R-S)表示的是( )。
A.R∩S B. R∪S C. R-S D. R×S
17. 下面列出的关系代数表达是中,那些式子能够成立( ) 。
ⅰ. σf1 ( σf2 (E)) = σf1∧f2 (E) ⅱ. E1∞E2 = E2∞E1
ⅲ. (E1∞E2)∞E3 = E1∞ (E2∞E3) ⅳ. σf1 ( σf2 (E)) =σf2 ( σf1(E)) A.全部 B. ⅱ和ⅲ C. 没有 D. ⅰ和ⅳ
18. 下面四个关系表达式是等价的,是判别它们的执行效率( ) 。
E1 =πA (σ B=C ∧ D=E′ (R×S) ) E2 =πA (σ B=C (R× σD=E′ (S) ) E3 =πA (R∞B=CσD=E′(S) ) E3 =πA (σD=E′ (R∞B=C S) )
A. E3最快 B. E2最快 C. E4最快 D. E1最快 19. 有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是( ) 。
ⅰ. πS_ID,SCORE (σ age>22 (SC) ) ⅱ. σ age>22 (πS_ID,SCORE (SC) )
ⅲ. πS_ID,SCORE (σ age>22 (πS_ID,SCORE,AGE (SC) ) ) A.ⅰ和 ⅱ B. 只有ⅱ正确 C. 只有 ⅰ正确 D. ⅰ和ⅲ正确 选择题参考答案:(1) A (2) D (3) C (4) A (5) D (6) A (7) C (8) B (9) A (10) B
5
(11) B (12) C (13) B (14) C (15) D (16) A (17) C (18) A (19) D
二、简答题
1. 试述关系模型的三个组成部分。 2. 试述关系数据语言的特点和分类。
3.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S( SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
试用关系代数完成如下查询:
(1) 求供应工程J1零件的供应商号码SNO; (2) 求供应工程J1零件P1的供应商号码SNO; (3) 求供应工程J1零件为红色的供应商号码SNO;
(4) 求没有使用天津供应商生产的红色零件的工程号JNO; (5) 求至少用了供应商S1所供应的全部零件的工程号JNO。 4. 定义并理解下列术语,说明它们之间的联系与区别: (1)域,笛卡尔积,关系,元组,属性 (2)主码,候选码,外码
(3)关系模式,关系,关系数据库
5. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空?
6. 试述等值连接与自然连接的区别和联系。 7. 关系代数的基本运算有哪些?
8. 试用关系代数的基本运算来表示其他运算。
SQL语言
一、选择题
1. SQL语言是( )的语言,容易学习 。
A.过程化 B. 非过程化 C.格式化 D. 导航式
2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是( ) 。
A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是( ) 。
A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图
4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )。
A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL语言中,删除一个视图的命令是( )。
A.DELETE B.DROP C.CLEAR D.REMOVE 6. 在SQL语言中的视图VIEW是数据库的( ) 。
A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的SQL语句中,( )不是数据定义语句。
6
A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销数据库中已经存在的表S,可用( )。
A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表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)) 10. 学生关系模式 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’ 11. 有关系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’
12. 设关系数据库中一个表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)
13. 设关系数据库中一个表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=’化学’ C. UPDATE grade=85 WHERE SN=’王二’ AND CN=’化学’ D. UPDATE grade=’85’WHERE SN=’王二’ AND CN=’化学’ 14. 在SQL语言中,子查询是( ) 。
A. 返回单表中数据子集的查询语言 B. 选取多表中字段子集的查询语句 C. 选取单表中字段子集的查询语句
D. 嵌入到另一个查询语句之中的查询语句 15. SQL是一种( )语言。
A. 高级算法 B. 人工智能 C. 关系数据库 D. 函数型 16. 有关系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=’ 数据库’ 17. 若用如下的SQL语句创建了一个表SC:
CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,( )行可以被插入 。
7
A.(’201009’,’111’,60,必修) B.(’200823’,’101’,NULL,NULL) C.(NULL,’103’,80,’选修’) D.(’201132’,NULL,86,’ ’) 18. 假设学生关系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) A (3) C (4) C (5) B (6) A (7) D (8) C (9) C (10) B
(11) A (12) D (13) A (14) D (15) C (16) A (17) B (18) D
二、简答题
1. 试述SQL语言的特点。 答:(1)综合统一。 SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。 (2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无须指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。
(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷,易学易用。 2. 试述SQL的定义功能。
答: SQL的数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用CREATE TABLE语句定义建立基本表,;ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;建立索引使用CREATE INDEX语句建立索引, DROP INDEX语句删除索引表;SQL语言使用CREATE VIEW命令建立视图,DROP VIEW语句删除视图。 6. 什么是基本表?什么是视图?两者的区别和联系是什么?
答:基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。 7. 试述视图的优点。
答:(1)视图能够简化用户的操作。
(2)视图使用户能以多种角度看待同一数据。
(3)视图对重构数据库提供了一定程度的逻辑独立性。 (4)视图能够对机密数据提供安全保护。 8. 所有的视图是否都可以更新?为什么?
答:不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的。如《概论》3.5.1中的视图S_G(学生的学号及他的平均成绩) CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC
GROUP BY Sno;
要修改平均成绩,必须修改各科成绩,而我们无法知道哪些课程成绩的变化导致了平均成绩的变化。 9. 哪类视图是可以更新的,哪类视图是不可更新的? 各举一例说明。 答:基本表的行列子集视图一般是可更新的。如《概论》3.5.3中的例1。 若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。 如《概论》3.5.3中的S_G视图。
10. 试述某个你熟悉的实际系统中对视图更新的规定。 答:(略)
8
相关推荐: