数据库习题作业
数据库练习题

一、关系运算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、检索全部学生都选修的课程的课程号与课程名。
数据库练习题

数据库练习题2.数据库在磁盘上的基本组织形式是[B ] A.DB B.⽂件 C.⼆维表 D.系统⽬录3.在关系模型中,起导航数据作⽤的是[B ] A.指针 B.关键码 C.DD D.索引4.查询优化策略中,正确的策略是[D ] A.尽可能早地执⾏笛卡尔积操作B.尽可能早地执⾏并操作C.尽可能早地执⾏差操作D.尽可能早地执⾏选择操作5.SQL中,“DELETE FROM 表名”表⽰[A ] A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组6.设关系模式R(A,B,C),F是R上成⽴的FD集,F={A→B,C→B},ρ={AB,AC}是R的⼀个分解,那么分解ρ[C ] A.保持函数依赖集F B.丢失了A→BC.丢失了C→B D.丢失了B→C8.在关系数据库设计中,⼦模式设计是在__________阶段进⾏。
[B ] A.物理设计 B.逻辑设计 C.概念设计 D.程序设计10.在DB技术,未提交的随后被撤消了的数据,称为[D ] A.报废的数据 B.过时的数据 C.撤消的数据 D.脏数据1. 关系数据库管理系统都是基于( A )理论。
A. Codd的数据关系模型B. 数据结构C. 计算机操纵系统D. 信息管理2. 元组关系演算表达式{t| R(t)∧S(t)}表达的是(D )A. R∪SB. R∩SC. R-SD. S-R5. 语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏7. 关系笛卡尔积运算记号R×S,( D )A. R为关系名,S为属性名B. R和S均为属性名C. R为属性名,S为关系名D. R和S均为关系名9. 下列说法中不正确的是(C )。
A. 任何⼀个包含两个属性的关系模式⼀定满⾜3NFB. 任何⼀个包含两个属性的关系模式⼀定满⾜BCNFC. 任何⼀个包含三个属性的关系模式⼀定满⾜3NFD. 任何⼀个关系模式都⼀定有码10. 在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩11. 在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图12. 设有关系模式R(A,B,C,D),F是R上成⽴的函数依赖集,F={B→C,C→D},则属性C的闭包C+为( C )A.BCDB.BDC.CDD.BC1. DB、DBMS和DBS三者之间的关系是(B)。
整理数据库题库_数据库练习题一

数据库JUNE 2021题库整理人尼克知识改变命运数据库练习题一一、单项选择1.下面关于数据库设计方法的说法中错误的有()A. 数据库设计的一种方法是以信息需求为主,兼顾处理需求,这种方法称为面向数据的设计方法B. 数据库设计的一种方法是以处理需求为主,兼顾信息需求,这种方法称为面向过程的设计方法C. 面向数据的设计方法可以较好地反映数据的内在联系D. 面身过程的设计方法不但可以满足当前应用的需要,还可以满足潜在应用的需求2. 数据库技术中,独立于计算机系统的模型是()A. E/R模模型B. 层次模型C. 关系模型D. 面向对象的模型3.关于数据库设计步骤的说法中错误的有()A. 数据库设计一般分为4步:需求分析、概念设计、逻辑设计和物理设计B. 数据库的概念模式是独立于任何数据库管理系统,不能直接用于数据库实现;C. 物理设计阶段对数据库性能影响已经很小了D. 逻辑设计是在概念设计的基础上进行的。
4. 下面关于数据库概念设计数据模型的说法中错误的有()A. 可以方便地表示各种类型的数据及其相互关系和约束B. 针对计算机专业人员C. 组成模型定义严格,无多义性D. 具有使用图形表昧概念模5. 数据库的逻辑设计对数据的性能有一定的影响,下面的措施不能明显改善数据性能的有()。
A. 将数据库中的关系进行完全规范化;B. 将大的关系分成多个小的关系C. 减少连接运算D. 尽可能地使用快照6. 一个学生可以同时借阅多本书,一本书只能由一个学生借阅,学生和图书之间为()联系。
A. 一对一B. 一对多C. 多对多D. 多对一7. 一个仓库可以存放多种零件,每一种零件可以存放在不同的仓库中,仓库和零件之间为()联系。
A. 一对一B. 一对多C. 多对多D. 多对一8. 一台机器可以加工多种零件,每一种零件可以在多台机器上加工,机器和零件之间为()联系。
A. 一对一B. 一对多C. 多对多D. 多对一9.一个公司只能有一个经理,一个经理只能在一个公司担任职务,公司和总经理职务之间为()联系。
数据库全部习题

