第四章第5讲指令周期及指令执行步骤.ppt

数据库第8-11章习题

第8章数据库编程 一、选择题 1、修改存储过程使用的语句是()。 A. ALTER PROCEDURE B. DROP PROCEDURE C. INSERT PROCEDUE D. DELETE PROCEDUE 2、创建存储过程的语句是()。 A. ALTER PROCEDURE B. DROP PROCEDURE C. CREATE PROCEDUE D. INSERT PROCEDUE 3、下面()组命令,将变量count值赋值为1。 A.DECLARE @count SELECT @count=1 B.DIM count=1 C.DECLARE count SELECT count=1 D.DIM @count SELECT @count=1 4、在SQL Server 中删除存储过程用()。 A.ROLLBACK B. DROP PROC C.DELALLOCATE D. DELETE PROC 10.在SQL Server 编程中,可使用()将多个语句捆绑。 A.{} B. BEGIN-END C.( ) D. [ ] 二、填空题 1、在T-SQL编程语句中,WHILE结构可以根据条件多次重复执行一条语句或一个语句块,还可以使用()和CONTINUE 关键字在循环内部控制 WHILE 循环中语句的执行。 2、存储过程是存放在()上的预先定义并编译好的T-SQL语句。 3、游标是系统为用户开设的一个(),存放SQL语句的执行结果 第9章关系查询处理和查询优化 课后作业:P275,2题答案:

1 2、事务的原子性是指。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 3、事务的一致性是指。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据为的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 4、事务的隔离性是指。 A.事务中包括的所有操作要么都做,要么都不做 B.事务一旦提交,对数据库的改变是永久的 C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的 D.事务必须是使数据库从一个一致性状态变到另一个一致性状态 5、事务的持续性是指。 A.事务中包括的所有操作要么都做,要么都不做

第11章 数据库备份

第十一章数据库的备份 11.1 概述 数据库的备份和恢复是数据库管理员的重要职责之一。 不管数据库系统如何精心设计、配置和优化,它们都难免出现系统或硬件故障,从而引起数据库中的数据遭到破坏,当数据库中的数据遭到破坏时,数据库管理员必须尽快从数据备份中恢复数据,从而将损失减少到最小,保证用户的正常使用。数据库的备份对成功恢复数据是非常关键的,数据库管理员必须根据企业的需要,制定出良好的备份和恢复策略,并认真实施它。 11.1.1 Oracle备份的概念 数据库的备份是数据库的拷贝。当原来的数据丢失时,可以使用备份重建丢失的信息(组成Oracle数据库的物理文件)。该拷贝包括数据库的重要部分,如控制文件、存档日志和数据文件等。 备份包括物理备份和逻辑备份,物理备份是所采用的最主要的备份方式,是物理数据库文件的拷贝。如果发生物理数据库丢失或崩溃,物理备份用于保证数据库在最小的数据丢失或没有数据丢失的情况下得到恢复。它实际上进行上的是物理文件的拷贝,包含拷贝构成数据库的文件而不管其逻辑内容,进行物理备份可以采用两种方法: ?使用恢复管理器(Recovery Manager,简称RMAN)程序; ?操作系统文件备份命令,也叫做文件系统备份。Oracle 支持两种不同类型的物理文件备份:脱机备份(offline backup)和联机备份(online backup)。 相应的逻辑备份用于实现数据库对象(比如数据库表或存储过程)的恢复并且它是一个全面备份策略的必要的组成部分,它通常采用Oracle的Export程序将逻辑数据导出并以二进制的方式存储。一般来说我们使用逻辑备份作为物理备份的必要补充。 11.1.2 Oracle数据库系统故障类型 不管数据库系统如何精心设计、配置和优化,它们都难免出现系统或硬件故障,语句和进程故障。这些故障大致可以分为以下几大类: 1. 介质故障 在读或写要求操作数据库的文件时可能会出现错误,这种故障就叫做介质故障,因为在读或写存储介质上的文件时会出现物理问题。一个常见的介质故障的例子是磁头的碰撞会引起磁盘驱动器上所有文件的丢失。介质故障是数据库数据的最大威胁。介质问题主要有:?磁盘磁头故障使磁盘驱动器上所有文件丢失。 ?数据文件、控制文件、联机或归档重做日志文件被意外删除、覆盖或损坏。 从介质故障中恢复的合适策略取决于受到影响的文件。介质故障是备份与恢复策略所需

第十一章 活动目录的维护

