欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据库应用考试题目+答案.docx

    • 资源ID:13610685       资源大小:24.58KB        全文页数:26页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库应用考试题目+答案.docx

    1、数据库应用考试题目+答案1在安装SQL Server 2000时,仅客户端工具、服务器和客户端工具及仅连接等安装定义有什么差别?答:仅客户端工具:仅安装客户端关系数据库管理工具。此选项包含管理 SQL Server 的客户端工具和客户端连接组件。服务器和客户端工具:执行安装服务器和客户端工具以创建具有管理能力的关系数据库服务器。仅连接:仅安装关系数据库客户端连接组件,包括连接 SQL Server 2000 命名实例所需的 MDAC 2.6Microsoft 数据访问组件。该选项只提供连接工具,不提供客户端工具或其它组件。2一个数据库中包含哪几种文件?答:主数据库文件:用来存储数据库的启动信息

    2、以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。辅助数据库文件:用于存储主数据库文件中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件事务日志文件:一个存储数据库的更新情况等事务日志信息 ,当数据库损坏时,管理员使用事务日志恢复数据库;每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。3事务文件和数据文件分开存放有什么好处?答:因为利用事务日志备份可以将数据库恢复到特定的即时点或故障发生点。在媒体恢复策略中应考虑利用事务日志备份。 4什么是批处理?使用批处理有何限制

    3、?答:包含一个或多个T-SQL语句的组,从应用程序将一次性发送到SQL Server执行,SQL Server批处理语句作为整体编译成一个可执行单元。限制:如不能够在同一个批处理中更改表,然后引用新列。如在一个批处理程序中,有两条语句。第一条语句用来在一张表中插入一个字段,如在User表中插入员工的出生年月;第二条语句则用来引用这个列,如根据身份证号码来推算出这个员工的出身年月并把这个值赋值给这个第一条语句创建的出身年月字段。5数据检索时,COMPUTE和COMPUTE BY产生的结果有何不同?答:当 COMPUTE 带 BY 子句时,符合 SELECT 条件的每个组都有两个结果集:每个组的第

    4、一个结果集是明细行集,其中包含该组的选择列表信息。 每个组的第二个结果集有一行,其中包含该组的 COMPUTE 子句中所指定的聚合函数的小计。 当 COMPUTE 不带 BY 子句时,SELECT 语句有两个结果集:每个组的第一个结果集是包含选择列表信息的所有明细行。 第二个结果集有一行,其中包含 COMPUTE 子句中所指定的聚合函数的合计。6什么是索引?索引分为哪两种?各有什么特点?答:数据库中的索引与书籍中的目录类似。在一本书中,利用目录可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。聚集索引和非聚集索引。聚集索引的特点:

    5、行的物理位置和行在索引中的位置是相同的,每个表只能有一个聚集索引,聚集索引的平均大小大约为表大小的5%左右。非聚集索引特点:若未指定索引类型,则默认为非聚集索引,叶节点页的次序和表的物理存储次序不同,每个表最多可以有249个非聚集索引,在非聚集索引创建之前创建聚集索引。7创建索引有什么优点和缺点?答:优点:索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。缺点:索引需要占用数据表以外的物理存储空间。创建索引和维护索引要花费一定的时间。当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。8什么是视图?使用

    6、视图的优点和缺点是什么?答:视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 优点:隐蔽数据库的复杂性;控制用户提取数据;简化数据库用户管理;简化查询缺点:性能:SQL Server必须把视图的查询转化成对基本表的查询,如果这个视图是由,一个复杂的多表查询所定义,那么,即使是视图的一个简单查询,SQL Server也,把它变成一个复杂的结合体,需要花费一定的时间。修改限制:当用户试图修改视图的某些行时,SQL Server必须把它转化为对

    7、基本,表的某些行的修改。对于简单视图来说,这是很方便的,但是,对于比较复杂的,视图,可能是不可修改的。9. 修改视图中的数据会受到哪些限制?答:必须对视图的操作权限有权限对视图上的某些列不能修改,这些列是:计算列,内置函数列和行集合函数列删除基表并不删除视图,建议采用与表明显不同的名字命名规则对由多表连接成的视图修改数据时,不能同时影响一个以上的基表,也不能删除视图中的数据如果某些列因为规则或者约束的限制不能接受从视图插入的数据时,则插入数据可能会失败对具有NOT NULL 的列进行修改时可能会出错。通过视图修改或者插入数据时,必须保证未显示的具有NOT NULL 属性的列有值,可以是默认值,

    8、IDENTITY 等,否则不能像视图中插入数据行。10. 什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?答:指的是数据库中存储的数据的一致性和准确性;包括了实体完整性、域完整性、参照完整性、用户定义的完整性。能够防止数据库中存在不符合语义规定的数据,并且可以防止因错误信息的输入输出造成无效操作或错误信息。后果:无法保证数据库数据的一致性和准确性;容易造成数据库中存在不符合规定的数据或者错误信息11数据完整性有哪几类?如何实施?答:数据完整性分为四类:实体完整性、域完整性、参照完整性、用户定义的完整性。数据库采用多种方法来保证数据完整性,包括外键、束约、规则和触发器。系统很好地处理

    9、了这四者的关系,并针对不同的具体情况用不同的方法进行,相互交叉使用,相补缺点。12. 什么是主键约束?什么是惟一约束?两者有什么区别?答:主键约束:有一列或列的组合,其值能唯一的标识表中的每一行。唯一约束:不允许数据库表在指定列上具有相同的值,但允许有空值。区别:一个表可以定义多个唯一约束,只能定义一个主键约束;空值得列上可以定义唯一约束,不能定义主键约束。13什么是外键,怎样建立外键约束?答:外键是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。14什么是存储过程?使用存储过程有什么好处?答

    10、:定义:存储过程指的是存储在服务器上的 Transact-SQL 语句的命名集合,是封装重复性任务的方法,支持用户声明变量、条件执行以及其他强有力的编程特性。好处:存储过程封装了商务逻辑,确保一致的数据访问和修改。若规则或策略有变化,则只需要修改服务器上的存储过程,所有的客户端就可以直接使用屏蔽数据库模式的详细资料。用户不需要访问底层的数据库和数据库内的对象提供了安全性机制。用户可以被赋予执行存储过程的权限,而不必在存储过程引用的所有对象上都有权限改善性能。预编译的 Transact-SQL 语句,可以根据条件决定执行哪一部分减少网络通信量。客户端用一条语句调用存储过程,就可以完成可能需要大量

    11、语句才能完成的任务,这样减少了客户端和服务器之间的请求/回答包15什么是触发器?触发器分有什么作用?答:触发器是一类特殊的存储过程,不能被直接调用,也不传递或接受参数作用:维护不可能在表创建时刻通过声明性约束进行的复杂的完整性约束限制。通过记录所进行的修改以及谁进行了修改来审计表中的信息。 当表被修改的时候,自动给其他需要执行操作的程序发信号。程序设计题假设在factory数据库中已创建了如下3个表,1职工表worker,其结构为:职工号:int,姓名:char,性别:char,出生日期:datetime,党员否:bit,参加工作:datetime,部门号:int。2部门表depart,其结构

    12、为:部门号:int,部门名:char。3职工工资表salary,其结构为:职工号:int,姓名:char,日期:datetime,工资:decimal。1.使用Transact-SQL语句完成如下各题:1显示所有职工的年龄。2求出各部门的党员人数。3显示所有职工的姓名和20XX1月份工资数。4显示所有职工的职工号、姓名和平均工资。5显示所有职工的职工号、姓名、部门名和20XX2月份工资,并按部门名顺序排列。6显示各部门名和该部门的所有职工平均工资。7显示所有平均工资高于1200的部门名和对应的平均工资。8显示所有职工的职工号、姓名和部门类型,其中财务处和人事处属管理部门,市场部属市场部门。答案

    13、:1SELECT 姓名,YEARGETDATE-YEAR AS 年龄 FROM worker2SELECT depart.部门名,count AS 党员人数FROM worker,departWHERE worker.党员否=1 AND worker.部门号=depart.部门号GROUP BY depart.部门名3SELECT worker.姓名,salary.工资 FROM worker,salary WHERE worker.职工号= salary.职工号 AND YEAR=2004 AND MONTH=14. SELECT 职工号,AVG AS 平均工资FROM salaryGROU

    14、P BY 职工号5 SELECT worker.职工号,worker.姓名, depart.部门名, salary.工资 AS 20XX2月工资FROM worker,depart,salaryWHERE worker.部门号=depart.部门号 AND worker.职工号= salary.职工号 AND YEAR=2004 AND MONTH=2ORDER BY worker.部门号6SELECT depart.部门名, AVG AS 平均工资FROM worker,depart,salaryWHERE worker.部门号=depart.部门号 AND worker.职工号= sala

    15、ry.职工号 GROUP BY depart.部门名7SELECT depart.部门名, AVG AS 平均工资FROM worker,depart,salaryWHERE worker.部门号=depart.部门号 AND worker.职工号= salary.职工号 GROUP BY depart.部门名HAVING AVG12008. USE factory GO SELECT worker.职工号,worker.姓名CASE depart.部门名 WHEN 财务处 THEN 管理部门WHEN 人事处 THEN 管理部门WHEN 市场部 THEN 市场部门END AS 部门类型FROM

    16、 worker,depart WHERE worker.部门号=depart.部门号GO2在前面建立的factory数据库上,用Transact-SQL语句完成下列各题:1在worker表中的部门号列上创建一个非聚集索引,若该索引已存在,则删除后重建。2在salary表的职工号和日期列创建聚集索引,并且强制惟一性。答案:1SET NOCOUNT OFF USE factory IF EXISTSSELECT name FROM sysindexes WHERE name=depno DROP INDEX worker.depno GO CREATE INDEX depno ON workerG

    17、O SET NOCOUNT OFF USE factory IF EXISTSSELECT name FROM sysindexes WHERE name=no_date DROP INDEX salary.no_date GO CREATE UNIQUE CLUSTERED INDEX no_date ON salary GO3在前面建立的factory数据库上,用Transact-SQL语句完成下列各题:1建立视图View1,查询所有职工的职工号、姓名、部门名和20XX2月份工资,并按部门名顺序排列。2建立视图View2,查询所有职工的职工号、姓名和平均工资。3建立视图View3,查询各部

    18、门名和该部门所有职工平均工资。4显示视图View3的定义答案:1USE factory GO IF EXISTS DROP VIEW View1 GO CREATE VIEW View1 AS SELECT TOP 15 worker.职工号,worker.姓名,depart.部门名,salary.工资 AS 20XX2月工资 FROM worker,depart,salary WHERE worker.部门号=depart.部门号 AND worker.职工号=salary.职工号 AND YEAR=2004 AND MONTH=2 ORDER BY worker.部门号 GO SELECT

    19、 * FROM View1 GO2USE factory GO IF EXISTS DROP VIEW View2 GO CREATE VIEW View2 AS SELECT worker.职工号,worker.姓名,AVG AS 平均工资 FROM worker,salary WHERE worker.职工号=salary.职工号 GROUP BY worker.职工号,worker.姓名 GO SELECT * FROM View2 GO3USE factory GO IF EXISTS DROP VIEW View3 GO CREATE VIEW View3 AS SELECT dep

    20、art.部门名, AVG AS 平均工资 FROM worker,depart,salary WHERE worker.部门号=depart.部门号 AND worker.职工号=salary.职工号 GROUP BY depart.部门名 GO SELECT * FROM View3 GO4USE factory GO EXEC sp_helptext View3 GO4在前面建立的factory数据库上,用Transact-SQL语句完成下列各题:实施worker表的性别字段默认值为男的约束。实施salary表的工资字段值限定在09999的约束。实施depart表的部门号字段值惟一的非聚集

    21、索引的约束。为worker表建立外键部门号,参考表depart的部门号列。建立一个规则sex:性别=男 OR 性别=女,将其绑定到worker表的性别列上。删除小题所建立的约束。解除小题所建立的绑定并删除规则sex。答案:1ALTER TABLE worker ADD CONSTRAINT default_sex DEFAULT 男 FOR 性别2ALTER TABLE salary ADD CONSTRAINT check_salary CHECK0 AND 工资3ALTER TABLE depart ADD CONSTRAINT unique_depart UNIQUE NONCLUSTE

    22、RED4ALTER TABLE worker ADD CONSTRAINT FK_worker_no FOREIGN KEY REFERENCES depart5CREATE RULE sex AS 性别=男 OR 性别=女 EXEC sp_bindrule sex,worker.性别6 ALTER TABLE worker DROP CONSTRAINT default_sex7EXEC sp_unbindrule worker.性别 DROP RULE sex5在前面建立的factory数据库上,用Transact-SQL语句完成下列各题:创建一个为worker表添加职工记录的存储过程Ad

    23、dworker。创建一个存储过程Delworker删除worker表中指定职工号的记录。显示存储过程Delworker。删除存储过程Addworker和Delworker。答案: 1USE factory GO CREATE PROCEDURE Addworker no int=NULL, name char=NULL, sex char=NULL, birthday datetime=NULL, na bit=NULL, wtime datetime=NULL, depno int=NULL AS IF no IS NULL OR name IS NULL OR sex IS NULL OR

    24、 birthday IS NULL OR depno IS NULL BEGIN PRINT 请重新输入该职工信息! PRINT 你必须提供职工号、姓名、性别、出生日期、部门号 RETURN END BEGIN TRANSACTION INSERT INTO worker VALUES IF error0 BEGIN ROLLBACK TRAN RETURN END COMMIT TRANSACTION PRINT 职工+name+的信息成功添加到表worker中 执行下列语句,可验证存储过程的正确性: USE factory GO Addwoeker 20,陈立,女,55/03/08,1,7

    25、5/10/10,4 GO SELECT * FROM worker GO 2USE factory GO CREATE PROCEDURE Delworker no int=NULL AS IF no IS NULL BEGIN PRINT 必须输入职工号! RETURN END BEGIN TRANSACTION DELETE FROM worker WHERE 职工号=no IF error0 BEGIN ROLLBACK TRAN RETURN END COMMIT TRANSACTION PRINT 成功删除职工号为+CASTno AS CHAR+的职工记录 执行下列语句,可验证存储过

    26、程的正确性: USE factory GO Delwoeker 20 GO SELECT * FROM worker GO 3USE factory GO EXEC sp_helptext Delworker GO4USE factory GO IF EXISTS SELECT name FROM sysobjects WHERE name=Addworker AND type=P DROP PROCEDURE Addworker GO IF EXISTS SELECT name FROM sysobjects WHERE name=Delworker AND type=P DROP PROC

    27、EDURE Delworker GO6在前面建立的factory数据库上,用Transact-SQL语句完成下列各题:在表depart上创建一个触发器depart_update,当更改部门号时同步更改worker表中对应的部门号。在表worker上创建一个触发器worker_delete,当删除职工记录时同步删除salary表中对应职工的工资记录。删除触发器depart_update。答案:1USE factory GO IF EXISTS SELECT name FROM sysobjects WHERE type=TR AND name=depart_update DROP TRIGGER

    28、 depart_update GO CREATE TRIGGER depart_update ON depart FOR UPDATE AS DECLARE olddepno int,newdepno int SELECT olddepno=部门号 FROM deleted SELECT newdepno=部门号 FROM inserted UPDATE worker SET 部门号=newdepno WHERE 部门号=olddepno GO2USE factory GO IF EXISTS SELECT name FROM sysobjects WHERE type=TR AND name=worker_delete DROP TRIGGER worker_delete GO CREATE TRIGGER worker_delete ON worker FOR DE


    注意事项

    本文(数据库应用考试题目+答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开