第一章绪论练习一、单项选择题1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是( A )阶段。
A 数据库系统B 文件系统C 人工管理D 数据项管理2 数据库系统与文件系统的主要区别是( D )。
A 数据库系统复杂,而文件系统简单B 文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C 文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D 文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量3 数据库的概念模型独立于( A )。
A 具体的机器和DBMSB E-R图C 信息世界 D现实世界4 数据库是在计算机系统中按照一定的数据模型组织、存储和应用的B①,支持数据库各种操作的软件系统叫做B②,由计算机、操作系统、DBMS、数据库、应用程序及用户等组成的一个整体叫做③B。
① A 文件的集合 B 数据的集合C命令的集合 D 程序的集合② A 命令系统 B 数据库管理系统C 数据库系统D 操作系统③ A 命令系统 B 数据库系统C 软件系统D 数据库管理系统5 数据库具有B①、最小的A②和较高的C③。
① A 程序结构化 B 数据结构化C 程序标准化D 数据模块化② A 冗余度 B 存储量 C 完整性 D 有效性③ A 程序与数据可靠性 B 程序与数据完整性C 程序与数据独立性D 程序与数据一致性6 在数据库中存储的是( C )。
A 数据B 数据模型C 数据及数据之间的联系D 信息7 数据库中,数据的物理独立性是指( C )。
A数据库与数据库管理系统的相互独立性B 用户程序与DBMS的相互独立性C 用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D 应用程序与数据库中的逻辑结构相互独立8 数据库的特点之一是数据的共享,严格的讲。
这里的数据共享是指( D )。
A 同一个应用中的多个程序共享一个数据集合B 多个用户、同一种语言共享数据C 多个用户共享一个数据文件D 多种应用、多种语言、多个用户相互覆盖地使用数据集合9 数据库技术中采用分级方法将数据库的结构划分为多个层次,是为了提高数据库的①C和②A。
数据库课后习题作业答案

数据库课后习题作业答案《数据库系统概论》课程习题及参考答案第⼀章绪论(教材37页)1.试述数据、数据库、数据库系统、数据库管理系统的概念。
答:数据:描述事物的符号记录称为数据。
数据的种类有⽂字、图形、图像、声⾳、正⽂等等。
数据与其语义是不可分的。
数据库:数据库是长期储存在计算机内、有组织的、可共享的数据集合。
数据库中的数据按⼀定的数据模型组织、描述和储存,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。
数据库系统:数据库系统(DBS)是指在计算机系统中引⼊数据库后的系统构成。
数据库系统由数据库、数据库管理系统(及其开发⼯具)、应⽤系统、数据库管理员构成。
数据库管理系统:数据库管理系统(DBMS)是位于⽤户与操作系统之间的⼀层数据管理软件。
⽤于科学地组织和存储数据、⾼效地获取和维护数据。
DBMS 主要功能包括数据定义功能、数据操纵功能、数据库的运⾏管理功能、数据库的建⽴和维护功能。
2.使⽤数据库系统有什么好处?答:使⽤数据库系统的好处是由数据库管理系统的特点或优点决定的。
使⽤数据库系统的好处很多,例如可以⼤⼤提⾼应⽤开发的效率,⽅便⽤户的使⽤,减轻数据库系统管理⼈员维护的负担等。
为什么有这些好处,可以结合第 5题来回答。
使⽤数据库系统可以⼤⼤提⾼应⽤开发的效率。
因为在数据库系统中应⽤程序不必考虑数据的定义、存储和数据存取的具体路径,这些⼯作都由 DBMS来完成。
此外,当应⽤逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独⽴性。
数据逻辑结构的改变是 DBA的责任,开发⼈员不必修改应⽤程序,或者只需要修改很少的应⽤程序。
从⽽既简化了应⽤程序的编制,⼜⼤⼤减少了应⽤程序的维护和修改。
使⽤数据库系统可以减轻数据库系统管理⼈员维护系统的负担。
因为 DBMS 在数据库建⽴、运⽤和维护时对数据库进⾏统⼀的管理和控制,包括数据的完整性、安全性,多⽤户并发控制,故障恢复等等都由DBMS执⾏。
数据库课后习题