第十一章活动目录的维护 内容摘要 本章重点介绍Windows2000活动目录数据的存储过程和维护方法。重点包括: ? 活动目录数据的备份和恢复 ? 活动目录数据的优化 ? 活动目录的维护程序 考点提示 ? 活动目录的授权恢复和非授权恢复 ? 管理活动目录对象移动的程序:Movetree ? Ntdsutil.exe的应用 11.1 活动目录维护简介 造成Windows2000活动目录故障的原因很多,后果也不完全相同,如系统不能启动,不能登录,网络访问和网络验证出现故障等。当活动目录出现故障时,首先应查找可能引起故障的原因,然后根据掌握的资源情况,制定修复策略,对活动目录进行修复。 11.2 活动目录数据的维护 Windows2000活动目录将数据存储在一个事物数据库和日志文件中,对活动目录数据进行维护可以在系统出现故障时,如硬盘损坏或者软件系统崩溃而导致数据丢失时,对数据进行有效的恢复。活动目录数据维护的关键在于对活动目录数据库和日志文件进行有效的维护。 Windows2000服务器对活动目录数据提供如下的维护方法: ? 备份和恢复。使用Windows2000自带的备份工具可以对活动目录数据库进行备份和恢复。活动目录数据库在Windows2000中是整个系统数据的一部分。 ? 移动。Windows2000服务器支持将活动目录数据库从一个地方移动到另一个地方,注意移动一个活动目录数据库文件后,原文件并不会自动删除,而是继续存在,这儿的移动和复制有一些相似。 ? 碎片整理。频繁的数据库访问会造成磁盘空间利用率下降。碎片整理可以重新排列数据库中的数据,回收可以利用的磁盘空间。 11.2.1 活动目录数据的存储过程 Windows2000活动目录使用可扩展的存储引擎(ESE)对数据进行存储。ESE应用事务和日志的概念将数据存储在数据库和事务日志文件中。所谓事务(Transaction),是指系统作为一个不可分割的整体进行处理的更改、添加、删除等操作的集合。 活动目录数据存储的基本过程如下: 1、为数据库更改创建一个事务 2、向日志文件中写入事务 3、将事务写入内存缓冲区 4、将更改在系统空闲的时候写入数据库 5、更改指向日志中未写入数据库的数据项的指针。

第11章 项目采购管理

第十一章项目采购管理 1.下列哪项是用于征求潜在卖方的建议书? A.采购文件 B.卖方建议书 C.需求文件 D.合作协议 2.合同比其他项目文件需要经过更多审批的原因在于: A.合同更重要 B.合同涉及双方的利益 C.合同更复杂 D.合同具有法律约束力 3.审批过程的主要目标是_____。 A.降低风险 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.有争议的变更也可被称为下列各项,除了___。 A.索赔 B.争议 C.诉求 D.问题 10.下列哪项内容描述了如何管理从制定采购文件直到合同收尾的各个采购过程? A.成本绩效基准 B.采购管理计划 C.自制或外购决策 D.采购文件

第10章 存储过程

存 储 过 程 练习题10及参考答案 1.什么是存储过程存储过程分为哪几类使用存储过程有什么好处 答:存储过程是一系列预先编辑好的、能实现特定数据操作功能的SQL 代码集,它与特定的数据库相关联,存储在SQL Server 服务器上。用户可以像使用函数一样重复调用这些存储过程,实现它所定义的操作。 存储过程分为3类:系统提供的存储过程、用户定义的存储过程和扩展存储过程。使用存储过程有如下好处如下: (1)存储过程提供了处理复杂任务的能力:存储过程提供了许多标准SQL 语言所没有的高级特性,通过传递参数和执行逻辑表达式,能够处理复杂任务。 (2)增强代码的重用性和共享性:每一个存储过程可以在系统中重复地调用,可以被多个有访问权限的用户访问。存储过程可以增强代码的重用性和共享性,加快应用系统的开发速度,提高开发的质量和效率。 (3)减少网络数据流量:存储过程是存放在服务器中并在服务器上运行的,应用系统调用存储过程时只有触发执行存储过程的命令和执行结束返回的结果在网络中传输。所以,使用存储过程可以减少网络中的数据流量。 (4)加快系统运行速度:第一次执行后的存储过程会驻留在内存中,以后可以直接运行,从而加快应用系统的处理速度。 (5)加强系统安全性:SQL Server 可以不授予用户某些表、视图的访问权限,但授第 章 10

