《数据库SQL期末考试复习题修改版(共7页).doc》由会员分享,可在线阅读,更多相关《数据库SQL期末考试复习题修改版(共7页).doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2012-2013 SQL数据库期末考试复习题一、数据库操作题:1.为学生选课管理系统创建名为“stuCourse”的数据库。(1)主数据库文件和日志文件的逻辑分别为stuCourse _data和stuCourse _log。(2)物理文件存放在d:data文件夹中。create database stuCourseon PRIMARY(name = stuCourse_data,filename = d:datastuCourse_data.mdf)log on(name = stuCourse_log,filename = d:datastuCourse_log
2、.ldf,)2为学生选课管理系统数据库(stuCourse)创建表,表结构如下。(1)用SQL语句创建学生表,学生(学号,姓名,性别,年龄,系别),并设置约束:性别=男或“女”。(2)创建选课表,选课(学号,分数,课程编号,教师编号)。3. 设计其E-R图,并标示出实体的主码。4用SQL语句插入数据,数据如表4-21表4-25所示。表4-21 学生表数据表4-22选课表数据5、对stuCourse数据库进行以下查询:1查询全体学生的学号、姓名和年龄。select 学号,姓名,年龄from 学生表2查询选修了课程的学生号。select distinct 学号from 选课表3查询选修课程号C3的
3、学号和成绩。select 学号,分数from 选课表where 课程编号=C34查询成绩高于85分的学生的学号、课程号和成绩。select 学号,课程编号,分数from 选课表where 分数855查询选修了C1或C2且分数大于等于85分的学生和学号、课程号和成绩。select 学号,课程编号,分数from 选课表where 分数85 and 课程编号=C1 or 课程编号=C26查询选修C1或C2的学生的学号、课程号和成绩。select 学号,课程编号,分数from 选课表where 课程编号=C1 or 课程编号=C27查询所有姓张的学生的学号和姓名。select 学号,姓名from 学生
4、表where 姓名like 张%8查询选修C1的学生姓名和成绩,并按成绩降序排列。select s.姓名,x.分数from 学生表 as s,选课表 as xwhere x.课程编号=C1 and s.学号=x.学号order by x.分数desc9.查询与学生宋江相同系学生的学号和姓名。select 学号,姓名from 学生表where 系别=(select 系别from 学生表where 姓名= 宋江)10在分组查询中使用HAVING条件,查询平均成绩大于85的学生学号及平均成绩。select avg(分数) as 平均分from 选课表group by 学号HAVING avg(分数)
5、8511查询选课在二门以上且各门课均及格的学生的学号及其总成绩,查询结果按总成绩降序列出。select 学号,sum(分数) as 总分from 选课表group by 学号having avg(分数)60 and count(学号)=2order by sum(分数) desc12查询选修C1课程且成绩在60以上的所有学生的学号、姓名和分数。select s.学号, s.姓名,x.分数from 学生表as s,选课表as xwhere s.学号=x.学号and 课程编号=c1 and 分数6013.将成绩小于60分的科目分数加5分update 选课表set 分数=分数+5where 分数60
6、14.删除分数是Null的记录delete from 选课表where 分数Is null6、存储过程操作1在stuCourse数据库中,创建一个名为checkPhone的存储过程,该存储过程接受一个长途电话号码,并检查该号码的前四位为0731还是0735。如果是0731的,则显示“你输入的号码是长沙的区号”;如果0735,则显示信息“您输入的是郴州的区号”。usestuCoursegocreateprocedurecheckPhoneHintasifH=0731print你输入的号码是长沙的区号elseifH=0735print您输入的是郴州的区号goexeccheckPhone07352在
7、stuCourse数据库中,创建一个存储过程,根据学生的学号查询他的选课记录。7、创建登录用户和数据库用户,使该用户对数据库具有增删查改的权限。use stuCoursegocreate procedure Hong(H int)asselect * from 选课表 where 学号 = Hgoexec Hong 1001二、选择题:1 数据完整性是指()A. 数据库中的数据部存在重复B. 数据库中所有的数据格式是一样的C. 所有的数据全部保存在数据库中D. 数据库中的数据能够正确反映实际情况2. 数据冗余指的是()A. 数据和数据之间没有联系B. 数据有丢失C. 数据量太大D. 存在重复的
8、数据3. ()的操作是把已经存在于磁盘的数据库文件恢复成数据库A. 附加数据库B. 删除数据库C. 分离数据库D. 压缩数据库4. 一个登录用户的数据库角色成员身份被设置为db_denydatawriter,该用户对数据库将()A. 只能写入数据,不能读取数据B. 不能写入数据C. 既能写入数据也能读取数据D. 能够执行所有的管理操作5. 主键用来实施()A. 实体完整性约束B. 引用完整性约束C. 域完整性约束D. 自定义完整性约束6. 表Course和表Teacher建立了主外键关系,Course为主表,Teachers为子表,以下说法中正确的选项是()A. Teachers表存在Cour
9、se表的外键B. Teachers表中存在外键C. Course表中存在外键D. Course表中存在Teachers表的外键7. 假设原来做的一个管理系统使用的是SQL Server数据库,现在想把它转化为Access数据库,可以采用()方法来实施A. 把数据复制、粘贴到Access数据库中B. Access数据库使用SQL Server的数据文件C. 使用数据导入导出操作D. 直接在Access中打开SQL Server数据库8. 假定一位教师可讲授多门课程,一门课程可由多位教师讲授,教师与课程之间是()A. 一对一的关系B. 一对多的关系C. 多对一的关系D. 多对多的关系9. 关于数据
10、库的设计范式,以下说法错误的是()A. 数据库的设计范式有助于规范化数据库的设计B. 数据库的设计范式有助于减少数据冗余C. 设计数据库时,一定要严格遵守设计范式。满足的范式级别越高,系统性能就越好10. 下面的()存储过程用于添加一个数据库安全账户并授予它访问权限A. sp_grantdbaccessB. sp_grantloginC. sp_grantuserD. sp_grantall11. 给变量赋值时,如果数据来源于表的某一列,应采用()方式A. SELECTB. PrintC. SET12. SELECT * FROM stuinfo WHERE stuNo ( ) (SELECT
11、 stuNo FROM stuMarks) 括号中应填()比较合理A. =13. 对数据库的修改必须遵循的规则是:要么全部完成,要么全不修改。这点可以认为是事务的()特性A. 一致性B. 持久性C. 原子性D. 隔离性14. 下列的()语句用于清除自最近的事务语句以来所有的修改A. COMMIT TRANSACTIONB. ROLLBACK TRANSACTIONC. BEGIN TRANSACTIOND. SAVE TRANSACTION15. 下列的()总要对数据进行排序A. 聚集索引B. 非聚集索引C. 组合索引D. 唯一索引16. 运行以下语句,输出结果是()Create proc p
12、roc_lookupmystuno varchar(8)=nullAsIf mystuno is nullBeginPrint 您忘记了传递学号参数RETURN ENDSELECT * FROM stuInfo WHERE stuNo=mystuNoGOEXEC proc_lookupA. 编译错误B. 调用存储过程proc_lookup过程出错C. 显示“您忘记了传递学号参数”D. 显示空的学员信息记录集17. 数据库文件有三类,分别为主要数据文件、其他数据文件和日志文件。其中每个数据库允许有( )主要数据文件。A、至少一个 B、有且只能有一个C、最多一个 D、可以没有,也可以有多个18若表
13、中的一个字段定义数据类型为varchar,长度为30,当在此字段中输入字符串“广东科贸职业学院”时,此字段将占用( )字节的存储空间。A、8 B、16C、18 D、2019、已知变量a=一个坚定的人只会说yes不会说no,下列截取yes的操作正确的是()。ARIGHT(LEFT(a,21),4) BLEFT(RIGHT(a,12),3) CRIGHT(LEFT(a,20),3) DSUBSTR(a,19,3) 20. 要消除返回结果集中的重复记录,应使用关键字( )。A、TOP B、COUNTC、DISTINCT D、DESC21. 如果要删除表的定义和表中的数据,应使用( )。A、TRUNC
14、ATE TABLE语句 B、DELETE语句C、DROP TABLE语句 D、A或B22修改存储过程使用的语句是( )。A、ALTER PROCEDUREB、DROP PROCEDUREC、INSERT PROCEDUED、DELETE PROCEDUE23. 下列( )在删除数据的语句在运行时不会产生错误信息。A、DELETE * FROM ABC WHERE ASS=6B、DELETE FROM ABC WHERE ABC=6C、DELETE ABC WHERE ASS=6D、DELETE ABC SET ASS=624. 在连接组中有两种连接认证方式,其中在( )方式下,需要客户端应用程
15、序连接时提供登录时需要的用户标识和密码。A、Windows身份验证 B、SQL Server 身份验证 C、以超级用户身份登录时 D、其他方式登录时25下列哪个统计函数可以计算平均值?( )A、sum B、avg C、count D、min26. 下列哪一种备份方式只备份了自上次备份操作发生后重新发生改变的数据?( )A、完全备份 B、日志备份C、增量备份 D、文件和文件组备份27. 下列哪类数据不适合创建索引?( )A、经常被查询搜索的列,如经常在Where子句中出现的列 B、是外键或主键的列C、包含太多重复选用值的列D、在ORDER BY子句中使用的列28下列设置的查询“工资”在1500元到2000元之间的约束正确的是( )A、=1500 OR =1500 AND 200029.SELECT语句中与HAVING子句同时使用的是( )子句。A.ORDER BY B.WHERE C.GROUP BYD.无需配合30. 在MS SQL Server中,用来显示数据库信息的系统存储过程是( )。A.sp_dbhel B.sp_dbC.sp_help D. sp_helpdb专心-专注-专业
限制150内