数据库课后习题一、选择题1.下列说法中,不正确的是()A.二维表中的每一列均有唯一的字段名B.二维表中不允许出现完全相同的两行C.二维表中行的顺序、列的顺序不可以任意交换D.二维表中行的顺序、列的顺序可以任意交换答案:C2.关系模型中,超关键字()。
A.可由多个任意属性组成B.仅能由一个属性组成C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成D.以上都不是答案:C3.ViualFo某Pro是一个()。
A.数据库管理员B.数据库C.数据库系统D.数据库管理系统答案:DA.矩形框B.数据的客观性和结论的准确性C.研究的相对独立性D.以上全是5.DBMS与文件系统的最主要区别是()。
件量D.文件系统不能解决数据冗余和数据独立性问题,而DBMSC.文件系统管理的数据量较小,而DBMS可以管理庞大的数据A.数据库系统复杂,而文件系统简单B.文件系统只管理程序文件,而DBMS能够管理各种类型的文可以解决答案:D6.一个关系相当于一张二维表,二维表中的各栏目相当于该关系的()。
A.数据项B.元组C.结构D.属性答案:DA.索引表示B.指针链表示C.关系表示D.文件表示答案:C8.关系模型的基本结构是()。
A.二维表B.树形结构C.无向图D.有向图答案:A9.由计算机、操作系统、DBMS、数据库、应用程序等组成的整体称为()。
A.数据库系统B.数据库管理系统C.文件系统D.软件系10.打开ViualFo某Pro“项目管理器”的“文档”(Doc)选项卡,其中包含()文件。
答案:D11.实体是信息世界的术语,与之对应的数据库术语为()。
A.文件B.数据库C.记录D.字段答案:C二、填空题:1.数据库的数据用它们的应用程序。
答案:独立性2.一个关系相当于一张二维表,二维表中的各列相当于该关系的。
答案:属性3.二维表中能唯一确定记录的一列或多列的组合称为超关键字。
若一个超关键字去掉其中任何一个列后不再能唯一确定记录,则称其为。
数据库练习题(标准标准答案)

数据库练习题(标准标准答案)第四章练习题一、选择题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。
数据库习题