予用户执行存储过程的权限,通过存储过程来对这些表或视图进行访问操作。从而保证表中数据的安全性。 2.修改存储过程有哪几种方法假设有一个存储过程需要修改但又不希望影响现有的权限,应使用哪个语句来进行修改 答:修改存储过程有两种方法:一种方法是把旧的存储过程删除,然后再重新建立该存储过程。另一种方法是用单个的步骤更改该存储过程。使用前一种方法修改存储过程,所有与该存储过程相关联的权限都将丢失。而使用后一种方法可以更改过程或参数定义,但为该存储过程定义的权限将保留。所以要修改一个存储过程但又不希望影响现有的权限可使用后一种方法。使用的语句为ALTER PROCEDURE。 上机实验题9及操作过程 在上机实验题8的factory数据库上,使用T-SQL语句完成如下各题: (1)创建一个为worker表添加职工记录的存储过程Addworker。 (2)创建一个存储过程Delworker删除worker表中指定职工号的记录。 (3)显示存储过程Delworker。 (4)删除存储过程Addworker和Delworker。 操作过程 (1)建立存储过程的程序如下: USE factory GO CREATE PROCEDURE Addworker @no int=NULL, @name char(10)=NULL, @sex char(2)=NULL, @birthday datetime=NULL,

第11章 触发器

触 发 器 11.1 练习题11及参考答案 1.什么是触发器?其主要功能是什么? 答:触发器是一种实施复杂数据完整性的特殊存储过程,在对表或视图执行UPDATE 、INSERT 或DELETE 语句时自动触发执行,以防止对数据进行不正确、未授权或不一致的修改。 触发器主要用于保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加的功能。 2.触发器分为哪几种? 答:触发器分为DML 和DDL 触发器: ? DML 触发器:是在执行数据操作语言事件时被调用的触发器,其中数据操作语言 事件包括:INSERT 、UPDATE 和DELETE 语句。触发器中可以包含复杂的T-SQL 语句,触发器整体被看作一个事务,可以进行回滚。 ? DDL 触发器:它也是一种特殊的存储过程,由相应的事件触发后执行。与DML 不同的是,它相应的触发事件是由数据定义语言引起的事件,包括CREATE 、ALTER 和DROP 语句。DDL 触发器用于执行数据库管理任务,如调节和审计数据库运转。DDL 触发器只能在触发事件发生后才会调用执行,即它只能是AFTER 类型的。 3. INSERT 触发器、UPDA TE 触发器和DELETE 触发器有什么不同? 答:它们的主要区别是触发的事件不同,INSERT 触发器由INSERT 操作所触发执行;UPDA TE 触发器由UPDA TE 操作所触发执行;DELETE 触发器由DELETE 操作所触发执行。 4. AFTER 触发器和INSTEAD OF 触发器有什么不同? 答:两者的区别如下: ? AFTER 触发器:在执行了INSERT 、UPDATE 或DELETE 语句操作之后执行 第 章 11

第11章MySQL存储过程与函数

数据库系统原理及MySQL应用教程(第2版) 课后习题参考答案 第11章MySQL存储过程与函数 1、存储过程和存储函数是在数据库中定义一些被用户定义的SQL语句集合。 二者存在以下几个区别: 1)存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强。 2)存储过程可以返回参数,而函数只能返回值或者表对象。 3)存储过程可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数。 4)存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用。 2、创建一个存储过程,根据学生的学号查询学生的姓名 create PROCEDURE getnamebysno(in xh char(10),out name char(20)) BEGIN select sname into name from student where sno=xh; 调用该存储过程:call getnamebysno(‘1101’); 创建一个名为numstu的存储函数,查询学生的人数 Create function numstu() Returns integer Begin Return(select count(*) from student); 调用:select numstu() 3、存储过程的优点: ◆存储过程增强了SQL语言的功能和灵活性 ◆存储过程能实现较快的执行速度。 ◆存储过程允许标准组件是编程。

◆存储过程能过减少网络流量。 ◆存储过程可被作为一种安全机制来充分利用。 4、查看存储函数状态方法: ●通过show status语句 ●如果要查看存储过程或函数的详细信息,要使用show create语句 5、游标是一个被SELECT语句检索出来的结果集。在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。 6、游标(cursor)具有以下特性: ●只读的,不能更新的 ●不滚动的 ●不敏感的,不敏感意为服务器可以活不可以复制它的结果表 (1)游标的声明:语法格式:declare cursorname cursor for select _ statement (2)打开游标:Open cursor_ name (3)读取游标:fetch cursor_name into var_ name [,var_name] …(4) 关闭游标:close cursorname 7、CREATE PROCEDURE sp_update email(IN USer_name VARCHAR(50),IN e_mail VARCHAR(50)) UPDATE content SET email=e_mail WHERE username=user_name; 8、A 9 D 10 D 11 B 12 (1) create proceduce p1() select dno,count(*) from emp group by dno; (2) create proceduce p2(in gy char(10)) select * from emp where dno=gy; (3) create proceduce p3() select count(*) as 人数from emp where sex=’女’; (4) create proceduce p4(in gy char(10)) select avg(empage) from emp where dno=gy; call p4(‘11’);

实训11存储过程

