数据库练习题 .doc

上传人:h**** 文档编号:1471795 上传时间:2019-03-01 格式:DOC 页数:12 大小:74.50KB
下载 相关 举报
数据库练习题 .doc_第1页
第1页 / 共12页
数据库练习题 .doc_第2页
第2页 / 共12页
数据库练习题 .doc_第3页
第3页 / 共12页
数据库练习题 .doc_第4页
第4页 / 共12页
数据库练习题 .doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、填空选择类练习题一、填空题1、系统自动创建的索引有_unique (唯一索引) 和 primary_(主键索引)_。2、SQL 语言支持关系数据库的三级模式结构分别是_ 外模式 _、 内模式_、 _模式_。3、主数据文件的扩展名为 .mdf 。4、主键约束是_非空_和_唯一_的组合。5、数据库文件有_主数据文件(.mdf)_、_辅助数据文件(.ndf)_、 _日志文件(.ldf)_。6、SQL 语言支持关系数据库的三级模式结构分别是_ 外模式 _、 内模式_、 模式_。7、视图的查询不可以包含_compute / compute by_、_order by_和_into_关键字。8、数据库领域

2、常用的数据模型有_层次模式_、_网状模式_、 _关系模式_、_面向对象_。9、在一个表中只能设置_1_个主键约束,可以定义_多_个唯一性约束。二、选择题1、次数据文件用于存储不能存在主数据文件中的数据,默认扩展名为(A ) 。 A.ndf B.mdf C.log D.dat 2、关系模型中数据的逻辑结构是一张二维表,它由( A)组成。 A行和列 B行 C关系 D列3、一个查询的结果成为另一个查询的条件,这种查询被称为( D) 。 A连接查询 B内查询 C自查询 D子查询 4、SELECT 语句中,下列( B)子句用于对数据按照某个字段分组?( A )子句用于对分组统计进一步设置条件。 AHAV

3、ING 子句 BGROUP BY 子句 CORDER BY 子句 DWHERE 子句 5、在 SELECT 语句中,下列子句用于对搜索的结果进行排序( C) 。 AHAVING 子句 BGROUP BY 子句 CORDER BY 子句 DWHERE 子句 6、修改视图时,使用( A )选项,可以对 CREATE VIEW 的文本进行加密。 AWITH ENCRYPTION BWITH CHECK OPTION C VIEW _METADATA DAS SQL 语句7、与 WHERE AGE BETWEEN 18 AND 23 完全等价的是( D ) 。 AWHERE AGE18AND AGE2

4、3 BWHERE AGE18AND AGE23 CWHERE AGE18AND AGE23 DWHERE AGE18AND AGE23 一、填空题1、在查询编辑器窗口输入的 SQL 语句,可以被保存或重新打开,SQL 文件的扩展名为_.sql_。2、数据库领域常用的数据模型有_层次模式_、_网状模式_、 _关系模式_、_面向对象_。3、数据库文件有_.mdf_、_.ndf_ _、 _.ldf_。4、主数据文件的扩展名为 _.mdf_。5、主键约束是_非空_和_唯一_的组合。6、在一个表中只能设置_1_个主键约束,可以定义_多_个唯一性约束。7、视图的查询不可以包含_compute /compu

5、te by_、_order by_和_into_关键字。8、系统自动创建的索引有_unique_和_primary_。9、游标包含_结果集_和_位置_两部分。二、选择题1、创建视图命令是(A ) 。 ACREATE VIEW BDROP VIEW CCREATE TABLE DCREATE RULE 2、在 SELECT 语句中,如果想要返回的结果集中不包含相同的行,应该使用关键字( C ) 。 ATOP BAS CDISTINCT DJOIN 3、在 SELECT 语句中,下列子句用于将查询结果存储在一个新表中( B ) 。 ASELECT 子句 BINTO 子句 CFROM 子句 DWHE

