sql三级操作练习2
- 格式:doc
- 大小:707.50 KB
- 文档页数:15
《数据库管理人员(SQL server)》(三级)试题单试题代码:1.1.1试题名称:应用分析考生姓名:准考证号:考核时间:45 min说明:以下所有内容请填入相应的1.1.1答题卷上一、单项选择(第1题~第18题。
选择一个正确的答案,每题2分,满分36分。
)1.关于SQL Server的数据复制功能,下列说法不正确的是()。
A.SQL Server的数据复制功能支持服务器与服务器之间的复制B.SQL Server的数据复制功能不支持服务器与客户端之间的复制C.利用数据复制功能支持SQL Server数据和SQL Server数据之间的复制D.利用数据复制功能支持SQL Server数据和Oracle数据之间的复制2.利用SQL Server 2005的配置管理器,可以实现对SQL Server 的各种参数配置,但不包括()。
A.配置SQL Server数据库的各种服务B.SQL Server网络配置C.SQL Native Client配置D.SQL Server 使用内存、CPU的配置3.利用SQL Server Management Studio中的活动监视器可以监视服务器上各个进程的情况。
例如可以观察一个SELECT语句的进程执行的情况,但不包括下列()的信息。
A.执行该进程的用户B.所占用的CPU时间、内存空间C.所等待的时间D.语句执行后的查询结果4.SQL Server Profiler可用于捕捉SQL Server服务器中发生的事件,因而常用来监控客户端发送给服务器的语句中的内容,但通常SQL Server Profiler不能用于()。
A.分析数据库服务器中数据表之间的关系B.用图形化的方式查看死锁C.分析应用程序如何使用SQL Server实例D.通过在跟踪中存储查询计划,从而分析查询5.下列语句中()能通过事务来确保数据的一致性。
A.Update emp01 set salary = salary + 100 where eno=1001GoWaitfor delay ‘20:00’BEGIN TRANSACTION T1Update emp01 set salary = salary + 100 where eno=1002GoCOMMIT TRANSACTION T1B.Update emp01 set salary = salary + 100 where eno=1001GoBEGIN TRANSACTION T1Waitfor delay ‘20:00’Update emp01 set salary = salary + 100 where eno=1002GoCOMMIT TRANSACTION T1C.BEGIN TRANSACTION T1Update emp01 set salary = salary + 100 where eno=1001GoWaitfor delay ‘20:00’Update emp01 set salary = salary + 100 where eno=1002GoCOMMIT TRANSACTION T1D.BEGIN TRANSACTION T1Update emp01 set salary = salary + 100 where eno=1001GoWaitfor delay ‘20:00’COMMIT TRANSACTION T1Update emp01 set salary = salary + 100 where eno=1002Go6.SQL Server使用不同的锁模式锁定资源,锁的模式确定了并发事务访问资源的方式,其中()能防止常见的死锁。
《数据库管理人员(SQL Server)》(三级)试题单试题代码:2.1.1试题名称:监控数据库服务器考生姓名:准考证号:考核时间:30min1、操作条件(1)SQL Server 2005中文版(2)MS WORD中文版(3)Windows自带画图程序(4)Windows XP中文版2、操作内容(1)利用SQL语句监控SQL Server的运行情况(包括CPU瓶颈、内存瓶颈、I/O 瓶颈和阻塞等)。
(2)利用SQL Server Management Studio中的活动监视器监控当前数据库服务器上的信息(包括进程、登陆帐户、锁等),按要求写出有关操作步骤,并将有关操作界面截屏保存。
(3)利用SQL Server Profiler和性能监视器的监视功能,跟踪监视同一时间段内SQL Server活动和指定性能计数器(包括磁盘使用、内存使用、CPU使用和SQL Server实例)的值,按要求写出操作步骤,并将有关操作界面截屏保存。
3、操作要求(1)考生按要求在指定位置建立考生文件夹(2)在考生文件夹内建立WORD文档(3)将上述操作步骤和操作界面截屏依次保存至该文档素材素材内容:1、SQL Server Management Studio,以及当前运行的SQL Server数据库服务器2、SQL Server Profiler,性能监视器3、数据库登录名:sa,密码:空具体要求:1、使用SQL语句实现DMV查询,显示当前缓存的占用了大部分 CPU 执行时间的前20个批处理或过程,按各个批处理或过程的CPU执行时间降序排列。
2、以sa登录数据库,在Master数据库上执行SQL语句Select * from sysobjects;利用SQL Server Management Studio监控数据库服务器,观察当前有多少个进程,哪些登录帐户在访问数据库实例,请在“2.1.1.doc”文档内写出操作步骤,并在该文档内将下列操作界面截屏后保存:阅读进程信息,登录帐户信息;3、打开SQL Server Profiler建立跟踪对数据库活动进行监视,同时打开性能监视器利用SQL Server:SQL Statistics对象监视数据库服务器每秒的编译次数,运行3分钟后,观察重合时间段内SQL Server的活动和上述性能计数器的值,请在“2.1.1.doc”文档内写出操作步骤,并在该文档内将下列三个操作界面截屏后依次保存:a、在SQL Server Profiler中新建跟踪testtrace;b、在性能监视器中新建SQL Server: SQL Statistics计数器;c、在SQL Server Profiler中查看指定性能计数器的情况。
sql练习题及答案SQL练习题及答案SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
在数据库管理系统中,SQL被广泛应用于数据的查询、插入、更新和删除等操作。
掌握SQL语言对于数据库开发和数据分析非常重要。
在这篇文章中,我们将提供一些SQL练习题及其答案,帮助读者巩固和提升SQL的应用能力。
1. 查询员工表中所有员工的姓名和工资。
答案:```sqlSELECT 姓名, 工资 FROM 员工表;```2. 查询员工表中工资大于5000的员工的姓名和工资。
答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 > 5000;```3. 查询员工表中工资在3000到5000之间的员工的姓名和工资。
答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 BETWEEN 3000 AND 5000;```4. 查询员工表中姓"张"的员工的姓名和工资。
```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 姓名 LIKE '张%';```5. 查询员工表中工资最高的员工的姓名和工资。
答案:```sqlSELECT 姓名, 工资 FROM 员工表 WHERE 工资 = (SELECT MAX(工资) FROM 员工表);```6. 查询员工表中每个部门的员工数量。
答案:```sqlSELECT 部门, COUNT(*) AS 员工数量 FROM 员工表 GROUP BY 部门;```7. 查询员工表中每个部门的平均工资。
答案:```sqlSELECT 部门, AVG(工资) AS 平均工资 FROM 员工表 GROUP BY 部门;```8. 查询员工表中工资高于部门平均工资的员工的姓名和工资。
答案:SELECT 姓名, 工资 FROM 员工表 WHERE 工资 > (SELECT AVG(工资) FROM 员工表 GROUP BY 部门);```9. 查询员工表中没有分配部门的员工的姓名和工资。
一、单项选择题(选择一个正确的答案。
将相应的字母填入题内的括号中)1.描述事物的符号记录称为( B )。
A.信息B.数据C.记录D.记录集合2.在人工管理阶段,数据是( B )。
A.有结构的B.无结构的C.整体无结构,记录内有结构D.整体结构化的3.( C )是长期存储在计算机内的有组织、可共享的数据集合。
A.数据库管理系统B.数据库系统C.数据库D.文件组织4.数据库的完整性是指数据的( C )。
A.正确性和不被非法存取B.合法性和不被恶意破坏C.正确性和相容性D.合法性和相容性5.数据库系统的核心是( B )。
A.数据库 B. 数据库管理系统C.数据模型D.软件工具6.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的数据库语言称为( C )。
A.数据定义语言(DDL) B.数据管理语言C.数据操纵语言(DML) D.数据控制语言7.( B )是位于用户与操作系统之间的一层数据管理软件。
A.数据库系统B.数据库管理系统C.数据库D.数据库应用系统8.数据库系统不仅包括数据库本身,还要包括相应的硬件、软件和(D )。
A.数据库管理系统B.数据库应用系统C.相关的计算机系统D.各类相关人员9.数据库系统的数据独立性是指( B )。
A.不会因为数据的变化而影响应用程序B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C.不会因为存储策略的变化而影响存储结构D.不会因为某些存储结构的变化而影响其他的存储结构10.在数据模型的三要素中,数据的约束条件规定数据及其联系的( B )。
A.动态特性B.制约和依存规则C.静态特性D.数据结构11.下列不属于数据模型三要素的是( D )。
A.数据结构B.数据操作C.数据的约束条件D.静态特性12.在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除,这是由层次模型的(A)决定的。
A.数据结构B.数据操作C.完整性约束D.缺陷13.在数据库系统中,把满足以下( B )两个条件的基本层次联系的集合称为层次模型。
《数据库管理人员(SQL Server)》(三级)试题答案参考答案:1.CREATE PROCEDURE add_doctor(@id INT,@name VARCHAR,@hiredate DATETIME,@job VARCHAR,@Sal int,@mgr int,@deptno int)ASBEGININSERT INTO Doctor VALUES(@id,@name,@hiredate,@job,@sal,@mgr,@deptno)END2.Create FUNCTION [dbo].[valid_id](@eno int)RETURNS BIT ASBEGINdeclare @returnvalue bitdeclare @count intSELECT @count=count(1)FROM Doctor, TechnicalOffices WHEREDoctor.id=@eno and Doctor.DEPTNO= TechnicalOffices.ID and TechnicalOffices.Number < 12 and Doctor.Sex= ’男’IF @count>0beginRETURN 1endELSEbeginRETURN 0endreturn @returnvalueEND3.Create FUNCTION [dbo].[get_sal] (@eno int)RETURNs @ReturnTable TABLE(Name varchar(25),hiredate datetime,number int,error varchar(200))ASBEGINIF dbo.valid_id (@eno)=1begininsert into@ReturnTable SELECT , Doctor.HIREDATE, TechnicalOffices.Number FROM Doctor, TechnicalOffices WHEREDoctor.id=@eno and Doctor.DEPTNO= TechnicalOffices.IDendelsebegininsert into @ReturnTable(Name,hiredate,number,error)values('',’’,0,'该医生不存在')endreturnEND4.CREATE FUNCTION get_table(@id int)RETURNS TABLEASRETURN(select Name,Sex,Job from Doctor where DEPTNO = @id)GO5.CREATE PROCEDURE disp_doctor @deptno intASBEGINDECLARE @name varchar(25), @job varchar(10), @hiredate datetime; DECLARE fs_cursor CURSORFOR SELECT name, job, hiredate FROM Doctor where deptno=@deptno; OPEN fs_cursor;FETCH NEXT FROM fs_cursor INTO @name, @job, @hiredate;PRINT' 医生姓名职位雇佣日期'PRINT'-----------------------------------------'WHILE@@FETCH_STATUS= 0BEGINPRINT @name+' '+@job+' '+@hiredateFETCH NEXT FROM fs_cursor INTO @name, @job, @hiredate;ENDCLOSE fs_cursorDEALLOCATE fs_cursorEND;。
.《数据库原理》上机指导二中国管理软件学院2008-11-30目录三练习用SQL语言创建表3-1 练习用SQL语言创建表及设置主键3-1-1 练习用SQL语言创建表3-1-2 练习在创建表时设置主键3-2 练习在数据表中用check关键字设置约束3-3 练习在数据表中设置外键约束以建立多张表之间的联系上机练习题1四练习用SQL语言向表添加数据和修改数据4-1 练习用insert into……..values(….).语句向表添加一行数据,4-2 练习向表添加一行中的部份数据4-3 练习用alter table…add column…语句向表增加一个列4-4 练习用alter table…add check…语句增加一个约束4-5 练习用update…set….where….修改某一列中的某一行数据4-6 练习修改某一列的多行数据五练习删除表、表的约束、字段及数据5-1 练习用alter table …drop…语句删除表中的外键约束5-2 练习用alter table …drop…语句删除表中的约束5-3 练习用alter table .. drop column….. 语句删除表中的字段5-4 练习用delete from….where....语句从表中删除一行数据5-5 练习用delete from….where....in,,....语句从表中删除多行数据5-6 练习用delete from….语句删除表中每一行数据5-7 用drop table..…命令删除表六练习用SQL语言实现数据查询--------第三次上机的内容6-1 练习用select …from…语句从表中检索数据6-2 练习用where子句来限定查询条件6-3 练习多表查询6-4 练习自表查询6-5 练习用like子句实现摸糊查询七练习复杂数据查询--------第三次上机的内容7-1练习用多条select…from.. where…语句实现嵌套查询7-1-1 练习在一张表上的嵌套查询7-1-2 练习在多张表上的嵌套查询7-1-3 练习使用not in关键字的嵌套查询7-1-4 练习使用exists, not exists 关键字的嵌套查询7-2 练习使用统计函数的查询7-2 练习使用统计函数的查询7-3 练习使用group by子句实现分组查询7-4 练习使用having子句实现有条件的分组查询上机练习题0.熟悉SQL查询分析器和对象浏览器0-1 练习使用SQL查询分析器●选择【开始】|【程序】|【MicroSoft SQL Server】|【企业管理器】,●在【菜单】上,选择【工具】|【查询分析器】,便显示图2-1所示连接到SQL Server对话框●在【连接到SQL Server】登录窗口中, 拉下列表柜,,选中一个点号, 这个点号(.)表示本机器名, 点击【确定】按钮。
计算机等级考试三级数据库技术第2套试题及答案一、单项选择题(共40分;1-20题每题1分,21-30题每题2分)1、下列关于概念数据模型的说法,错误的是()A)概念数据模型并不依赖于具体的计算机系统和数据库管理系统B)概念数据模型便于用户理解,是数据库设计人员与用户交流的工具,主要用于数据库设计C)概念数据模型不仅描述了数据的属性特征,而且描述了数据应满足的完整性约束条件D)概念数据模型是现实世界到信息世界的第一层抽象,强调语义表达功能2、在数据库应用系统生命周期中,系统设计完成后就进入到系统实现与部署阶段。
下列关于数据库应用系统实现与部署阶段工作的说法,错误的是()A)此阶段会根据数据库逻辑结构和物理结构设计方案以及项目选择的数据库管理系统,编写相关脚本生成数据库结构B)此阶段会将用户原有数据按照新的数据结构导入到新系统中C)此阶段会进行应用系统编码和编码测试,编码测试可以使用白盒测试方法也可以使用黑盒测试方法D)此阶段如果发现系统的功能、性能不满足用户需求,应尽快进行系统升级工作3、存储管理器是数据库管理系统非常重要的组成部分。
下列关于存储管理器的说法,错误的是()A)存储管理器负责检查用户是否具有数据访问权限B)为了提高数据访问效率,存储管理器会将部分内存用于数据缓冲,同时使用一定的算法对内存缓冲区中的数据块进行置换C)存储管理器会为编译好的查询语句生成执行计划,并根据执行计划访问相关数据D)存储管理器以事务方式管理用户对数据的访问,以确保数据库并发访问的正确性4、下列叙述中不属于三层B/S结构数据库应用系统特点和操作特征的是()A)客户端使用浏览器,浏览器与Web应用服务器之间的通信使用超文本传输协议(HTTP)B)数据库服务器接受应用服务器提出的数据操作请求,对数据库进行相应的操作,并将操作结果返回给应用服务器C)这种结构使客户端和服务器能在不同的系统间通信,但对客户机配置要求较高,且应用软件维护代价也较大D)这种结构不受时空限制,使用者可以在全球任何地方,任何时间请求数据库应用系统提供的各种数据服务5、实体联系模型简称ER模型,是数据库设计常用的一种建模方法。
SQL Server(三级)操作练习题2下列内容中的“提示”、“分析”在考试中不提供。
练习或考试中都要严格按照题目指定的名称、类型等书写,没有指定的自行命名。
1数据库运行监控1.1使用SQL语句实现DMV查询,查找当前挂起的I/O 请求,将结果保存在“c:\gatDoc\SQL3J2.1.1\2.1.1.doc”文档中。
(提示:查询数据库master中的系统视图sys.dm_io_pending_io_requests和系统函数sys.dm_io_virtual_file_stats)1.2以SA身份登录数据库,在Master数据库上执行SQL语句:Select * fromsysobjects 。
利用SQL Server Manangement Studio监控数据库服务器,观察每个登录用户在数据库执行的命令,请在“c:\gatDoc\SQL3J2.1.1\2.1.1.doc”文档内写出操作步骤,并在该文档内将下列操作界面截屏后保存:阅读进程信息,sa执行的命令。
(提示:启动活动监视器)1.3打开SQL Server Profiler,建立跟踪,对数据库活动进行监视,同时打开性能监视器,利用SQL Server: Memory对象监视数据库的一般活动,运行3分钟后,观察重合时段内SQL Serve的活动和上述性能计数器的值,请在“2.1.1.doc”文档内写出操作步骤,并在该文档内将下列三个操作界面截屏后依次保存:1)在SQL Server Profiler中新建跟踪mytrace。
2)在性能监视器中新建SQL Server: Memory计数器。
3)在SQL Server Profiler中查看指定性能计数器的情况。
2数据库备份计划2.1利用维护计划功能,设置每天1:00自动执行增量备份(差异备份)数据库model到文件夹C:\Backup,并将操作步骤写在c:\gatDoc\SQL3J2.2.1\2.2.1.doc文档里面,将下面两个操作界面截屏后依次保存在同一个文档里:1)设置备份数据库任务的界面2)维护计划设置完成的界面2.2利用SQL Server Agent功能(作业功能),创建作业job1,设置每天4:00完成以下步骤:先删除备份文件c:\gatDoc\SQL3J2.2.1\model.bak,然后对数据库model进行完全备份,保存为c:\gatDoc\SQL3J2.2.1\model.bak,请在2.2.1.doc文档里写出操作步骤,并将下面三个操作界面截屏后依次保存:1)设置删除备份文件的界面2)设置对数据库model进行完全备份的界面3)设置作业计划属性的界面3数据库编程* 准备:假设目前有一个数据库demo,里面有两个表Supplier、Production,结构如下:Supplier :ID int, --供应商编号Name varchar(25), --姓名hireDate datetime, --供应日期type varchar(10), --供应类型sal numeric(8,2), --补助MGR int, --所属类型编号productionID int, --商品编码Production :ID int, --商品编码Name varchar(25), --商品名price float, --商品价格number float, --商品种类练习时请同学自行创建以上数据库和数据表(考试时系统中已经创建好了)。
将下面操作的SQL脚本保存到c:\gatDoc\SQL3J3.1.1\3.1.1.doc文档中。
3.1建立存储过程add_supplier,输入供应商编号、姓名、-供应日期、供应类型、补助、所属类型编号,向表Supplier插入数据。
3.2建立函数valid_id,根据输入的供应商编号,检查该供应商供应的商品是否少于10种,如果少于,则返回1,否则返回0。
(标量函数)3.3建立函数get_sal,根据输入的商品名,返回该商品的平均价格。
(标量函数)3.4建立函数get_tab,根据输入的所属类型编号返回该类型的所有供应商信息。
(内联表值)3.5编写存储过程disp_ supplier,根据输入的所属类型编号,采用游标方式按照下列格式输出该所有该类型的供应商姓名、供应类型、供应日期。
供应商姓名供应类型供应日期-------------------------------------------------------------------(此处为数据)参考答案:1.1select database_id,file_id,io_stall,io_pending_ms_ticks,scheduler_addressfrom sys.dm_io_virtual_file_stats(null,null) t1,sys.dm_io_pending_io_requests t2where t1.file_handle=t2.io_handle* 分析:在sys.dm_io_pending_io_requests视图中,记录了挂起的I/O进程情况。
这个视图在master数据库中的系统视图中可以找到。
另外还用到一个系统函数sys.dm_io_virtual_file_stats(),在下面图中的位置可以找到。
(本图为操作参考,考试时不需要给出)1.2步骤:(考试时不需要写步骤)1.在SQL Server Manangement Studio打开新查询。
2.选择Master数据库,点击工具栏中的“新建查询”。
3.在查询中执行下面的语句:Seelct * from sysobjects4.在“管理 活动监视器”中,右键选择“查看进程”,弹出活动监视器窗口,有多个进程,其中有一个SA帐户在访问数据库实例,双击该进程后弹出一个进程的详细信息窗口。
(提示:使用Alt + PrtSc 组合键,可以复制当前活动窗口图象)1.3步骤:(考试时不需要写步骤)1. 在SQL Server Manangement Studio 的“工具”菜单中打开SQL Server Profiler 。
2.点击“新建跟踪”。
3.填写跟踪名称myTrace,选中“保存到文件”,指定文件夹C:\和文件名myTrace.trc,单击“运行”。
4.在SQL Server Profiler 的“工具”菜单中打开性能监视器。
5.展开“性能日志和警报”,在“计数器日志”上右键选择“新建日志设置”,填写日志名称myLog。
6.点击“添加计数器”,在“性能对象”中选择“SQL Server: Memory”,再从列表中选择一个计数器“pages/sec”(根据题目要求,如果没有要求,任意选一个),然后点击“添加”,再点击“关闭”。
7.打开“日志文件”选项卡,在“日志文件类型”中选择“文本文件(用逗号分隔)”。
点击“配置”按钮,指定文件夹C:\和文件名myLog.csv,然后按“确定”返回。
8.在查询工具中任意使用SQL语句执行一些数据库操作。
9.3分钟后,分别停止SQL Server Profiler和性能监视器的所有运行的任务。
10.关闭SQL Server Profiler的当前跟踪,在“文件”菜单中打开所保存的跟踪文件C:\myTrace.trc,然后在“文件”菜单中选择“导入性能数据”,选择性能计数器保存的文件C:\myLog.csv,并在“性能计数器限制对话框”中选中相应的计数器(见后面的参考图)。
(本图为操作参考,考试时不需要给出,所有选项都打勾)2.1步骤:(考试时不需要写步骤)1.在SQL Server Manangement Studio的管理->维护计划中,右键点击“新建维护计划”,填写名称。
2.设置计划,选择“重复执行”,频率为每天一次,时间设定为3:00。
3.在左边任务列表中将“备份数据库”任务拖曳到右边窗口,然后双击他。
4.选择数据库“model”,备份类型选“完整”,文件夹选“C:\Backup”(直接打字,不要打开对话框进行选择)。
5.保存,退出。
2.2步骤:(考试时不需要写步骤)1.在SQL Server Manangement Studio的SQL Server代理->作业中,右键点击“新建作业”,填写名称。
2.点击“步骤”选项卡,新建一个步骤,命名为step1,类型选择“操作系统(cmdExec)”,命令栏目中填写:del c:\backup\model.bak,单击“确定”。
3.新建一个步骤,命名为step2,类型选择“Transact-SQL脚本(T-SQL)”,数据库选择“master”,命令栏目中填写:backup database model to disk='c:\backup\model.bak',单击“确定”。
4.点击“计划”选项卡,新建一个计划,命名为plan1,选择“重复执行”,频率为每天一次,时间设定为5:00,单击“确定”。
5.单击“确定”,退出。
3.1 (提示:以下各题可以利用SQL Server Management Studio中的相关生成工具搭好框架)create procedure add_supplier@id int,@name varchar(25),@hiredate datetime,@type varchar(10),@sal numeric(8,2),@MGR floatasbegininsert into supplier values(@id,@name,@hiredate,@type,@sal,@MGR,null) end* 分析:本题使用存储过程模板(找到指定数据库> 可编程性> 存储过程,右键“新建存储过程”)。
由于没有给出productionID字段的值,所以要使用null补足。
3.2create function valid_id(@id int)returns intasbegindeclare @result intselect @result=count(*) from production where ID=(select productionID from supplier where id=@id)if @result<10set @result = 1elseset @result = 0return @resultendcreate function valid_id(@id int)returns intasbegindeclare @result intif (select count(*) from production where ID=(select productionID from supplier where id=@id))<10set @result = 1elseset @result = 0return @resultend* 分析:本题使用标量函数模板(找到指定数据库> 可编程性> 函数,右键“新建> 标量值函数”)。