关系代数及SQL语言的习题
数据库练习题
一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。
πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。
(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。
3、检索至少选修两门课程的学生学号及姓名。
4、查询王力同学不学课程的课程名。
5、查询既选修了课程1也选修了课程2的学生学号。
6、检索全部学生都选修的课程的课程号与课程名。
7、查询刘宏老师所授课程的每门课程的学生平均成绩。
8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。
9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。
答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。
select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。
SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。
SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。
数据库原理试卷带答案
数据库原理试卷A一、单选题(本题共20个小题,每题1分,共20分。
答案唯一,多选或少选均不得分。
请将答案按对应的题号写在下面的表格中)1.下述关于数据库系统的正确叙述是( A )。
A. 数据库系统减少了数据冗余B. 数据库系统避免了一切冗余C. 数据库系统中数据的一致性是指数据类型一致D. 数据库系统比文件系统能管理更多的数据2. 数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( A )。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS3. 描述数据库全体数据的全局逻辑结构和特性的是( A )。
A.模式B. 内模式C. 外模式D. 用户模式4. 要保证数据库的逻辑数据独立性,需要修改的是(A )。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式5. 数据库系统的数据独立性体现在( B )。
A.不会因为数据的变化而影响到应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构6. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称这个属性为( C )。
A. 关键字B. 数据项C. 主属性D. 主属性值7. 现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是( D )。
A. 患者编号B. 患者姓名C. 患者编号和患者姓名D. 医生编号和患者编号8. 自然连接是构成新关系的有效方法。
一般情况下,当对关系R和S使用自然连接时,要求R或S含有一个或多个共有的( D )。
A. 元组B. 行C. 纪录D. 属性9. 有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是( D )。
第2章关系代数补充作业及答案(选做)
关系代数补充习题(摘自数据库系统导论)单项选择:1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为________。
(1)主码(2)候选码(3)主属性(4)外码2.________由数据结构、关系操作集合和完整性约束三部分组成。
(1)关系模型(2)关系(3)关系模式(4)关系数据库3.SQL 语言属于________。
(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和关系演算双重特点的语言4.关系演算是用________来表达查询要求的方式。
(1)谓词(2) 关系的运算(3)元组(4)域5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。
(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动6.一组具有相同数据类型的值的集合称为________。
(1)关系(2)属性(3)分量(4)域7.在一个关系中,不能有相同的________。
(1)记录(2)属性(3)分量(4)域8.关系是________。
(1)型(2)静态的(3)稳定的(4)关系模型的一个实例9.所谓空值就是________的值。
(1)数值0 (2)空的字符串(3)未知的值(4)任何值10.集合R 与S 的差表示为________。
(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}(4) {trts|tr∈R ∧ts∈S}问答题2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。
证明之。
2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。
试用这五种基本操作来表示自然连接、交和除。
2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。
对其进行证明。
如果A 和B 有相同的表头,则上述表达式等价于什么?2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。
SQL查询习题及答案
36.设教学用的四个基本表(S,C,T,SC)(2)查询年龄大于23岁的女同学的学号和姓名select 姓名,学号from swhere 性别='女' and 年龄>23(3)查询至少选修了刘老师所讲授课程中的一门课程的女同学姓名select s.姓名from s,scwhere s.性别='女'and s.学号=sc.学号and sc.课程编号in(select c.课程编号from c,twhere c.教师编号=t.教师编号and t.姓名='刘%')(4)查询至少选修了2门课程的学生学号select sc.学号from scgroup by 学号having count(课程编号)>2(5)查询全部学生都选修的课程号与课程名select c.课程编号,c.课程名称from c,scwhere sc.课程编号=c.课程编号and sc.学号=(select distinct s.学号from s)(6)计算机系每个教师讲授的课程号select t.教师编号,课程编号from c,twhere t.所在系='计算机系(7)查询没有选修过任何一门课程的学生的学号select s.学号from swhere s.学号not in(select distinct sc.学号from sc)(10)统计个系教师的人数select count (教师编号)from tgroup by 所在系(11)统计出教师人数超过10人的系的名称select t.所在系from tgroup by 所在系having count(教师编号)>10(12)在选课表SC中查询成绩为NULL的学生的学号和课程号select 学号课程编号from scwhere 成绩='NULL'(13)姓王的同学的年龄、姓名、选课名称、成绩select 年龄,姓名,课程名称,成绩from s,c,scwhere s.学号=sc.学号and c.课程编号=sc.课程编号and s.姓名='王%'(14)查询年龄大于女同学平均年龄的男同学姓名和年龄select 姓名,年龄from swhere 性别='男' and 年龄>(select avg(年龄)from swhere 性别='女')37.在数据库{USER、ORDER}中,用户需要查询“所有于2009年5月25日下订单的女顾客姓名”。
SQL数据学习:第5章 习 题
第4章习题一.单项选择1.SQL语言是____的语言,易学习.A 过程化B 非过程化C 格式化D 导航式提示:SQL是一种介于关系代数与关系演算之间的结构化查询语言,它是高度非过程化的.2.SQL语言是____语言.A 层次数据库B 网络数据库C 关系数据库D 非数据库提示:SQL是关系数据库标准语言.3.SQL语言具有____的功能.A 关系规范化,数据操纵,数据控制B 数据定义,数据操纵,数据控制C 数据定义,关系规范化,数据控制D 数据定义,关系规范化,数据操纵提示:SQL语言自身不具备关系规范化功能.4.在SQL中,用户可以直接操作的是____.A 基本表B 视图C 基本表和视图5.在SQL语言中,实现数据检索的语句是_____.A SELECTB INSERTC UPDATED DELETE6.SELECT语句执行结果是_____.A 数据项B 元组C 表D 数据库7.在SQL语句中,对输出结果排序的语句是_____.A GROUP BYB ORDER BYC WHERED HA VING8.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用____.A WHEREB GROUP BYC ORDER BYD HA VING9.在SELECT语句中使用*表示____.A 选择任何属性B 选择全部属性C 选择全部元组D 选择主码10.在SELECT语句中,使用MAX(列名)时,该”列名”应该____.A 必须是数值型B 必须是字符型C 必须是数值型或字符型D 不限制数据类型11.使用CREATE TABLE语句创建的是____.A 数据库B 表C 试图D 索引12.下列SQL语句中,修改表结构的是____.A ALTERB CREATEC UPDATED INSERT13.在SQL中使用UPDA TE语句对表中数据进行修改时,应使用的语句是____.A WHEREB FROMC V ALUESD SET14.视图建立后,在数据库中存放的是____.A 查询语句B 组成视图的表的内容C 视图的定义D 产生视图的表的定义15.以下叙述中正确的是_____.A SELECT命令是通过FOR子句指定查询条件B SELECT命令是通过WHERE子句指定查询条件C SELECT命令是通过WHILE子句指定查询条件D SELECT命令是通过IS子句指定查询条件16.与WHERE AGE BETWEEN 18 AND 23完全等价的是____.A WHERE AGE>18 AND AGE<23B WHERE AGE<18 AND AGE>23C WHERE AGE>18 AND AGE<=23D WHERE AGE>=18 AND AGE<=2317.在查询中统计记录(元组)的个数时,应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG18.在查询中统计某列中值的个数应使用____函数.A SUMB COUNT(列名)C COUNT(*)D A VG19.已知基本表SC(S#,C#,GRADE),其中S#为学号,C#为课程号,GRADE为成绩.则”统计选修了课程的学生人数”的SQL—SELECT语句为_____.A SELECT COUNT(DISTINCT S#)FROM SCB SELECT COUNT(S#)FROM SCC SELECT COUNT()FROM SCD SELECT COUNT(DISTINCT *)FROM SC20.在数据库中有如图所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作____不能执行.A 从职工表中删除行(‘025’,’王芳’,’03’,720)B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中C 将职工号为”001”的工资改为700D 将职工号为”038”的部门号改为’03’提示:由于职工表中的职工号为主码,不能向其中插入同主码的记录.21.若用如下SQL语句创建一个表studentCREATE TABLE student(NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INT)可以插入到student表中的是_____.A (‘1031’,’曾华’,男,23)B (‘1031’,’曾华’,NULL,NULL)C (NULL,’曾华’,’男’,’23’)D (‘1031’,NULL,’男’,23)提示:A中性别SEX属性值格式不正确,C中NO属性值不能为空,D中NAME属性值不能为空.22.假设学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE).要查询选修”COMPUTER”课程的”女”同学的姓名,将涉及关系____.A SB SC,CC S,SCD S,SC,C二.填空1.SQL语言的数据定义功能包括定义数据库,定义基本表,定义视图,定义索引2.SELECT命令中,WHERE子句用于选择满足给定条件的元组,使用GROUP BY子句可按指定列的值分组,同时使用HA VING子句可提取满足条件的组.3.在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SELECT语句中使用DISTINCT保留字.4.视图是一个虚表,它是从一个或几个基本表(或视图)导出的表.在数据库中,只存放视图的定义不存放视图对应的数据接第一章10._____是对数据库系统静态特征的描述,_____是对数据库系统的动态特征的描述.11.数据库体系结构按照_____,____和_____三级结构进行组织.12.外模式是_____的子集.13.实体之间的联系可抽象为三类,它们是____,____和____.14.关系操作的特点是_____操作15.关系模型的完整性规则包括_____,_____和_____.16.自然连接运算是由_____,_____和_____操作组合而成的.17.关系模式的定义格式为_____.18.关系数据库中可命名的最小数据单位是。
sql数据库练习题
第一讲1、什么是数据管理?答:对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
2、在数据库的三个模式中( C )。
A.内模式只有一个,而模式和外模式可以有多个B.模式只有一个,而模式和外模式可以有多个C.模式和内模式只有一个,而外模式可以有多个D.模式、内模式和外模式均只有一个3、学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是( D )A.多对多B.一对一C.多对一D.一对多4、储蓄所有多个储户,一个储户可以在多个储蓄所存取款,储蓄所和储户之间的联系类型是:AA.多对多B.一对一C.多对一D.一对多5、学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)6、系、系主任、系与系主任间的一对一联系联系隐含在关系内部:系(系号,系名,办公地点)系主任(教师编号,姓名,年龄,性别,所在系号)第四讲1、什么是关系数据库?答:关系数据库(P18):所谓关系数据库就是采用关系模型作为数据的组织方式,换名话说就是支持关系模型的数据库系统。
2、关系数据的操作语言有哪几类,分别是什么?答:(1)、关系代数(2)、关系演算(3)、SQL语言3、关系数据的完整性约束分别是什么?答:(1)、实体完整性(2)、参照完整性(3)、用户定义完整性4、什么是码及候选码?并找出下述关系中的候选码。
答:(1)、码(P20):在关系的各个属性中,能够用来惟一标识一个元组的属性或属性组。
(2)、候选码(P20):若在一个关系中,某一个属性或属性组的值能唯一地标识该关系的元组,而真子集不行,则称该属性或属性组为候选码。
(3)、该关系的候选码为:职工编号,身份证号。
5、关系数据操作的对象和结果都是什么?答:集合6、给出三个域:D1=SUPERVISOR ={ 张清玫,刘逸}D2=SPECIALITY={计算机专业,信息专业}D3=POSTGRADUATE={李勇,刘晨,王敏}则D1,D2,D3的笛卡尔积为:D1×D2×D3 ={(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),(张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),(张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),(刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),(刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }7、现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业)的主键为:BA宿舍编号B学号C宿舍地址,姓名D宿舍编号,学号8、现有关系表:医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果,恢复情况)的主键是:AA患者编号,医生编号,诊断日期B医生编号C诊断日期D患者编号9、现有如下关系:职工(职工号、姓名、性别、职务、部门编号)部门(部门编号、部门名称、姓名、部门地址、电话)其中,职工关系中的外键是(A)A部门编号B姓名C职工号D职工号,姓名10、关系数据库(实体完整性规则)规定元组在组成主码的属性上不能取空值。
sql参考题(单项选择题)
一、单项选择1、createtableemp(empnochar(10)primarykey,deptnochar(10)foreignkeyreferencedept(deptno));根据这一定义可知___B___。
A、'dept不能引用emp中不存在的deptnoB、emp不能引用dept中不存在的deptnoC、dept中删除记录时,emp中记录跟着删除D、emp中不可以插入dept中不存在的empno2、E-R方法的三要素是(C)。
A、实体、属性、实体集B、实体、键、联系C、实体、属性、联系D、实体、域、候选键单选3、SQL语言中视图(view)对应数据库系统三级模式结构中的(C)。
A、内模式B、模式C、外模式D、都不对4、SQL语言最主要功能是(C)。
A、数据定义功能B、数据管理功能C、数据查询D、数据控制5、集合R与S的交可以用关系代数的5种基本运算表示为(A)。
A、R-(R-S)B、σF(R×S)C、空D、06、视图最主要的优点是什么? (A)A、提高数据的逻辑独立性B、提高查询效率C、操作灵活D、节省存储空间7、数据的正确、有效和相容称之为数据的(B)。
A、安全性B、一致性C、独立性D、完整性8、数据库系统不仅包括数据库本身,还要包括相应的硬件,软件和什么_?(D)A、数据库管理系统B、数据库应用系统C、相关的计算机系统D、各类相关人员9、数据库中只存放视图的(C)。
A、操作B、对应的数据C、定义D、限制10、下述哪一条是并发控制的主要方法(B)。
A、授权B、封锁C、日志D、索引11、与WHEREgradenotin(60,100)语句等价的子句是(B)。
A、WHEREgrade!=60ANDgrade<100B、WHERE grade!=60 ANDgrade!=100C、WHEREgrade!=60orgrade!=100D、WHEREgrade<60ORgrade>10012、SQL语言的GRANT,REVOKE语句主要用来维护数据库的(D)。
第三章 关系数据库标准语言SQL(习题)
一、选择题1.SQL语言是()的语言,容易学习.BA. 过程化B.非过程化C.格式化D.导航式2.在视图上不能完成的操作是()。
CA.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREA TE、DROP、ALTER语句是实现哪种功能()。
CA.数据查询B.数据操纵C.数据定义D.数据控制4.SQL语言中,删除一个视图的命令是()。
BA.DELETEB.DROPC.CLEARD.REMOVE5.在SQL语言中的视图VIEW是数据库的()。
AA.外模式B.模式C.内模式D.存储模式6.下列的SQL语句中,()不是数据定义语句。
DA.CREA TE TABLEB.DROP VIEWC.CREA TE VIEWD.GRANT7.若要撤销数据库中已经存在的表S,可用()。
CA.DELETE TABLE SB.DELETE SC.DROP TABLE SD.DROP S8.若要在基本表S中增加一列CN(课程名),可用()。
CA. 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语句是()。
BA.DELETE Age from SB.ALTER TABLE S DROP COLUMN AgeC.UPDA TE S AgeD.ALTER TABLE S ‘Age’10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。
其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。
数据库练习题(标准标准答案)
数据库练习题(标准标准答案)第四章练习题一、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价地关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B (σC≠'C56'(R?S))2、嵌入式SQL地预处理方式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌入地SQL语句处理成函数调用形式C.对源程序进行格式化处理D.把嵌入地SQL语句编译成目标程序3、SQL中,“DELETE FROM 表名”表示 [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)用于[ C]A.计算元组个数B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数5、在传统SQL技术中,使用“ORDER BY”子句地SELECT语句查询地结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提高查询速度地是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中地全部记录B. 删除基本表scC. 删除基本表sc中地列数据D. 删除基本表sc中地部分行8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现.A. 指针B. 游标C. 数组D. 栈9、在下列基本表地定义中,数值5表示( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 地长度D. 表格地大小10、在视图上不能完成地操作是( C )A. 更新视图B. 查询C. 在视图上定义新地基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 地是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL地查询语句地where子句中,对空值地操作,不正确地是( C )A、where AGE IS NULLB、whereAGE IS NOT NULLC、whereAGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL地扩展主要表现为( A ).A. 加入了程序控制结构和变量B. 加入了建库和建表语句C. 提供了分组(Group By)查询功能D. 提供了Min、Max待统计函数14、以下哪种情况应尽量创建索引( A ).A.在Where子句中出现频率较高地列B.具有很多NULL值地列C.记录较少地基本表D.需要更新频繁地基本表15、下列SQL Server语句中出现语法错误地是( D ).A.DECLARE @Myvar INTB.SELECT * FROM [AAA]C.CREATE DATABASE AAAD.DELETE * FROM AAA16、属于事务控制地语句是( A ).A. Begin Tran、Commit、RollBackB. Begin、Continue、EndC. Create Tran、Commit、RollBackD. Begin Tran、Continue、End17、在SQL语言地SELECT语句中,实现投影操作地是哪个子句?(A )A)selectB)fromC)where D)grou by18、用二维表结构表示实体以及实体间联系地数据模型称为(C )A)网状模型 B)层次模型 C)关系模型 D)面向对象模型第(19)至(21)题是基于如下两个关系,其中雇员信息表关系EMP地主键是雇员号,部门信息表关系DEPT地主键是部门号EMP DEPT19、若执行下面列出地操作,哪个操作不能成功执行?(D )A) 从EMP中删除行(‘010’,‘王宏达’,‘01’,1200)B)在EMP中插入行(‘102’,‘赵敏’,‘01’,1500)C) 将EMP中雇员号=‘056’地工资改为1600元D) 将EMP中雇员号=‘101’地部门号改为‘05’20、若执行下面列出地操作,哪个操作不能成功执行?(C )A) 从DEPT 中删除部门号=‘03’地行B)在DEPT中插入行(‘06’,‘计划部’,‘6号楼’)C) 将DEPT中部门号=‘02’地部门号改为‘10’D) 将DEPT中部门号=‘01’地地址改为‘5号楼’21、在雇员信息表关系EMP中,哪个属性是外键(foreign key)?(C )A) 雇员号B) 雇员名C) 部门号D) 工资22、设关系R和关系S地元数分别是3和4,关系T是R与S地广义笛卡尔积,即:T=R×S,则关系T地元数是(A )A) 7 B) 9 C) 12 D) 123、设属性A是关系R地主属性,则属性A不能取空值(NULL).这是(A )A) 实体完整性规则 B) 参照完整性规则C) 用户定义完整性规则 D) 域完整性规则24、下面列出地关于“视图(View)”地条目中,哪一条是不正确地?( B)A) 视图是外模式B)使用视图可以加快查询语句地执行速度C) 视图是虚表 D) 使用视图可以简化查询语句地编写25、SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATE实现哪类功能?(B )A) 数据查询B) 数据操纵C) 数据定义D) 数据控制26、在数据库管理系统中,下面哪个模块不是数据库存取地功能模块?( A)A) 事务管理程序模块B) 数据更新程序模块C) 交互式程序查询模块D) 查询处理程序模块27、SQL查询语句中,用于测试子查询是否为空地谓词是(A).A、EXISTSB、UNIQUEC、SOMED、ALL28、下列SQL语句中,插入数据地是(D ).A、CREATEB、ALTERC、UPDATED、INSERT29、在下面所列出地条目中,哪些是数据库管理系统地基本功能?(D )Ⅰ.数据库定义Ⅱ.数据库地建立和维护Ⅲ.数据库存取Ⅳ.数据库和网络中其他软件系统地通信A) Ⅰ和ⅡB) Ⅰ、Ⅱ和ⅢC) Ⅱ和ⅢD) 都是30、当修改基本数据时,下列关系视图地说法正确地是(B )A、需要重建B、查以看到修改结果C、无法看到修改结果式D、不许修改带视图地基表31、在数据库管理系统地层次结构中,由高级到低级地层次排列顺序为(D )A) 应用层、数据存取层、数据存储层、语言翻译处理层B) 应用层、数据存储层、数据存取层、语言翻译处理层C) 应用层、数据存储层、语言翻译处理层、数据存取层D) 应用层、语言翻译处理层、数据存取层、数据存储层32、在SQL语言地SELECT语句中,实现投影操作地是( A )子句.A、selectB、fromC、whereD、grou by33、SQL中,“AGE IN(20,22)”地语义是( D ).A)AGE<=22 AND AGE >=20 B)AGE <22 AND AGE >20C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =2234 SQL中,聚合函数COUNT(列名)用于( C )A.计算元组个数B.计算属性地个数C.对一列中地非空值计算个数D.对一列中地非空值和空值计算个数35、Transact-SQL对标准SQL地扩展主要表现为(A ).A. 加入了程序控制结构和变量B. 加入了建库和建表语句C. 提供了分组(Group By)查询功能D. 提供了Min、Max统计函数36、已知关系:厂商(厂商号,厂名)PK=厂商号产品(产品号,颜色,厂商号)PK=产品号,FK=厂商号假设两个关系中已经存在如图所示元组:厂商产品若再往产品关系中插入如下元组:I(P03,红,C02)II(P01,蓝,C01)III(P04,白,C04)IV(P05,黑,null)能够插入地元组是( D )A I,II,IVB I,IIIC I,IID I,IV37、设有一个关系:DEPT(DNO,DNAME),如果要找出倒数第三个字母为W,并且至少包含4个字母地DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B )A ‘_ _ W _ %’B ‘_ % W _ _’C ‘_ W _ _’D ‘_ W _ %’38、下列SQL语句中,修改表结构地是(D).A、CREATEB、INSERTC、UPDATED、ALTER39、SQL语句通常称为( A).A、结构化查询语言B、结构化控制语言C、结构化定义语言D、结构化操纵语言40、SQL语言地一体化特点主要是与( B)相比较而言地.A、操作系统命令B、非关系模型地数据语言C、高级语言D、自然语言41、SQL语言中,删除一个表地命令是( B )A、 DELETE tableB、DROP tableC、 CLEAR tableD、 REMORE table42、在基表S中查询所有姓名中有“国”地学生,在WHERE子句中应使用( A)通配符.A. LIKE ’%国%’B. LIKE ‘%国_’C. LIKE ’_国%’D. LIKE ‘_国_’43、下列哪个不属于数据库对象(B )A、默认B、SELECT语句C、存储过程D、视图44、下列那一个不属于SQL SERVER工具(A )A数据库管理器 B、事件探查器 C、导入和导出数据 D、查询分析器45、下列那一个不属于企业管理器地功能(D )A、注册服务器B、配置本地和远程服务器C、引入和导出数据D、为WINDOWS创建操作系统用户46、关于SQL Server文件组地叙述正确地是:( A ).A、一个数据库文件不能存在于两个或两个以上地文件组里B、日志文件可以属于某个文件组C、文件组可以包含不同数据库地数据文件D、一个文件组只能放在同一个存储设备中47、下面关于外码地描述中,不正确地是(C ).A. 外码体现了关系间地联系手段B. 外码是某个关系地码C. 外码不是任何关系地码D. 外码是一个关系地码同时是另一个关系地属性48、在SQL Server 中关于索引叙述正确地是:( B ).A、每个数据库表可以建立多个聚集索引B、每个表可以定义多个非聚集索引C、索引地数据保存在同一个表中D、索引不会改变表中地数据49、关于索引描述错误地是以下地哪一个?( A)A、表中地任何数据列都可以添加索引B、创建索引地列最好不要含有许多重复地值C、一般不给很少使用地列添加索引D、并不是数据库中聚集索引越多搜索效率就越高50、关于存储过程地描述正确地一项是:( C ).A、存储过程地存在独立于表,它存放在客户端,供客户使用B、存储过程只是一些T-SQL语句地集合,不能看作SQL Server 地对象C、存储过程可以使用控制流语句和变量,大大增强了SQL地功能D、存储过程在调用时会自动编译,因此使用方便51、关于触发器叙述正确地是( A ).A、触发器是自动执行地,可以在一定条件下触发B、触发器不可以同步数据库地相关表进行级联更改C、SQL Server 不支持DDL触发器D、触发器不属于存储过程52、在基表S中删除电话号码(PHONE)属性使用( B)命令.A. ALTER S DROP PHONEB. ALTER TABLE S DROP PHONEC. UPDATE TABLE S PHONED. DROP TABLE S PHONE54、描述事物性质地最小数据单位是( C ).A. 记录B. 文件C. 数据项D. 数据库55.在SQL数据库中,视图(view)是从一个或几个基表(或视图)导出地表,它本身不独立存储在数据库中,即数据库中只存放视图地定义而不存放视图对应地数据,这些数据仍然存放在对应地基表中.因此视图( B ).A. 也是一个表B. 是一个虚表C. 是一个数据库D. 是一个文件56.当前DBMS所支持地数据模型地主流是(C).A. 网状模型B. 层次模型C. 关系模型D. 面向对象模型57. 能唯一地标识实体属性地( C)称为主码.A. 组和B. 排列C. 集合D. 元组58下述关于数据库系统地正确叙述是( B).A. 数据库中只存在数据项之间地联系B. 数据库地数据项之间和记录之间都存在联系C. 数据库地数据项之间无联系,记录之间存在联系D. 数据库地数据项之间和记录之间都不存在联系59.授权定义经过编译和存储在( D)中.A. DBMDB. 视图C. 基表D. 数据库60.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE),要查找选修“COMPUTER”课程地女学生地姓名,将涉及到关系(D).A. SB. SC,CD. S,C,SC61.数据库技术地奠基人之一,E.F.Codd于1970年发表过多篇论文,主要论述地是(C) .A. 层次数据模型B. 网络数据模型C. 关系数据模型D. 面向对象数据模型62.数据库管理系统通常提供授权功能来控制不同用户访问数据地权限,这主要是为了实现数据库地( D).A. 可靠性B. 一致性C. 完整性D. 安全性63、SQL语言地GRANT和REVOKE语句主要用来维护数据库地(A ).A. 安全性B. 完整性C. 可靠性D. 一致性64、在关系数据库中,实现“表中任意二行不能相同”地约束是靠(C ) .A. 外码B. 属性C. 主码D. 列65、对表进行垂直方向地分割用地运算是(B ).A. 交B. 投影D. 连接66、关系数据库中,实现表与表之间地联系是通过_(B).A. 实体完整性规则B. 参照完整性规则C. 用户自定义完整性D. 值域67、关系数据库中,实现主码标识元组地作用是通过(A) .A. 实体完整性规则B. 参照完整性规则C. 用户自定义完整性D. 属性地值域68、如果有n个事务串行调度,那么不同地有效调度有[ D]A.n2 B.2n C.4n D.n!69、部分匹配查询中有关通配符“_”地正确地叙述是 ( D)A.“_”代表多个字符B.“_”可以代表零个或多个字符C.“_”不能与“%”一同使用D.“_”代表一个字符70、下列SQL语句中,能够实现“收回用户ZHAO对学生表(STUD)中学号(XH)地修改权”这一功能地是CA.REVOKE UPDATE(XH) ON TABLE FROM ZHAOB.REVOKE UPDATE(XH) ON TABLE FROM PUBLICC.REVOKE UPDATE(XH) ON STUD FROM ZHAOD.REVOKE UPDATE(XH) ON STUD FROM PUBLIC71、把对关系SC地属性GRADE地修改权授予用户ZHAO地SQL 语句是(C)A)GRANT GRADE ON SC TO ZHAOB)GRANT UPDATE ON SC TO ZHAOC)GRANT UPDATE (GRADE) ON SC TO ZHAOD)GRANT UPDATE ON SC (GRADE) TO ZHAO二、填空题1、在SQL查询语句中,用于测试子查询是否为空地谓词是_ EXISTS __.2、在查询操作结果中不出现重复元组,应在Select子句中使用_ DISTINCT_保留字.3、.SQL地SELECT语句在未使用分组子句但在SELECT子句中使用了聚合函数.此时SELECT 子句地语句就不是投影地意思了,而是对查询结果执行聚合操作.4、数据库系统地权限控制方法分为自主存取控制和强制存取控制方法两种5、在SQL Server 中,数据库地文件分为主数据文件_、辅助数据文件_和_事务日志文件三大类;6、SQL地数据操纵功能主要包括INSERT、__UPDATE__和__DELETE_三个语句.7、在字符匹配查询中,通配符“%”代表_任意多个字符___,“_”代表__任意单个字符.8、触发器是一种特殊地存储过程,它可以在对一个表上进行__插入__、_删除_和___修改__操作中地任一种或几种操作时被自动调用执行.9、视图是一个虚表,它是从一个或几个基本表中导出地表.在数据库中,只存放视图地结构定义,不存放视图地对应地数据.三、判断题1、视图是一张虚表,所有地视图中不存储数据(√)2、用户不允许使用视图修改表数据(×)3、数据库中地视图只能使用所属数据库地表,不能访问其它数据库地表(×)4、视图既可以通过表得到,也可以通过其它视图得到(√)5、规则在创建后,并不能直接使用,必须绑定到表中某一列或者用户定义地数据类型上.(√)6、创建规则对象后,必须把它绑定到一个列或用户定义地数据类型上才能起作用.(√)触发器就其本质而言是一种特殊地存储过程.存储过程和触发器在数据库地开发中,在维护数据库实体完整性等方面具有不可替代地作用.(×)8、现实世界地对象在数据库中用实体描述(╳)9、游标是系统为用户地查询结果开辟地数据缓冲区,存放SELECT语句地查询结果.(√)10、在数据库系统中,核心地部分是应用程序.(√ )11、候选码可以选作主码,但一个主码不总是候选码. (√ )12、存储过程是存放在服务器上地预先定义与编译好地SQL语句地命名集合(√)13.视图、表是一样地,都可以进行更新操作地. ( ╳ )14、触发器操作与约束有冲突时,触发器仍会执行.( ╳ )15、删除触发表时,触发器被随之删除.(√)16、Order by子句仅对检索数据地显示有影响,并不改变表中行地内部顺序.(√)17、从一个表中删除元组时,delete和drop table命令可以起到同样地效果.(×)18、与主键不同,惟一性可以是null值.(√)19、使用having子句是为了限制group by子句返回地行地个数.(√)20、在数据表定义时设置Primary key是数据库地实体完整性控制. (√)21、在数据表定义时设置主键(Primary key)则不允许插入全为空地记录.(√)22、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重.(×)四、综合题1、设某商业集团关于商店销售商品地数据库中有三个基本表:商店SHOP(S#,SNAME,AREA,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名.销售SALE(S#,G#, QUANTITY)其属性是商店编号,商品编号,销售数量.商品GOODS(G#,GNAME,PRICE)其属性是商品编号,商品名称,单价.(1)试写出检索销售“冰箱”地商店地编号和商店名称地SELECT语句表达形式.(2)试写出下列操作地SQL语句:从SALE表中,把“开开商店”中销售单价高于1000元地商品地销售元组全部删除. (3)试写出下列操作地SQL语句:统计区域名为“EAST”地所有商店销售地每一种商品地总数量和总价值.要求显示(G#,GNAME,SUM_QUANTITY,SUM_VALUE),其属性为商品编号、商品名称、销售数量、销售价值.1、答:解:(1)SELECT语句如下:SELECT A.S#,SNAMEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';(2)解:DELETE FROM SALEWHERE S# IN(SELECT S#FROM SHOPWHERE SNAME='开开商店')AND G# IN(SELECT G#FROM GOODSWHERE PRICE>1000);(3)解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,PRICE*SUM(QUANTITY)AS SUM_VALUEFROM SHOP A,SALE B,GOODS CWHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST'GROUP BY C.G#,GNAME;(注:SELECT子句中地属性C.G#,GNAME应在分组子句中出现)2、设数据库中有两个基本表:职工表 EMP(E#,ENAME,AGE,SALARY,D#),其属性分别表示职工工号、姓名、年龄、工资和工作部门地编号.部门表 DEPT(D#,DNAME,MGR#),其属性分别表示部门编号、部门名称和部门经理地职工工号.(1)试指出每个表地主键和外键.并写出每个表创建语句中地外键子句.(2)写出下列查询地关系代数表达式和SQL语句:检索每个部门经理地工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资.(3)建一个年龄大于50岁地职工视图,属性为(D#,DNAME,E#,ENAME,AGE,SALARY). 答:(1)EMP表地主键为E#,外键为D#.DEPT表地主键为D#,外键为MGR#在EMP表地创建语句中,可写一个外键子句:FOREIGN KEY D# REFERENCES DEPT(D#);在DEPT表地创建语句中,可写一个外键子句:FOREIGN KEY MGR# REFERENCES EMP(E#);(2)关系表达式为:πDEPT.D#,DNAME,MGR#,ENAME,SALARY(DEPT ? EMP)MGR#=E# SELECT语句为:SELECT DEPT.D#,DNAME,MGR#,ENAME,SALARYFROM DEPT,EMPWHERE MGR#=E#;(3)CREATE VIEW VIEW5AS SELECT DEPT.D#,DNAME,E#,ENAME,AGE,SALARY FROM DEPT,EMPWHERE DEPT.D#=EMP.D# AND AGE>50;3、有图书借阅管理地数据库系统,其数据库关系模式(属性只用英文字母)为:学生(学号,姓名,系别,专业)主码为:学号图书B(图书编号,图书名,出版日期,出版社)主码为:图书编号借阅R(学号,图书编号,借阅日期)主码为:(学号,图书编号)外码有:学号、图书编号请写出完成下列操作地SQL语句(1)创建借阅R表,要求指定其主码和外码Create table 借阅(学号 char(10) foreign key references 学生, 图书编号 char(10) foreign key references 图书,借阅日期 datetime ,primary key(学号, 图书编号)(2)向借阅表增加记录(’20030101‘,‘tp201.01’, ‘2006/06/12‘).Insert into 借阅values (’20030101’, ‘tp201.01’, ‘2006/06/12‘)(3)将图书表地查询权授给user用户,并允许其转授给其他人Grant select on 图书 to uset with grant option(4)、查询借阅了“数据库原理”一书地学生信息.Select * from 学生 where学号 in (select学号 from 借阅Where 图书编号 in select 图书编号 from 图书where 图书名=’数据库原理’(5)、查询借阅了关于数据库方面书籍地学生地学号、图书名称和出版社.Select 学号,图书名,出版社 from 借阅 A, 图书 Bwhere A. 学号=B. 学号 and 图书名like ‘%数据库%’(6)查询2006年5月1日到2006年6月1日期间,图书地借阅情况Select * from 借阅 where 借阅日期between ‘2006/05/01’ and ‘2006/06/01’4、设教学数据库中有四个关系:教师(教师编号,教师姓名,联系电话)课程(课程号,课程名,教师编号)学生(学号,学生姓名,年龄,性别,专业)选课(学号,课程号,成绩)(1)创建学生表和选课表,要求:指定每个表地主关键字、外部关键字和check约束. (2)将所有学生地“高等数学”课程地成绩增加10分.Update选课 set成绩=成绩+10 where课程号in (select课程号 from 课程 where课程名=’高等数学’(3)将课程表地查询和修改权限授给teacher用户,同时允许转授给其它用户.Grant select,update on 课程 to teacher with grant option(4)查询男生所学课程地课程号和课程名.Selec 课程号,课程名 FROM 学生,选课,课程Where学生.学号=选课.学号 and 选课.课程号=课程.课程号and 性别=’男’或Selec 课程号,课程名 FROM 课程 where课程号 in (Select 课程号 from 选课 where 学号 in (Select学号 from 学生 where 性别=’男’))(5)查询所有姓王地教师所授课程地课程号和成绩(按课程号排序).Select 选课.课程号, 成绩 from 教师,课程,选课 where 教师姓名like ‘王%’And 教师.教师编号=课程.教师编号and 课程.课程号=选课.课程号order by 课程号(6)统计每门课程地学生选修人数(超过10人地课程才统计).要求显示课程号和人数,查询结果按人数降序排列.Select 课程号 ,count(学号) 人数 from 选课group by课程号 having count(*)>10 order by 人数 desc(7)检索所有姓“李”地学生地姓名和年龄Select 学生姓名,年龄 from 学生 where 学生姓名like ‘李%’(8)求男生地最高成绩Select max(成绩) from 选课 where 学号 in (select 学号 from 学生Where 性别=’男’)5、已知有关系:仓库(仓库号,城市,面积)职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)(1)创建订购单表,要求:数据类型及长度自定义,并指定其主码和外码Create table 订购单表(职工号 char(10) foreign key references 职工,供应商号 char(10) foreign key references供应商,订购单号 char(10) primary key,订购日期 datetime)(2)修改职工表,增加一个职工名(可变长字符型,最长为20)字段Alter 职工表 add 职工名 varchar(20)(3)向订购单表中增加一条记录,记录值为:(’ZG0001’,‘GY0001’, ‘DD0001’,‘2006/06/12’)Insert into 订购单表values (’ZG0001‘,‘GY0001’, ‘DD0001’,‘2006/06/12’)(4)给低于所有职工平均工资地职工提高10%地工资.UPDATE 职工SET 工资=工资*1.1 WHERE 工资< (SELECT AVG(工资) FROM 职工)(5)删除所有目前没有任何订购单地供应商.DELETE FROM 供应商 WHERE 供应商号 NOT IN(SELECT 供应商号 FROM 订购单)(6)将职工表地查询权授给USER用户,并允许其转授给其他人Grant select on职工表 to USER with grant option(7)检索出向供应商S3发过订购单地职工地职工号和仓库号.SELECT 职工号,仓库号 FROM 职工 WHERE 职工号 IN( SELECT 职工号 FROM 订购单 WHERE 供应商号=’S3’ )(8)检索出目前没有任何订购单地供应商信息.SELECT * FROM 供应商 WHERE NOT EXISTS( SELECT * FROM 订购单 WHERE 供应商号=供应商.供应商号 ) (9)检索出和职工E1、E3都有联系地北京地供应商信息.SELECT * FROM 供应商 WHERE 供应商号 IN( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E1’ )AND 供应商号 IN( SELECT 供应商号 FROM 订购单 WHERE 职工号=’E3’ )(10)检索出目前和华通电子公司有业务联系地每个职工地工资.SELECT 职工号,工资 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号 IN(SELECT 供应商号 FROM 供应商 WHERE 供应商名=’华通电子公司’)) (11)检索出与工资在1220元以下地职工没有联系地供应商地名称.SELECT 供应商名 FROM 供应商 WHERE 供应商号 IN(SELECT 供应商号 FROM 订购单 WHERE 职工号 NOT IN(SELECT 职工号 FROM 职工 WHERE 工资 < 1220))(12)检索出向S4供应商发出订购单地仓库所在地城市.SELECT 城市 FROM 仓库 WHERE 仓库号 IN(SELECT 仓库号 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))(13)检索出在上海工作并且向S6供应商发出了订购单地职工号.(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’) AND 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S6’))(14)检索出在广州工作并且只向S6供应商发出了订购单地职工号.SELECT 职工号 FROM 职工 WHERE 仓库号 IN(SELECT 仓库号 FROM 仓库 WHERE 城市=’广州’) AND 职工号 IN(SELECT 职工号FROM 订购单WHERE 供应商号=’S6’) AND 职工号NOT IN (SELECT 职工号FROM 订购单WHERE 供应商号!=’S6’)(15)检索出由工资多于1230元地职工向北京地供应商发出地订购单号.SELECT 订购单号 FROM 订购单 WHERE 职工号 IN(SELECT 职工号 FROM 职工 WHERE 工资>1230) AND 供应商号IN(SELECT 供应商号 FROM 供应商 WHERE 地址=’北京’)(16)检索出有最大面积地仓库信息.SELECT * FROM 仓库 WHERE 面积=(SELECT MAX(面积) FROM 仓库)(17)检索出向S4供应商发出订购单地那些仓库地平均面积.SELECT AVG(面积) FROM 仓库 WHERE 仓库号 IN(SELECT 仓库号 FROM 职工 WHERE 职工号 IN(SELECT 职工号 FROM 订购单 WHERE 供应商号=’S4’))(18)检索出每个城市地供应商个数.SELECT 地址,COUNT(*) FROM 供应商 GROUP BY 地址(19)检索出和面积最小地仓库有联系地供应商地个数.SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN(SELECT 供应商号 FROM 订购单 WHERE 职工号 IN(SELECT 仓库号 FROM 仓库 WHERE 面积=(SELECT MIN(面积) FROM 仓库))))(20)插入一个新地供应商元组(S9,智通公司,沈阳).INSERT INTO 供应商VALUES(‘S9’,’智通公司’,’沈阳’)(21)删除由在上海仓库工作地职工发出地所有订购单.DELETE FROM 订购单 WHERE 职工号 IN(SELECT 职工号 FROM 职工 WHERE 仓库号 IN(SELECT 仓库号 FROM 仓库 WHERE 城市=’上海’)版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理.版权为个人所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.BkeGuInkxI 用户可将本文地内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本网站及相关权利人地合法权利.除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人地书面许可,并支付报酬.PgdO0sRlMoUsers may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.3cdXwckm15转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目地地合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任.h8c52WOngMReproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.v4bdyGious。
答案《关系数据库与SQL语言》第一章练习题
《关系数据库与SQL语言》第一章练习题一、选择题1. 实体完整性要求主属性不能取空值,这一点通常是通过(B)A. 定义外键来保证B. 定义主键来保证C. 用户定义完整性来保证D. 关系系统自动保证2. 建立在计算机外部设备上的结构化的、有联系的数据集合是(A)。
A. 数据库B. 数据库管理系统C. 数据结构D. 数据文件3. 英文缩写 DBA 是代表(B)。
A. 数据库管理系统B. 数据库管理员C. 数据定义语言D. 数据操纵语言4. 数据库设计中,在概念设计阶段可用 E — R 方法,其设计出的图称为(A)。
A. 实体联系图B. 实用概念图C. 实体表示图D. 实物示意图5. 在概念设计阶段可用 E —R 图,其中“矩形框”表示实体,(D)表示实体间联系。
A. 圆形框B. 椭圆框C. 箭头D. 菱形框6. 一个教师能开多门课程,一门课程有许多教师会开,实体课程与实体教师间是(C)。
A. 一对一的联系B. 一对多的联系C. 多对多的联系D. 多对一的联系7. 两个不同型实体间(B)。
A. 只有一种联系B. 可以有多种联系C. 不能有联系D. 只有多对多的联系8. 不是数据库系统中的数据模型是(D)。
A. 层次模型B. 网状模型C. 关系模型D. 多用户型9. 对于两实体间 m:n 联系,必须对“联系”单独建立(D),用来联系双方实体。
A. 一个实体B. 一个属性C. 一个指针D. 一个关系10. 模式的逻辑子集通常称为(C)A .存储模式B .内模式C .外模式D .模式11.要保证数据库物理数据独立性,需要修改的是 ( B ) 。
A. 模式B. 模式与内模式的映射C. 模式与外模式的映射D. 内模式12. 下列四项中,不属于数据库特点的是 ( C ) 。
A. 数据共享B. 数据完整性C. 数据冗余很高D. 数据独立性高13. 数据库中存储的是 ( D ) 。
A. 数据B. 数据模型C. 数据之间的联系D. 数据以及数据之间的联系14.表示数据库的概念模型一般使用 ( C) 。
数据库原理与应用习题
一、关系代数题1.设有关系R 和S 如下图所示。
计算:R ∪S ,R-S ,R ×S ,R ∩S ,Π3,2(S ),σB<5(R),R ∞S 。
2.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S(3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T3.设有如下图所示的关系R ,S 和T ,计算: (1)R1= R ∪S (2)R2= R-S (3)R3=σA=C (R ×T) (4)R4=ΠA (S ) (5)R5=R ∞T二、SQL 语言题1、设有一个顾客商品关系数据库,有三个基本表,表结构如下:商品表:Article (商品号,商品名,单价,库存量)客户表:Customer (顾客号,顾客名,性别,年龄,电话) 订单表:OrderItem (顾客号,商品号,数量,购买价,日期)(1)请用SQL语言创建一个视图GM_VIEW,检索顾客的顾客号、顾客名和订购商品的商品名、金额和日期。
(金额等于数量*购买价)CREA T VIEW GM_VIEW ASSELECT ___________FROM Artcle, Customer, OrderItemWHERE ___________;(2)请用SQL语言检索一次订购的商品数量最多的顾客名。
SELECT 顾客名FROM Customer, OrderItemWHERE___________=(SELECT___________FROM OrderItem);(3)请用SQL语言找出女顾客购买的商品号、商品名和数量合计。
SELECT ___________FROM OrderItem, Artcle, Customer,WHERE ___________GROUP BY OrderItem.商品号,商品名;(4)请用SQL语言检索所有未下订单的顾客的顾客号和顾客名。
数据库技术复习题3操作题
数据库技术试题三、操作题1. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)假设职工可在多个公司兼职,请用关系代数表达式写出至少在公司号为‘C2’和‘C5’公司兼职的职工的职工号。
2. 设有关系数据库:职工关系EMPLOYEE (职工号,职工名,街道,城市)工作关系WORKS (职工号,公司号,工资)公司关系COMPANY (公司号,公司名,城市)试用SQL语句写出下列操作:将所有在“联华公司”工作的职工加薪5﹪。
3. 图书出版管理数据库中有两个基本表:图书 (书号,书名,作者编号,出版社,出版日期)作者 (作者编号,作者名,年龄,地址)试用SQL语句写出下列查询:检索年龄低于作者平均年龄的所有作者的作者名、书名和出版社。
4. 设有商店和顾客两个实体,“商店”有属性商店编号、商店名、地址、电话,“顾客”有属性顾客编号、姓名、地址、年龄、性别。
假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。
试画出ER图,并注明属性和联系类型。
5. 学校有多名学生,财务处每年要收一次学费。
为财务处收学费工作设计一个数据库,包括两个关系:学生 (学号,姓名,专业,入学日期)收费 (学年,学号,学费,书费,总金额)假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。
列的宽度自定义。
试用SQL语句定义上述表的结构。
(定义中应包括主键子句和外键子句)6. 用SQL语言定义(1) 学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;(2) 课程关系C,包括课程号CNo、课程名CN、学分CC;(3) 学生选课关系SC,包括SNo、CNo和成绩G。
注意:说明主键码和外键码(如果有的话)。
sql数据库原理习题集(带答案)
#include <stdio.h>void main(){int b,i,c=0,a[30];scanf("%d",&b);while(b!=0){i=b%2;a[c]=i;c++;b=b/2;}for(;c>=1;c--){printf("%d",a[c-1]);}printf("\n");}数据库原理模拟试卷(1)一、项选择题(在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。
每小题1分,共15分)1.数据库系统的体系结构是(C )A、两级模式结构和一级映象B、三级模式结构和一级映象C、三级模式结构和两级映象D、三级模式结构和三级映象2.SQL语言称为(C )。
A、结构化定义语言B、结构化控制语言C、结构化查询语言D、结构人操纵语言3.在视图上不能完成的操作是(D)。
A、在视图上定义新的视图B、查询操作C、更新视图D、在视图上定义新的基本表4.数据库的并发操作有可能带来的三个问题中包括(D)。
A、数据独立性降低B、无法读出数据C、权限控制D、丢失更新5.当前应用最广泛的数据模型是(B)。
A、ER模型B、关系模型C、网状模型D、层次模型16.现有一个关系:借阅(书号、书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。
则该关系模式的码是(D )。
A、书号B、读者号C、书号+读者号D、书号+读者号+借期7.要保证数据库物理数据独立性,需要修改的是( B )A.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式8.下列四项中,不属于数据库特点的是( D )A.数据共享B.数据完整性C.数据冗余较小D.数据独立性低9.数据库中存储的是( D )A.数据B.数据模型C.数据之间的联系D.数据以及数据之间的联系10.反映现实世界中实体及实体间联系的信息模型是( D )A.关系模型B.层次模型C.网状模型D.E—R模型11. 五种基本关系代数运算是( a)A. ∪,-,×,π和σB. ∪,-,∞,π和σC. ∪,∩,×,π和σD. ∪,∩,∞,π和σ12.数据库保护的几个方面中,不包括的是( A )A.控制数据冗余B.并发控制C.完整性保护D.故障恢复13.下列四项中,关系规范化程度最高的是关系满足( B )A.非规范关系B.第三范式C.第二范式D.第一范式14.单个用户使用的数据视图的描述称为(a )A.外模式B.概念模式C.内模式D.存储模式15. 子模式DDL用来描述( b )A.数据库的总体逻辑结构B.数据库的局部逻辑结构C.数据库的物理存储结构D.数据库的概念结构二、填空题(每空1分,共15分)1、在三大传统的数据模型中,具有严格的数学理论基础的是_关系模型___。
数据库习题第三章 习题
CH3关系数据库标准语言SQL一、选择题1、SQL属于()数据库语言A、关系型B、网状型C、层次型D、面向对象型2、SQL中创建基本表应使用()语句A、CREATE INDEXB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE3、SQL中创建视图应使用()语句A、CREATE SHCEMAB、CREATE TABLEC、CREATE VIEWD、CREATE DATEBASE4、关系代数中的Π运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY5、关系代数中的σ运算对应SELECT语句中的()子句A、SELECTB、FROMC、WHERED、GROUP BY6、WHERE子句的条件表达式中,可以匹配0个到多个字符的通配是()A、*B、%C、_D、?7、WHERE子句的条件表达式中,可以匹配单个字符的通配是()A、*B、%C、_D、?8、SELECT语句中与HA VING子句同时使用的是()子句A、ORDER BYB、WHEREC、GROUP BYD、无需配合9、与WHERE G BETWEEN 60 AND 100 语句等价的子句是()A、WHERE G>60 AND G<100B、WHERE G>=60 AND G<100C、WHERE G>60 AND G<=100D、WHERE G>=60 AND G<=10010、若用如下的SQL语句创建一个表student:CREATE TABLE student ( NO CHAR(4) NOT NULL,NAME CHAR(8) NOT NULL,SEX CHAR (2),AGE INT)可以插入到student表中的是()A、(‘1031’,‘刘华’,男,23)B、(‘1031’,‘刘华’,NULL,NULL)C、(NULL,‘刘华’,‘男’,‘23’)D、(‘1031’,NULL,‘男’,23)11、SQL语言支持建立聚簇索引,这样可以提高查询效率,但是,并非所有属性列都适宜建立聚簇索引,下面()属性列不适宜建立聚簇索引。
数据库复习题(1)-川农
数据库复习题判断题(红色的表示错误,绿色表示正确)1.SQL数据查询语句中的HAVING子句与WHERE子句的作用是相同的。
2.在关系代数运算中,基本的运算是并,交(差),笛卡尔积,选择,投影。
3.一个关系只有一个候选码(键).4.实体完整性规则是对外键的约束,参照完整性规则是对主键的约束。
5.按照索引记录的存放位置,索引可以分为聚集索引和非聚集索引。
6.跟基本表一样,视图中也存储有实实在在的数据。
7.SQL语言的中文名称为结构化数据(查询)语言。
8.专门的关系运算包括选择运算、投影运算和笛卡尔积运算.9.假设有关系R和S,关系代数表达式R-(R-S)表示的是R∪S。
10.在关系数据库中,把数据表示成二维表,每一个二维表称为一个实体.11.SQL语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句ALTERTABLE属于数据查询语句。
12.一个关系数据库文件中的各条记录前后顺序可以任意颠倒,不影响库中的数据关系。
13.同一个关系中不能出现两个以上相同的属性名.14.在SQL的SELECT语句中,SELECT子句能实现关系代数中的投影运算。
15.设关系R(A,B,C)和S(A,D),与自然连接R∞S等价的关系代数表达式是∏A,B,C,D(R×S)。
16.关系模型定义了域完整性、实体完整性和参照完整性三类数据约束。
17.从关系模式中指定若干个属性组成新的关系的运算称为投影。
18.关系中关键字必须指定为第一列.19.如果关系R2的外部关系键X与关系R1的主关系键相符,则外部关系键X的每个值必须在关系R1中主关系键的值中找到,或者为空,这是关系的参照完整性规则.20.视图对应于三级模式结构中的(外)模式。
21.在关系代数中,从两个关系中找出相同元组的运算称为差运算。
22.关系数据模型上的关系运算分为关系代数和关系演算两种。
23.当对两个关系R和S进行自然连接运算时,要求R和S含有一个或多个共有的属性。
关系代数与SQL作业题参考答案
(3)检索至少选修“程军”老师所授全部课程的学生姓名SNAME。
SELECT SNAME FROM S WHERE NOT EXISTS (SELECT * FROM C WHERE TEACHER=’程军’ AND NOT EXISTS (SELECT * FROM SC WHERE SC.SNO=S.SNO AND O=O));
(4)检索“李强”同学不学课程的课程号。
SELECT CNO FROM C
WHERE CNO NOT IN
(SELECT CNO FROM SC,S
或
WHERE SC.SNO=S.SNO AND S.SNAME=’李强’) ; SELECT CNO
FROM C EXCEPT SELECT CNO FROM SC,S WHERE SC.SNO=S.SNO AND S.SNAME=’李强’ ;
(11)检索选修课程名为“C语言”的学生学号和姓名。
(11) SELECT SNO,SNAME FROM S,SC,C WHERE S.SNO=SC.SNO AND O=O AND CNAME=’C语言’ ;
SQL练习二
NO 108
NAME 曾华
SEX 男
Hale Waihona Puke BIRTHDAY 09/01/77
(7)检索选修课程包含“程军”老师所授课程之一的学生学号。
SNO (SC CNO ( TEACHER "程军" (C)))
(8)检索选修课程号为k1和k5的学生学号。
SNO,CNO (SC) CNO ( CNO 'k1'CNO 'k 5 ' (C))
(9)检索选修全部课程的学生姓名;
SQL查询实例练习
SQL查询和关系代数的结合
例1:查询学生95001的所有信息 ; ① 关系代数:
σ Sno= '95001' ( Student )
② SQL语言: SELECT * FROM Student WHERE Sno='95001'
ACCP V4.0
例2:查询学生95001的姓名和所在系 ① 关系代数:
π Sname,Sdept (σ Sno= '95001' ( Student))
② SQL语言: SELECT sname,sdept FROM Student WHERE Sno='95001'
ACCP V4.0
例3:查询选修了 号课的学生的姓名 :查询选修了1号课的学生的姓名 ① 关系代数: ② SQL语言:
ACCP V4.0
SELECT Sname FROM Student,SC WHERE SC.Sno = Student.Sno AND Cno='1'
SELECT Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Cno='1') SELECT Sname FROM Student -------相关子查询 WHERE EXISTS ( SELECT * FROM SC WHERE SC.Sno=Student.Sno AND Cno='1')
ACCP V4.0
代数:
π Sno (σ 1=4∧2= '1'∧5= '3' ( SC × SC ))
② SQL语言:
SELECT SCX.Sno FROM SC, SC SCX WHERE o='1' AND SCX.Sno=SC.Sno AND o='3' SELECT Sno FROM SC WHERE EXISTS ( SELECT * FROM SC SCX WHERE o='1' AND SCX.Sno=SC.Sno AND o='3‘)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
针对书上的学生选课数据库S_T,用关系代数和SQL语言完成以下查询:
1、查询“ CS系所有学生的学号和姓名。
2、Slelect sno,sname from student where sdept = ' CS
3、查询所有姓“刘”的学生的信息。
4、Select * from stude nt where sn ame like '刘%
5、查询年龄在18至20岁之间的学生信息。
6、Select * from stude nt where sage betwee n 18 and 20
7、查询不在“ CS系也不在“ MA系的学生的所有信息。
& Select * from student where sdept not in ( ‘ CS , ' MA )
9、查询“ CS系所有学生的平均年龄。
10、Select avg(sage) from stude nt where sdept like ‘ CS
11、查询课程名是以“系统”结尾的课程信息。
12、Select * from course where cn ame like ‘ %系统'
13、查询先行课为“ 6”号课程的课程信息。
14、Select * from course where cpno=6
15、查询间接先行课为“ 5”号课程的课程号及课程名。
16、Select , from c c1,c c2 where = and =5
17、Select eno ,cname from course where epno in (select eno from course where
epno=5)
18、查询没有先行课的课程名。
19、Select cn ame from course where epno is null
20、查询选修了“ 1”号课程的学生选课信息。
21、Select * from sc where eno=1
22、查询成绩为90分以上的学生姓名和课程名。
23、Select sn ame ,cn ame from s,c,sc where = and = and grade>=90
24、查询被选修了的课程号及课程名。
25、Select eno ,cn ame from course where eno in (Select disti nct(c no )
from sc)
26、Select eno ,cname from course where exists (select * from sc where
27、查询没有选修课程的学生学号及姓名。
28、Select sno,sname from s where sno not in (select distinct(sno) from sc)
29、Select sno ,sn ame from s where not exists(select * from sc where
30、查询没有选修“1”号课程的学生姓名。
31、Select sname from s where sno not in (select distinct(sno) from sc
where eno =1)
32、Select sn ame from s where not exists (select * from sc where = and
=1)
33、查询既选修了“数据结构”又选修了“操作系统”的学生姓名。
34、Select sn ame from ,sc where = and = and cn ame= ' 数据结构’
35、Select sname from s where sno in (select sno from sc where
eno=(slect eno from c where cname= 数据结构')and sno in (select sno from sc where eno=(select eno from c where en ame= '操作系
统’)))
36、Select snamefrom s where sno in (select sno from sc sc1,sc sc2 where =and
=(slect eno from c where ename= ' 数据结构’)and =(select eno from c
where en ame='操作系统’))
37、查询既选修了“ 2”号又选修了“ 4”号课程的学生学号。
38、Select sno from sc where eno=2 and sno in( select sno from sc where cno=4)
39、Select sno from sc sc1,sc sc2 where = and =2 and =4
40、查询选修了“ 2”号或“ 4”号课程的学生学号。
41、Select sno from sc where cno=2 or cno=4
42、查询至少选修了“ 95002”学生所选课程的学生学号。
43、Select from sc scx where not exists (select * from sc scy where
='95002' and not exists (select * from sc scz where = and =)
44、查询至少选修了一门其间接先行课为“ 7”号课程的学生姓名。
45、Select sn ame from s where sno in( Select sno from sc where eno in
(Select from c c1,c cl where = and =7))
46、查询选修了所有课程的学生姓名。
47、Select sn ame from s where not exists (select * from c where not
exists (select * from sc where = and =)
48、查询“李勇”同学所选课程的平均成绩。
49、Select avg(grade) from sc where sno =(Select sno from s where sname ='李
勇’)
50、查询“操作系统”这门课的最高分及最低分。
51、Select max(grade),m in( grade) from sc where eno=(select eno from
course where cn ame ='操作系统’)
52、查询“数据结构”这门课的选课人数。
53、Select coun t(s no) from sc where eno =(select eno from course where
cn ame=数据结构’)
54、查询“ CS系的所有学生的学号、姓名、课程名及成绩。
55、Select sno,sn ame,c name,grade from s,sc,c where = and = and sdept= ' CS
56、查询“ CS系选修课程的成绩在90分以上的所有女生的姓名、课程名和成
绩。
57、Select sname,cname,grade from s,sc,c where = and = and sdept= ' CS and
grade >=90 and ssex like '女'。