数据库习题第一讲走进数据库1.1走进数据库1数据库系统与文件系统的最根本的区别是()。
A.文件系统只能管理程序文件,而数据库系统可以管理各种类型文件B.数据库系统复杂,而文件系统简单C.文件系统管理的数据量少,而数据库系统可以管理庞大数据量D.文件系统不能解决数据冗余和数据的独立性,而数据库系统能正确答案:D2下述不是DBA 数据库管理员的职责的是()。
A.完整性约束说明B.定义数据库模式C.数据库管理系统设计D.数据库安全正确答案:C3数据库(DB ),数据库系统(D BS)和数据库管理系统(D BMS)之间的关系是()。
A.DBS 包括DB 和DBMSB.DBMS 包括DB 和DBSC.DB 包括DBS 和DBMSD.DBS 就是DB,也就是DBMS正确答案:A4()是以一定的组织方式将相关的数据组织在一起,长期存放在计算机内,可为多个用户共享,与应用程序彼此独立,统一管理的数据集合。
正确答案:数据库5 在数据库的三级模式结构中,描述数据库中全体数据的逻辑结构和特征的是()。
正确答案:模式1.2关系数据库1在关系运算中,选择运算的含义是()。
A.从一个关系中找出满足给定条件的元组组成一个新的关系B.从一个关系中找出需要的属性组成一个新的关系C.从一个关系中找出满足条件的元组和属性组成一个新的关系D.以上3 种说法均是正确的正确答案:A2在“学生表”中,要查找所有年龄大于30 岁姓王的男同学,所采用的关系运算是()。
A.选择B.投影C.连接D.自然连接正确答案:A3在关系运算中,()运算得到的新关系中属性个数通常多于原关系中属性个数。
A.选择B.投影C.连接D.并正确答案:C4在“教师表”中要显示教师的姓名和职称的信息,应采用的关系运算是()A.选择B.投影C.连接D.差正确答案:B5传统的集合运算包含并、差、交和()。
正确答案:笛卡尔积6关系运算中专门的关系运算,包括选择、投影和()正确答案:连接7在关系运算中,要选择若干属性组成新的关系,该运算称为()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库习题作业重点(第2-3-4章)7 2 34 4 3计算R ∪S ,R-S ,R ∩S ,R ×S ,π3,2(S ),σB<’5’(R),R R S 。
解: R ∪S A B C R -S A B C R ∩S A B C 3 6 7 3 6 77 2 32 5 7 2 5 7 7 2 34 4 34 4 33 4 5R ×S R.A R.B R.C S.A S.B S.C 3,2(S ) C B3 6 7 345 5 4 367 7 2 33 22 5 7345 2 5 7 7 2 3 7 2 3 3 4 5 7 2 3 7 2 3 4 4 3 3 4 544 37 23σB<’5’(R )A B C R ⋈S R.A R.B R.C S.A S.B S.C7 2 37 2 3 3 4 54 4 3R ⋈S A B C 7 2 32.7 设有关系R 和S : R A B S B C a b b c c b e ad eb d计算R ⋈ S ,R ⋈ S ,σA=C (R ×S),S ⋉ R 。
2.8 假设关系U 和V 分别有m 个元组和n 个元组,给出下列表达式中可能的最小和最大的元组数量:2<2B<Ce ab⑴ U∩V ⑵ U∪V⑶ U⋈V ⑷σF(U)×V (F为某个条件)⑸πL(U)-V (其中L为某属性集)解:操作最小元组数最大元组数⑴ U∩V 0 min(m,n)⑵ U∪V max(m,n) m+n⑶ U⋈V 0 m×n⑷σF(U)×V 0 m×n⑸πL(U)-V 0 m2.17 设有三个关系:T(T#,TNMAE,TITLE)C(C#,CNAME,T#)S(S#,SNAME,AGE,SEX)SC(S#,C#,SCORE)试用关系代数表达式表示下列查询语句:①检索年龄小于17岁的女学生的学号和姓名。
②检索男学生所学课程的课程号和课程名。
③检索男学生所学课程的任课教师的工号和姓名。
④检索至少选修两门课的学生学号。
⑤检索至少有学号为S2和S4学生选修的课程的课程号。
⑥检索WANG同学不学的课程的课程号。
⑦检索全部学生都选修的课程的课程号与课程名。
⑧检索选修课程包含LIU老师所授全部课程的学生学号。
解:⑴πS#,SNAME(σAGE<’17’∧SEX=’F’(S))⑵Πc#,CNAME(σSEX='M'(S⋈SC⋈C))⑶ΠT#,TNAME(σSEX='M'(S⋈SC⋈C⋈T))⑷π1(σ1=4 ∧ 2≠5(SC×SC))⑸π2(σ1=’S2’∧4=’S4’∧ 2=5(SC×SC))⑹πC#(C)-πC#(σSNAME='WANG'(S⋈SC))⑺πC#,CNAME(C⋈(πS#,C#(SC)÷πS#(S)))⑻πS#,C#(SC)÷πC#(σTNAME='LIU'(C⋈T))2.21 在教学数据库的关系S、SC、C、T中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。
①试写出该查询的关系代数表达式。
②画出查询表达式的语法树。
③使用启发式优化算法,对语法树进行优化,并画出优化后的语法树。
解:【3.2】设教学数据库中有4个关系:教师关系 T(T#,TNAME,TITLE)课程关系C(C#,CNAME,T#)学生关系S(S#,SNAME,AGE,SEX)选课关系 SC(S#,C#,SCORE)试用SQL查询语句表示下列查询。
解:①检索年龄小于17岁的女学生的学号和姓名。
SELECT S#.SNAMEFROM SWHERE AGE<17 AND SEX=’F’②检索男学生所学课程的课程号和课程名。
SELECT C.C#,CNAME (连接查询方式)FROM S,SC,CWHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=’M’;③检索男学生所学课程的任课老师的工号和姓名。
SELECT T.T#, TNAMEFROM S,SC,C,TWHERE S.S#=SC.S# AND SC.C#=C.C# AND C.T#=T.T# AND SEX=’M’;④检索至少选修两门课程的学生学号。
SELECT DISTINCT X.S#FROM SC AS X, SC AS YWHERE X.S#=Y.S# AND X.C#!=Y.C#;⑤检索至少有学号为S2和S4的学生选修的课程的课程号。
SELECT DISTINCT X.C#FROM SC AS X, SC AS YWHERE X.S#=’S2’AND Y.S#=’S4’ AND X.C#=Y.C#;⑥检索WANG同学不学的课程的课程号。
SELECT C#FROM CWHERE NOT EXISTS(SELECT *FROM S, SCWHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG’);⑦检索全部学生都选修的课程的课程号与课程名。
SELECT C#,CNAMEFROM CWHERE NOT EXISTS(SELECT *FROM SWHERE NOT EXISTS(SELECT *FROM SCWHERE S#=S.S# AND C#=C.C#));⑧检索选修课程包含LIU老师所授全部课程的学生学号。
法一:SELECT DISTINCT S#FROM SC AS XWHERE NOT EXISTS(SELECT *FROM C,TWHERE C.T#=T.T# AND TNAME=’LIU’AND NOT EXISTS(SELECT{FROM SC AS YWHERE Y.S#=X.S# AND Y.C#=C.C#));法二:FROM SC XWHERE NOT EXISTS((SELECT C# FROM C,TWHERE C.T#=T.T# AND TNAME='LIU’)EXCEPT(SELECT C# FROM SC Y WHERE Y.S#=X.S#));【3.7】试用SQL查询语句表达下列对第3.2题中4个基本表T、C、S、SC的查询。
①统计有学生选修的课程门数。
SELECT COUNT(DISTINCT C#) FROM SC;②求选修C4课程的女学生的平均年龄。
SELECT AVG(AGE)FROM S,SCWHERE S.S#=SC.S# AND C#=’C4’AND SEX=’F’:③求LIU老师所授的每门课程的平均成绩。
SELECT C.C#.AVG(SCORE)FROM SC,C,TWHERE SC.C#=C.C# AND C.T#=T.T# AND TNAME=’LIU’GROUP BY C.C#;④统计选修每门课程的学生人数(超过l0人的课程才统计)。
要求显示课程号和人数,查询结果按人数降序排列,若人数相同,则按课程号升序排列。
SELECT C#.COUNT(S#)FROM SCGROUP BY C#HAVING COUNT(*)>10ORDER BY 2 DESC,1;⑤检索学号比WANG同学大,而年龄比他小的学生姓名。
SELECT SNAMEFROM SWHERE S#>ALL(SELECT S# FROM SWHERE SNAME=’WANG’)AND AGE<ALL( SELECT AGEFROM SWHERE SNAME=’WANG);⑥在表SC中检索成绩为空值的学生的学号和课程号。
SELECT S#, C#FROM SCWHERE SCORE IS NULL;⑦检索姓名以L开头的所有学生的姓名和年龄。
SELECT SNAME, AGEFROM SWHERE SNAME LIKE ’L%’;⑧求年龄大于女同学平均年龄的男学生的姓名和年龄。
FROM SWHERE SEX=’M’AND AGE>(SELECT AVG(AGE)FROM SWHERE SEX=’F’);⑨求年龄大于所有女同学年龄的男学生的姓名和年龄。
SELECT SNAME, AGEFROM SWHERE SEX=‘M’AND AGE>ALL(SELECT AGEFROM SWHERE SEX=’F’);【3.12】解:①INSERT INTO CVALUES(‘C8’,’VC++’,’T6’);②法一:INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM (SELECT TNAME,C.C#,AVG(SCORE)FROM T, C, SCWHERE T.T#=C.T# AND C.C#=SC.C#GROUP BY TNAME,C.C#)AS RESULT(TNAME,C#,AVG—SCORE) AS XWHERE 80<=ALL(SELECT AVG—SCOREFROM RESULT AS YWHERE Y.TNAME=X.TNAME);法二INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM T, C, SCWHERE C.C#=SC.C# AND T.T#=C.T#AND T# NOT IN (SELECT T# FROM CWHERE C# IN(SELECT C# FROM SCGROUP BY C# HAVING AVG(SCORE)<=80))③DELETE FROM SC WHERE SCORE IS NULL;④DELETE FROM SCW HERE S# IN(SELECT S# FROM S WHERE SEX=’F’)AND C# IN(SELECT C# FROM C, T WHERE C.T#=T.T# AND TNAME=’LIU’);⑤UPDATE SCSET SCORE=60WHERE SCORE<60AND C# IN(SELECT C#FROM C WHERE CNAME=’MATHS’);⑥UPDATE SCSET SCORE=SCORE * 1.05WHERE S # IN(SELECT S# FROM S WHERE SEX='F’)AND SCORE<(SELECT AVG(SCORE) FROM SC);⑦用两个UPDATE语句实现:UPDATE SCSET SCORE=SCORE * 1.04WHERE C#=’C4’AND SCORE>70;UPDATE SCSET SCORE=SCORE * 1.05WHERE C#=’C4’AND SCORE<=70;这两个UPDATE语句的顺序不能颠倒。