实训11存储过程 班级:学号:姓名:日期: 实验项目: 1.简单存储过程的创建和执行 2.使用输入参数存储过程的创建和执行 3.使用输出参数存储过程的创建和执行 任务1:创建并执行带有输入参数的基于插入操作的存储过程。 要求:用于在KC表中插入一条新的课程信息,课程信息由变量形式给出。 任务2:创建并执行带有输入参数的基于更新操作的存储过程。 要求:用于在XS_KC表中将指定课程成绩大于55小于60的都提高到60分,课程号由输入参数指定。 任务3:创建并执行带有输入参数和输出参数的存储过程。 要求:输入参数用于指定学号信息,输出参数用于保存该学生的姓名、性别、专业名和所在系信息。 任务1: use xscj go create procedure p1 @kch char(3), @kcm varchar(20), @skjs varchar(10), @kcxq tinyint, @xs tinyint, @xf tinyint as insert kc values(@kch, @kcm, @skjs, @kcxq, @xs, @xf) go exec p1 '115','数据库基础','张玲',2,64,4 任务2: create proc p2 @kch char(3) as update xs_kc set 成绩=60 where 课程号=@kch and (成绩>=55 and 成绩<60) go declare @kch char(3) select @kch='103' exec p2 @kch go select * from xs_kc where 课程号=@kch 任务3: create proc p3

第11章 存储过程

第11章存储过程

主要内容 ?11.1存储过程简介 ?11.2存储过程的创建与执行?11.3修改存储过程 ?11.4重命名存储过程 ?11.5删除存储过程

11.1 存储过程简介 ?存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。 ?存储过程在运行时生成执行方式,所以,以后对其再运行时其执行速度很快。 ?SQL Server2008不仅提供了用户自定义存储过程的功能,而且也提供了许多可作为工具使用的系统存储过程。

存储过程的分类 ?系统存储过程: ?SQL Server2008中的许多管理活动都是通过一种特 殊的存储过程执行的,这种存储过程被称为系统存储过程。其前缀是sp_,例如sp_helpdb、sp_rename。 ?用户定义存储过程: ?Transact SQL或CLR(公共语言运行时) ?Transact SQL存储过程是指保存的Transact-SQL语句 集合,可以接受和返回用户提供的参数。 ?扩展存储过程: ?扩展存储过程允许使用编程语言(例如C)创建自己 的外部例程。后续版本的SQL Server将删除该功能。

?存储过程可以强制应用程序的安全性。参数化存储过程有助于保护应用程序不受SQL Injection攻击。 ?存储过程具有安全特性(例如权限)和所有权链接,以及可以附加到它们的证书。用户可以被授权执行存储过程而不必直接对存储过程引用的对象具有权限。 ?存储过程允许模块化程序设计。存储过程一旦创建,以后即可在程序中调用多次,以此改进应用程序的可维护性,并允许应用程序统一访问数据库。

第10章 存储过程

第10章存储过程 关键词: 存储过程创建存储过程执行存储过程存储过程的参数查看存储过程修改存储过程删除存储过程 学习要求: 本章主要阐述了存储过程的创建和使用方法。并且全面地、系统地介绍了存储过程的概念、存储过程的优点;系统存储过程的特点及用途;创建存储过程的方法;查看、修改和删除存储过程的方法。重点分析了存储过程的创建和使用方法。学习和掌握本章,是对SQL Server 2000数据库的灵活运用。 10.1 概述 1、存储过程——是为实现某个特定任务而编写的一段代码。 2、存储过程的特点: ● 可以包含一条或多条Transact-SQL语句。 ● 可以接受输入参数并可以返回输出值。 ● 一个存储过程可以调用另一个存储过程。 ● 会返回执行情况的状态代码给调用它的程序。 3、存储过程的优点: ● 实现模块化编程。一个存储过程可以被多个用户共享和重用。 ● 加快程序的运行速度。第一次执行后的存储过程会在缓冲区中创建查询树,使得第二次执行时不用进行预编译。 ● 可以减少网络流量。存储过程存储在服务器上,只有触发执行存储过程的命令和返回结果才在网络上传输。 ● 可以提高数据库安全性。可以只授予用户访问存储过程的权限,而不授予其直接修改数据表的权限。 3、存储过程的分类: ● 系统存储过程。由系统自动创建,主要存储在master数据库中,一般以sp_为前缀。系统存储过程完成的功能主要是从系统表中获取信息。 ● 用户自定义存储过程。由用户创建并能完成某一特定功能的存储过程。 10.2 创建存储过程 1、使用CREATE PROCEDURE语句创建存储过程 格式:CREATE PROC[EDURE ] procedure_name [; number] [ {@parameter data_type} [VARYING ][ = default][OUTPUT]

相关文档
最新文档