6、RE 子句 4、为了对表中的各行进行快速访问,应对此表建立( C ) 。 A约束 B规则 C索引 D视图 5、通过 CREATE TABLE 语句或者其他方法创建了一个表后,可以使用(B )语句在表中添加记录。 ADELETE BINSERT CUPDATE DINSEATER 6、 (B )在定义列时,它可以为表中的指定列提供。 AFOREIGN 约束 (外码) BDEFAULT 约束( 默认值 )CUNIQUE 约束 (唯一性) DCHECK(域完整性)7、单击【查询编辑器】窗口中的任意位置。按(A )命令,可以在全屏显示模式和常规显示模式之间进行切换。 AShift+Alt+Enter

7、BShift +Enter CShift+Alt DShift 1、单击【查询编辑器】窗口中的任意位置。按(A )命令,可以在全屏显示模式和常规显示模式之间进行切换。 AShift+Alt+Enter BShift +Enter CShift+Alt DShift 2、在查询编辑器窗口输入的 SQL 语句,可以被保存或重新打开,SQL 文件的扩展名为_.SQL_。3、关系模型中数据的逻辑结构是一张二维表,它由( )组成。 A行和列 B行 C关系 D列 4、关系模型的完整性规则是对数据的约束。关系模型提供了三类完整性规则_实体_、_参照_和_自定义_。5、次数据文件用于存储不能存在主数据文件中的

8、数据,默认扩展名为(B ) 。 A.ndf B.mdf C.log D.dat 6、通常情况,SQL Server 2005 主要支持 PRIMARY 约束、UNIQUE 约束、CHECK 约束、DEFAULT 约束、 FOREIGN 约束。 ( B)在定义列时,它可以为表中的指定列提供默认值。AFOREIGN 约束 BDEFAULT 约束 CUNIQUE 约束 DCHECK 7、创建 S 时,要求约束 sex 属性只能取值为男或者女,正确的命令是(B ) 。 ACREATE TABLE S BCREATE TABLE S ( ( sex char(2), sex char(2), CHECK

9、( sex in (男,女) CHECK(男,女) ) ) CCREATE TABLE S DCREATE TABLE S ( ( sex char(2), sex in (男,女)char(2), sex in (男,女) ) 8、通过 CREATE TABLE 语句或者其他方法创建了一个表后,可以使用( B)语句在表中添加记录。 ADELETE BINSERT CUPDATE DINSEATER 9、一个查询的结果成为另一个查询的条件,这种查询被称为( D) 。 A连接查询 B内查询 C自查询 D子查询 10、为了对表中的各行进行快速访问,应对此表建立(C ) 。 A约束 B规则 C索引

10、D视图 11、SELECT 语句中,下列( B)子句用于对数据按照某个字段分组?( A )子句用于对分组统计进一步设置条件。 AHAVING 子句 BGROUP BY 子句 CORDER BY 子句 DWHERE 子句 12、在 SELECT 语句中,下列子句用于将查询结果存储在一个新表中( B) 。 ASELECT 子句 BINTO 子句 CFROM 子句 DWHERE 子句 13、在 SELECT 语句中,下列子句用于对搜索的结果进行排序(C ) 。 AHAVING 子句 BGROUP BY 子句 CORDER BY 子句 DWHERE 子句 14、在 SELECT 语句中,如果想要返回的

11、结果集中不包含相同的行,应该使用关键字(C ) 。 ATOP BAS CDISTINCT DJOIN 15、与 WHERE AGE BETWEEN 18 AND 23 完全等价的是( D ) 。 AWHERE AGE18AND AGE23 BWHERE AGE18AND AGE23 CWHERE AGE18AND AGE23 DWHERE AGE18AND AGE23 16、创建视图命令是( A) 。 ACREATE VIEW BDROP VIEW CCREATE TABLE DCREATE RULE 17、修改视图时,使用( A)选项,可以对 CREATE VIEW 的文本进行加密。 AWI

12、TH ENCRYPTION B WITH CHECK OPTION C VIEW _METADATA DAS SQL 语句简答类练习题1. 数据库管理系统的构成有哪些?P2数据库系统由数据库、操作系统、数据库管理系统、应用系统、数据库管理员和用户等组数据库系统由数据库、操作系统、数据库管理系统、应用系统、数据库管理员和用户等组数据库系统由数据库、操作系统、数据库管理系统、应用系统、数据库管理员和用户等组成。成。成。2. 数据模型有哪些?层次模型、网状模型、关系模型、面向对象 3. 实体间的关系有哪几种?一对一、一对多、多对多4. 数据库管理经历了哪 3 个阶段?1:程序管理阶段 2:文件管理阶

13、段 3:数据库系统管理阶段(人工管理、文件系统和数据库管理系统)5. 数据完整性有哪些?正确性、有效性、相容性 (实体完整性约束 参照完整性约束 用户自定义完整性)6. 数据库对象有哪些?至少 5 个表、视图、索引、约束、触发器、默认值、用户和角色、规则、类型、函数7. 数据库文件有哪 3 类?主数据文件、辅助数据文件、日志文件8. 关系运算符有哪些?选择、投影、连接9. 备份的方法有哪些?完全数据库备份、数据库和事务日志备份、差异备份、数据库文件和文件组备份10. 身份验证模式有哪 2 种?Windows 验证模式、SQL Server 验证模式表的操作:1、创建 T 表(教师基本情况表)(

14、TNO,TN,SEX,AGE,PROF,SAL,DEPT)分别表示教师的编号,姓名,性别,年龄,职称,工资,系别。TC 表(教师授课表)的结构为 TC(TNO,CNO)分别表示教师的编号,课程编号USE exampleGOCREATE TABLE t(TNO char(10) NOT NULL PRIMARY KEY,/*教师编号字段 */TN char(10) NULL,/*教师姓名字段*/SEX char(2) NULL,/*教师性别字段*/AGE int NULL,/*教师年龄字段*/PROF char(20) NULL,/*教师职称字段*/SAL int NULL,/*教师工资字段*/

15、DEPT char(10) NULL,/*教师所在系别字段 */ )GOINSERT INTO t VALUES(0001,张老师, 男,41,副教授,2200,电力系)GOINSERT INTO t VALUES(0002,张益琳, 女,32,讲师,1500,动力系)GOCREATE TABLE TC(TNO char(10) NOT NULL,/*教师编号字段*/CNO char(10) NULL,/*教师执教课程字段*/ )GOINSERT INTO tc VALUES(0001,C5)GO2、把所有教师的工资提高到平均工资的 1.2 倍。update t set sal=sal*1.2

16、3、 删除张益琳教师的记录。delete twhere Tn=张益琳4.增加一个 tel char(20)列。ALTER TABLE tADD tel char(20)5.将工资字段属性改为 float 型。ALTER TABLE t ALTER COLUMN sal char(20) 6.删除 tel 字段。ALTER TABLE tDROP COLUMN tel7.将张老师的年龄改为 50 岁。update t set age=50where Tn=张老师8.将张老师的执教课程字段改为 C10.UPDATE tc SET cno=c10WHERE tno IN (SELECT tno FR

17、OM t WHERE tn=张老师)9.将 TC 表改为 TC_01 表。exec sp_rename tc,tc_0110.将系别字段命名为 sdept.exec sp_rename t.dept,sdept11.删除 TC_01 表.drop table tc_01查询操作:必考1. 查询 xs 表中所有内容2. 查询 xs 表中学号,姓名3. 查询 xs 表中专业4. 查询 xs 表中专业,过滤掉重复元组。5. 查询 xs 表中学号,姓名,并设置学号为学生学号6. 查询 xs 表中学号,姓名,出生时间,年龄7. 查询 xs 表前 3 条记录8. 查询 xs 表中学号,姓名,性别并把查询内

18、容生成新表 xs_new9. 生成新表 xs_new1,使此表的框架和 xs 表相同,但表中无记录。10. 查询 xs 表中年龄在 23 岁以下的学生学号,姓名,出生日期。11. 查询 cj 表中选修了 a001 的 j001 学生学号12. 查询 xs 表中姓王的学生13. 查询 xs 表中姓王的女学生14. 查询 xs 表中的所有学生记录,并按总学分降序排列15. 查询 xs 表不属于信息管理专业学生记录16. 查询选修了课程的学号,姓名,课程号,成绩xs 表学号 姓名 性别 出生时间 专业 总学分101 王林 男 1988-2-3 信息管理 20102 程明 男 1988-5-15 信息

19、管理 20103 王燕 女 1987-8-23 信息管理 20104 李丽 女 1988-12-22 网络工程 24105 李强 男 1987-4-5 网络工程 26cj 表学号 课程号 成绩101 a001 89101 a002 98102 j001 60102 j002 70答案:1. select * from xs2. select 学号,姓名 from xs3. select 专业 from xs4. select distinct 专业 from xs5. select 学号 as 学生学号,姓名 from xs6. select 学号,姓名,出生时间, datediff(year

20、,出生时间,getdate( ) as 年龄 from xs7. select top 3 * from xs8. select 学号,姓名,性别 into xs_new from xs9. select * into xs_new1 from xs where 1210. select 学号,姓名,出生时间 from xs where datediff(year,出生时间,getdate( )信息管理16. select xs.学号,姓名,课程号,成绩 from xs,cj where xs.学号=cj.学号假设有 basetest 数据库的如下关系Student(sno,sname,sse

21、x,sage,sdept)Sc(sno,cno,grade)Course(cno,cname,cpni,ccredit)Use basetest5.用 in 和 exists 分别实现下面内容1) 查询选修了高等数学的学号,成绩和课程号2) 查询选修了高等数学的学号,姓名和系别6.用比较子查询实现查询大于平均年龄的学生信息答案:5.1)select sno,grade,cnofrom scwhere cno in(select cnoFrom coursewhere cname=高等数学)select sno,grade,cnofrom scwhere exists(select *from

22、coursewhere cno=o and cname=高等数学)2) select sno,sname,sdeptfrom studentwhere sno in(select snofrom scwhere cno in(select cnofrom coursewhere cname=高等数学)select sno,sname,sdeptfrom studentwhere exists(select *from scwhere sno=student.sno and exists(select *From courseWhere cno=o and cname=高等数学)6. selec

23、t * from studentWhere sage(select avg(sage) from student)select * from studentwhere sdept!=IS and sageall(select sageFrom studentWhere sdept=IS)视图的操作:必考use basetest1、创建 stud_view 视图,显示学生的姓名、选修课程和成绩。create view stud_viewasselect sname,cno,gradefrom sc,studentwhere sc.sno=student.sno2、创建 stud_view1 视图

24、,可以查看平均成绩在 80 分以上的学生姓名。create view stud_view1asselect snamefrom studentwhere sno in(select snofrom scgroup by snohaving avg(grade)80)3、创建 student_view2 视图,可以显示课程名和选修该课程的学生人数。create view student_view2asselect o,cname,count(sno) 人数from sc,coursewhere o=ogroup by o,cname5、创建 depart_view 视图查看每个系的学生人数。cr

25、eate view depart_viewasselect sdept,count(sno) as 人数from studentgroup by sdept6、创建 stud_view2 视图可以查看每个学生的选修课程的门数和平均成绩。create view stud_view2asselect sno,count(sno) as 门数,avg(grade) as 平均成绩from scgroup by sno7、在 stud_view2 视图上查询平均成绩在 80 分以下的学生学号。select snofrom stud_view2where 平均成绩= 0 BEGINSET i = i +

26、1 IF i 100 BEGINSELECT 1 到 100 的和 = sum BREAK END ELSESET sum = sum + iEND例 15 返回女生信息(存储过程)IF EXISTS(SELECT name FROM sysobjectsWHERE name=stu_pro and type=p ) DROP PROCEDURE stu_proGOCREATE PROCEDURE stu_pro AS SELECT *FROM student WHERE ssex=女GO-调用EXECUTE stu_proGO例 5 检查插入的学生是否是 is 系的学生(触发器)USE basetestIF EXISTS ( SELECT name FROM sysobjectsWHERE name = sc_tr AND type = TR )DROP TRIGGER sc_trGOCREATE TRIGGER sc_trON scFOR INSERTASIF EXISTS (SELECT sno FROM insertedWHERE sno NOT IN ( SELECT sno FROM studentWHERE sdept=IS

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。