收藏 分享(赏)

《数据库原理》实验指导书new.doc

上传人:dreamzhangning 文档编号:2690725 上传时间:2018-09-25 格式:DOC 页数:48 大小:1.29MB
下载 相关 举报
《数据库原理》实验指导书new.doc_第1页
第1页 / 共48页
《数据库原理》实验指导书new.doc_第2页
第2页 / 共48页
《数据库原理》实验指导书new.doc_第3页
第3页 / 共48页
《数据库原理》实验指导书new.doc_第4页
第4页 / 共48页
《数据库原理》实验指导书new.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、信息管理与信息系统专业数据库原理实验指导书(16 学时)信息管理与决策研究所综 合 实 验 中 心 编制东北大学工商管理学院2005 年 9 月1目 录实验一 数据库的建立与完整性 1实验二 TRANSACT-SQL 及其程序设计基础(一) .6实验三 TRANSACT-SQL 及其程序设计基础(二) .10实验四 索引、视图存储过程和触发器的使用 13实验五 数据库的安全性 21实验六 数据库的备份、恢复和维护 25实验七 查询规则及查询优化 .32实验八 数据库应用程序设计简介 381实验一 数据库的建立与完整性实验一 第 1 部分运行环境的建立及配置一、实验目的本实验主要讲述数据库和数据

2、模型的有关概念及数据库系统的结构。通过本实验,学生应该掌握以下内容:数据库和数据模型的基本概念、数据模型的三要素、概念模型的表示方法、数据库系统的模式结构与体系结构、DBMS 的功能与组成。具体包括了解和熟悉DBMS,了解连接数据库服务器的身份验证模式,熟悉样例数据库,体会 DBMS 的三层模式结构等。二、实验准备数据模型由三个要素组成:数据结构、数据操作和完整性约束。1、数据结构数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型和关系模型。2、数据操作数据操作用于描述系统的动态特性,是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及

3、有关的操作集合。3、数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据及其联系所具有的制约和存储规则,用以限定符合数据库状态以及状态的变化,以保证数据的正确、有效和相容。数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。1、外模式。外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。2、模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公用数据视图。一

4、个数据库只有一个模式。3、内模式。内模式也称存储模式,它是数据物理和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。DBMS 的功能1、数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例如,为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全而定义的用户口令和存取权限等) 。2、数据操纵数据操纵包括对数据库数据的查询、添加、修改和删除等基本操作。3、数据库运行管理对数据库的运行进行管理是 DBMS 运行时的核心部分,包括对数据库进行并发控制、安全性检查、完整性约束

5、条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。2所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。4、数据组织、存储和管理数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS 负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。5、数据库的建立和维护建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造

6、、性能的监视与分析等。6、数据通信接口DBMS 需要提供与其他软件系统进行通信的功能。例如,提供与其他 DBMS 或文件系统的接口,从而能够将数据转换为另一个 DBMS 或文件系统能够接受的格式,或者接收其他 DBMS 或文件系统的数据。三、实验内容1、熟悉网络环境和数据库环境数据库服务器:操作系统:Windows 2000 Advanced Server IP 地址:202.201.224.123数据库管理系统:Microsoft SQL Server 2000 服务器名称:HP 客户机:操作系统:Windows 2000 Professional IP 地址:202.201.X.X Mic

7、rosoft SQL Server 2000 客户端 启动 Microsoft SQL Server 2000 查询分析器:1、 开始-程序-Microsoft SQL Server 2000-查询分析器出现如下画面2、 连接到 Microsoft SQL Server2000SQL Server:HP(或 202.201.224.123)选择 SQL Server 身份验证;登录名: student 密码:student32、 在查询分析器的编辑窗口中输入创建数据库的 SQL 语句: 3、身份验证模式:在安装 SQL Server 2000 过程中,出现身份验证对话框 ,提示选择身份验证模式

8、。Windows 身份验证模式或混合模式( Windows 身份验证和 SQL Server 身份验证)并提示添加 sa 用户登陆密码(一般选中空密码) 。安装完 SQL 后,打开企业管理器,逐级展开节点到安全性 |登陆 ,在右边视图中可以看到登陆的用户名称,右击 sa 用户,打开属性,弹出属性对话框,可以看到当前用户的身份验证模式。4、体会 DBMS 的三层模式结构:(以理解为主)从数据库管理系统角度看,数据库描述由三级抽象模式组成:概念模式(逻辑模式) 、物理模式(内模式)和外模式;从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构和客户/服务器结构。概念模式体

9、会:打开任意所建立数据库 ,选择一个表 ,右击 设计表,打开设计表框。这里描述了存储的数据的属性和实体及实体关系。物理模式:描述存储细节。外模式:视图和来自概念模式的关系组成。5、安装 SQL Server 2000 后,安装程序将在所创建的数据库实例中创建数据库和日志文件。Master、 Model、Msdb 和 Tempdb 都是系统数据库。Pubs 和 Northwind 示例数据库作为学习工具提供。我们提供基于样例数据库 Northwind 的一些操作。打开 企业管理器|数据库Northwind 。Northwind 示例数据库包含了一个名为 Northwind Traders 的虚构

10、公司的销售数据,打开表 ,可以看到该数据库包括了 Categories、Customers 等 13 张用户表和 Alphabetical list product 、Category Scale for 1997 等 16 张视图。可以任意打开用户表查看信息。6、从开始| 程序 |Mirosoft SQL Server |联机丛书。学习数据字典。4实验一第 2 部分数据的完整性一、实验目的:通过本实验,学生将1. 掌握数据完整性的基础知识2. 学会使用约束来实施数据完整性的保护3. 掌握使用默认值实现数据完整性的方法4. 熟练使用规则实施数据完整性的保护二、实验准备:1、四种完整性约束数据完

11、整性一共有四种形式:实体完整性(ENTITY INTEGRITY)值域完整性(DOMAIN INTEGRITY)引用完整性(REFERENTIAL INTEGRITY)用户自定义完整性()2、约束的用途是限制用户输入到表中的值的范围。PRIMARY KEY(主键)约束FOREIGN KEY(外键)约束UNIQUE(唯一)约束CHECK(核查)约束CASCADE 级联引用一致性约束三、实验内容:1、 给所有表创建主键约束和外键约束为每个表创建主键为每个表创建外键52、请在 STUDENT 表中插入一条数据班级号为 0046423的学生。3、请在 CLASS 表中插入一条属于学院编号为17的班级以

12、上操作方式若不成功,请检查原因所在,它违反了那一种约束;假设你的这三个表都存在主键与外键约束,分析把它都删除后在重新操作是怎样的情况。4、使用以下语句在 STUDENT 表中插入一条记录操作能否执行,若不行请分析原因所在,它违反了那种约束;请检查错误所在并改之。5、执行下列 SQL 语句请检查它违反那种约束?找出原因,正确输入此记录。6、请在成绩表使用 SQL 语句给 grade 列加 CHECK 约束“grade=0 and grade=100”,当你给成绩表输入一个成绩大于 100 或小于 0 的分数时会发生什么样的错误指示。7、给 CLASS 表创建 RULE 规则,规定 LEVELS

13、的数据只能是 (大专,本科 ,硕士,博士)8、给 STUDENT 表创建 RULE 规则,规定 GENDER 的数据只能是( 男, 女)9、给 STUDENT 表 GENDER 列的默认值是男。四、思考题1、 分别给出一个层次、网状和关系模型的实例。2、 从用户角度看,数据库系统都有哪些体系结构?3、 数据库管理系统通常由哪几部分组成?4、 尝试在企业管理器中添加或修改自己的表的各种完整性约束。65、 简述服务帐户的概念。6、 简述 SQL Server 的组件及其功能。7、 在 SQL Server 中如何实现各类完整性约束。8、 列举 SQL Server 特有的完整性控制手段。7实验二

14、Transact-SQL 及其程序设计基础(一)一、实验目的:通过本章的学习,学生将能够:1. 掌握向表中添加数据的方法2. 掌握如何快速的把一个表中的多行数据插入到另一个表中3. 掌握更新表中多行数据的方法。4. 学会如何删除表中的一行数据5. 学会如何删除表中的所有行6. 掌握 SELECT 语句的基本用法7. 使用 WHERE 子句进行有条件的查询8. 掌握使用 IN, NOT IN,BETWEEN 来缩小查询范围的方法9. 利用 LIKE 子句实现模糊查询 ,利用 ORDER 子句为结果排序 10. 学会用 SQL SERVER 的统计函数进行统计计算 11. 掌握用 GROUP BY

15、 子句实现分组查询的方法。12. 掌握多表查询的技术和嵌套查询的方法。二、实验准备:1、 常用的统计函数:sum() 返回一个数字或计算列的总和avg() 对一个数字列或计算求列平均值min() 返回一个数字或一个数字表达式的最小值max() 返回一个数字或一个数字表达式的最大值count() 返回满足 SELECT 语句中指定条件的记录的值count(*) 返回找到的行数注意:对于以下类型的数据 values 值不用使用引号1、整型数据类型:bit,int,smallint,tinyint2、货币数据类型:money,smallmoney3、数字数据类型:decimal,numeric4、浮

16、点类型数据:real,float5、简单的日期/时间类型数据:datetime ,smalldatetime对于以下数据类型就要对 values 值加单引号1、字符数据类型:char,varchar,text2、复杂的日期/时间类型数据:datetime ,smalldatetime2、添加语句:INSERT INTO table_or_view (column_list) data_values8删除语句:DELETE FROM table_name WHERE search_condition 更新语句:UPDATE table_name SETcolumn_name = expressi

17、on | DEFAULT | NULL ,.n FROM table_name ,.n WHERE searchcondition查询语句:SELECT select_listFROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC 三、实验内容:操作一:INSERT(插入)1、首先检查表结构:2、单条语句插入样例:请同学练习使用单条 SQL 语句给自己的各个表进行插入。3、批量插入样例数据9

18、多数同学插入的数据有限,为保证后续实习的顺利进行,请各位按以下步骤生成统一的数据!执行以上 SQL 脚本,同时也可以加带附加条件注:如果你所选用的数据源表不在本库的话,就要引用源表的库名.dbo.表。操作二:UPDATE(更新)1、 在 student 表中,GENDER (性别) ,BIRTHDAY(生日) ,ADDRESS(家庭地址) ,ZIP_CODE(家庭邮编) ,HOUSEHOLDER(家长姓名)均不正确或为空值,请将自己以上的准确信息更新到自己的数据库中,同时更新到同班同学的其它数据库中。2、查询你的数据库中同班其他同学的信息是否已更新。3、执行以下更新在 department 表

19、中, no_class(班级数)均不正确或为空值,请根据 class 表中每个学院实有班级数目更新 department 表中的 no_class,例如:4、执行以下更新在 class 表中,no_student (学生数)均不正确或为空值,请根据 student 表中每个班级实有学生人数更新 class 表中的 no_student。操作三:DELETE(删除)请从 student 表中删除一个 student_id=994631225的记录:为什么会出现以下的结果?10假若删除的是你自己的学号可以吗?为什么?四、思考题学生课程数据库中包括三个表。 学生表:Student (Sno, Sna

20、me, Ssex, Sage, Sdept) ; 课程表:Course(Cno, Cname, Ccredit) ; 选课表:SC (Sno, Cno, Grade) 。请按照要求写出相应的 SQL 语句。1. 查询计算机系年龄在 20 岁以下的学生的姓名2. 查询姓刘且全名为三个汉字的学生的姓名3. 查询选修了 3 号课程的学生的学号及其成绩,查询结果按分数的降序排列。4. 查询选修了 3 门以上课程的学生的学号5. 查询选修 2 号课程且成绩在 90 分以上的学生学号和姓名6. 查询与刘晨在同一个系学习的学生的学号、姓名(要求用子查询实现) 。7. 插入一条选课记录(95020 , 1)

21、。8. 将所有学生的年龄增加 1 岁。9. 从学生表中删除所有计算机系学生的信息。11实验三 Transact-SQL 及其程序设计基础(二)一、实验目的:同实验二二、实验准备同实验二三、实验内容SELECT(查询)1、 掌握 SELECT 语句的基本用法 2、查询你的各个表中所有的记录数目。 3、 查询你自己的平均成绩(用 avg()函数)4、 查询你班级所有同学的平均成绩,查询输出以别名:学号,姓名,平均成绩;并按平均成绩由高到低排序(用到 order by)5、 查询没有成绩记录的学生,查询输出:学号,姓名、的在班级简称。6、 查询你自己的各课成绩,结果格式如下:127、 查询你班两门及

22、两门以上课程不及格的学生,查询输出:学号,姓名、不及格课程数量。8、 查询你班男生人数。9、 查询你班女生人数。10、查询班级 Class_ID like 02%的班级。11、请查询输出:班级编号,班级名称,男生,女生。12、请查询输出:班级编号,班级名称,男生,女生,合计。13、执行以下查询,解释该查询的含义四、思考题学生课程数据库中包括三个表。 学生表:Student (Sno, Sname, Ssex, Sage, Sdept) ; 课程表:Course(Cno, Cname, Ccredit) ; 选课表:SC (Sno, Cno, Grade) 。请按照要求写出相应的 SQL 语句。

23、1. 查询计算机系年龄在 20 岁以下的学生的姓名2. 查询姓刘且全名为三个汉字的学生的姓名3. 查询选修了 3 号课程的学生的学号及其成绩,查询结果按分数的降序排列。4. 查询选修了 3 门以上课程的学生的学号5. 查询选修 2 号课程且成绩在 90 分以上的学生学号和姓名6. 查询与刘晨在同一个系学习的学生的学号、姓名(要求用子查询实现) 。137. 插入一条选课记录(95020 , 1) 。8. 将所有学生的年龄增加 1 岁。9. 从学生表中删除所有计算机系学生的信息。14实验四 索引、视图存储过程和触发器的使用一、实验目的:1. 掌握视图的概念和使用方法;2. 掌握索引的概念和使用方法

24、;3. 掌握存储过程的概念和使用方法;4. 掌握触发器的概念和使用方法;二、实验准备:1. 了解视图的概念和作用;2. 掌握视图相关的命令;3. 了解索引的作用与分类;4. 掌握索引的创建方法;5. 理解数据完整性的概念及分类;6. 了解各种数据完整性的实现方法;7. 了解存储过程的使用方法;8. 掌握存储过程的调用方法;9. 了解触发器的使用方法;三、实验内容:一、视图1.创建视图(1)在 STUDENT 表中,为信息管理及信息系统 022 班建立视图 V1_STU,在查询分析器中输入下列语句:(2)创建 V3_STU_COU 视图,包括学号,课程号,课程名,成绩,要保证对该视图的修改都要符

25、合班为信息管理及信息系统 022 班这个条件:152.查询视图(1)查找信息管理及信息系统 021 班女生的学号和出生日期:163.更新视图可更新视图满足以下条件:A)创建视图的 SELECT 语句中没有聚合函数,且没有 TOP、GROUP BY、UNION 子句及DISTINCT 关键字。B)创建视图的 SELECT 语句中不包含从基本表列通过计算所得的列。C)创建视图的 SELECT 语句的 FROM 子句中至少要包含一个基本表。(1)向 V1_STU 插入一条记录(024631267, 0246312, 刘明仪 , 男, 1982-3-2, NANCHANG ROAD 42# , 830

26、052, 刘林):注:1) 当视图所依赖的基本表有多个时,不能向该视图插入数据.2) 向可更新的分区视图中插入数据时,系统会按照插入记录的键值所属的范围,将数据插入到其键值所属的基本表中。17(2)将信管 992 班中学号为 994631209 的学生的 14110003 课程成绩改为 90 分:(3)删除 V2_STU 中女同学的记录:4.修改视图定义(1)将 V1_STU 修改成只包含信息管理及信息系统 022 班的学号和姓名:(2)删除 V4_AVG 视图18二.索引1.对 STUDENT 表的 STUDENT_ID 列建立索引,在查询分析器编辑窗口中输入下列程序并执行:三.创建触发器对

27、于 STUDENT 数据库,表 STUDENT 的 CLASS_ID 列与表 CLASS 的 CLASS_ID 满足下列参照完整性规则:A.向 STUENT 表插入或修改一记录时,通过触发器检查记录的 CLASS_ID 值在 CLASS 表中是否存在,若不存在,则取消插入或修改操作;B.修改 CLASS 表的 CLASS_ID 字段值时,该字段在 STUDENT 表中的对应值也做相应修改;C.删除 CLASS 表中一记录的同时删除该记录 CLASS_ID 字段值在 STUDENT 表中对应的记录;在查询分析器编辑窗口输入下列触发器的代码并执行。(1) 向 STUENT 表插入或修改一记录时,通

28、过触发器检查记录的 CLASS_ID 值在 CLASS 表中是否存在,若不存在,则取消插入或修改操作:19(2) 修改 CLASS 表的 CLASS_ID 字段值时,该字段在 STUDENT 表中的对应值也做相应修改:(3)删除 CLASS 表中一记录的同时删除该记录 CLASS_ID 字段值在 CLASS 表中对应的记录:四.创建存储过程1.添加学生记录的存储过程 STUDENTAdd:2.修改学生记录的存储过程 STUDENTUpdate:203.删除学生记录的存储过程 STUDENTDelete:4.调用三个存储过程:四、思考题根据本实验的内容,课后自己完成下面的练习1. 在 STUDE

29、NT 表中,为计算机科学与技术 021 建立视图 SV1_STU。2. 在 TUITION 表中,为第五学年缴全额学费(3500)的学生建立视图 SV2_TUI。213. 在 STUDENT 和 CLASS 两表中,建立视图 SV3_STU_CLA,包含学号,班号,学院号,姓名,性别。4. 编写对 TUITION 表的插入、修改、删除操作的存储过程,然后调用这些存储过程。5. 查找 SV3_STU_CLA 视图中学号为 024631416 所在的班号和学院号。6. 查找信管 992 班平均成绩在 80 分以上的学生的学号和平均分数:7. 在 STUDENT 和 CLASS 两表中,建立视图 S

30、V3_STU_CLA,包含学号,班号,学院号,姓名,性别。8. 向 SV1_STU 视图插入一条记录。9. 删除 SV3_STU_CLA 中,班号为0246312的记录。10. 将 SV3_STU_CLA 修改成只包含学号,班号,学院号11. 删除 SV3_STU_CLA 视图。12. 为 COURSE 表中的 COURSE_ID 建立索引 COU_IND。13. COURSE 表与 GRADE 表中的 COURSE_ID 列满足参照完整性规则,用触发器实现两表间的参照完整性。22实验五 数据库的安全性一、实验目的:1. 了解 SQL Server 2000 中的两种用户登录模式;2. 熟悉

31、SQL Server 2000 中登录帐户、用户、角色、权限的概念;3. 掌握 SQL Server 2000 中创建帐户、数据库用户的方法,会使用角色来分配权限一、二、实验准备:SQL Server 的用户权限控制是 SQL Server 一个最重要的管理概念,也是其众多管理任务之一。SQL Server 的登录方式有标准 SQL Server 登录和集成 Windows 系统登录两种。SQL Server 集成的安全登录模式即将 Windows 系统的用户和工作组映射为 SQL Server 的登陆帐户。Windows 集成登录模式实际上是让 Windows 系统代替 SQL Server

32、 执行对登陆审查的任务。如果要采用 SQL Server 管理的安全登录模式实现 SQL Server 服务器的登录连接,用户必须拥有合法的帐号和正确的密码。由 SQL Server 系统本身来进行用户的身份验证。三、实验内容:本次实验采用 SQL Server 管理的安全登录模式来连接服务器,也就是要求用户输入帐户和密码并且经系统验证通过后方可登录。首先打开 SQL Server 本地客户端的查询分析器,如下图所示,选择或指定要连接的服务名称(这里为 HP 或 202.201.224.123) ,输入帐户:student , 密码为 student。1、创建登录帐户用户可以通过企业管理器或系

33、统提供的存储过程来进行登录帐户的创建。这里使用系统存储过程来创建,创建帐户的语法可参见 SQL Server2000 联机帮助中的相关内容。下面的例子创建了一个登陆帐户:23这个例子创建了一个名为 xs, 密码是 123456,默认数据库为 northwind 的帐户。在建立用户的登录帐号信息时,用户应该选择默认的数据库,以后每次连接上服务器后,系统都会自动转到默认的数据库上。这里也可以不指定数据库,系统默认为 master 库。请同学将上例中的 xs 帐户改为各自学号,建立各自的登录帐户,默认数据库为 student 数据库,密码自行设计。下面的各个实验均参照示例将 xs 修改为各自的帐户。

34、2、修改和删除帐户建立完成的帐户信息还可以进行修改。用户可以使用系统存储过程sp_defaultdb,sp_defaultlanguage 来修改默认数据库和默认语言。例如:班级名称包括(信管 011、信管 013、信管 022、信管 024、信管 026、 、计科 021、计科022、计科 024、计科 026) ,以上的班级名称是已经建好的数据库名,将你的帐户的默认数据库改为所属班级的数据库。(系统默认是Simplified Chinese,建议使用默认项。 )返回的结果是:默认数据库已更改。xs 的默认语言已改为 English。使用系统存储过程 sp_password 可修改 SQL

35、Server 的帐户密码,如:该例子修改了 xs 的帐户密码。要删除 SQL Server 标准登录帐户可以使用系统存储过程 sp_droplogin,例如:在 SQL Server 中删除帐户信息时,有很多限制。主要有以下几种情况:(1)系统帐户 sa 不能被删除;(2)已经映射到数据库用户上的帐户不能被删除;(3)正在使用或连接的帐户不能被删除;(4)拥有数据库的帐户不能被删除3、添加数据库用户以上的操作只是建立了登录 SQL Server 的帐户,用户登录后还不能对数据库进行访问,将登录帐户添加为数据库用户后,使用登录帐户登录的 SQL Server 的用户就可以实现对数据库的访问。添加

36、数据库用户可通过存储过程 sp_grantdbaccess 来实现,参照下面的例子将你的帐户添加为student(该库是本课程的示例库)和班级名称(你所在班级的数据库名)两个数据库的用户。244、删除数据库用户可以使用系统存储过程 sp_revokedbaccess 来删除数据库用户,更确切地说,是断开 SQL Server 的登录帐户与数据库用户之间的对应关系。返回结果为:用户已从当前数据库中除去。5、角色角色是 SQL Server2000 引进的用来集中管理数据库或服务器权限的概念。数据库管理员将数据库的权限赋予角色,然后将角色再赋予给数据库用户或登录帐户,从而是数据库用户或登录帐户拥有

37、相应的权限。SQL Server 提供了固定服务器角色和数据库角色,用户可以修改固定数据库角色的权限,也可以自己创建新的数据库角色,在分配权限给新的角色。(1)固定服务器角色使用系统存储过程 sp_helpsrvrole 可以浏览固定服务器角色的内容。存储过程 sp_addsrvrolemember 可以将某固定服务器角色分配给某给定的登录帐户。下面的操作将登录帐户 xs 添加为服务器角色 dbcreatord 的成员,使其具有创建和修改数据库的权利:存储过程 sp_dropsrvrolemember 可以收回分配给某给定的登录帐户的指定固定服务器角色。这个例子收回了分配给登录帐户 xs 的固

38、定服务器角色 dbcreator.(2)固定数据库角色使用系统存储过程 sp_helpdbfixedrole 可以浏览所有的固定数据库角色的相关内容。如:用存储过程 sp_addrolemember 可将某个登录帐户增加到某个固定数据库角色中,从而使该帐户拥有指定固定数据库角色所拥有的所有权限。25进行下面的操作给你的帐户授予对 student 库的只读权限,xs 换为你的帐户名。下面的操作给你的登录帐户授予对你所在班级数据库的所有者权限,xs 换为你的帐户名。同样使用 sp_droprolemember 可以从某个固定数据库角色中删除指定的登录帐户,从而收回分配的对 student 库的只读

39、权限。完成所有上面操作以后,断开当前连接,使用本实验创建的个人登录帐户登录 SQL Server 服务器,登录成功后,可以看到当前默认操作数据库为你所在班级的数据库名即你的班级名称。四、思考题1. 思考身份验证模式与登录帐号的关系及如何用各种帐号进行登录;2. 登录帐号、数据库用户及数据库角色之间的关系;3. 数据库用户、数据库角色与数据库对象之间的关系,并说出直接对用户授权与间接对用户授权(系统权限与对象权限)的方法;4. 固定服务器角色、固定数据库角色、自定义数据库角色与应用程序角色的区别与验证其权限的方法。5. 如果就将服务器配置成 NT 验证模式,但是不能使用 Windows NT 登

40、录名访问服务器,导致这种情况最可能的原因是什么?6. 验证模式的信息保存在哪里?7. 如果要为所有的登录名提供有限的数据访问,哪种方法最好?8. 了解应用程序角色的主要作用。26实验六 数据库的备份、恢复和维护一、实验目的:理解备份的基本概念,了解备份设备的概念。掌握各种备份数据库的方法,了解如何制定备份计划,如何从备份中恢复设备。二、实验准备:数据库的备份与恢复是两个相对应的概念,备份是恢复的基础,恢复是备份的目的。数据库备份是指系统管理员定期或不定期地将数据库部分或全部内容复制到磁带或另一个磁盘上保存起来的过程。备份可分为静态备份和动态备份。数据库恢复是指在数据库遭到破坏时使数据库从有效的

41、备份中恢复正常。备份期间不允许对数据库进行任何存取、修改活动的备份方式称为静态备份。备份期间允许对数据库进行存取或修改,即各份和用户事务可以并发执行的备份方式称为动态备份。在 SQL Server 中可创建维护数据库的备份设备,使用 Enterprise Manager 或系统存储过程来规划和执行备份操作和恢复操作。确定备份计划主要考虑以下几个方面:1)确定备份的频率。确定备份频率要考虑两个因素:一是系统恢复时的工作量,二是系统活动的事务量。对于完整数据库备份,可以是每个月、每一周甚至是每一天进行,而事务日志备份可以是每一周、每一天甚至是每一小时进行。2)确定备份的内容。确定数据库中的哪些数据

42、需要备份。3)确定备份的介质。确定是使用磁盘、还是磁带作为备份的介质。4)确定备份的方式。确定备份采用动态备份还是静态备份。5)估计备份需要的存储空间量。在执行备份前,应该估计备份需要使用的存储空间量。6)确定备份的人员。应该指定专人负责数据库的备份,一般只有下列角色的成员才可以备份数据库:服务器角色 Sysadmin、数据库角色 db_owner 和 db_backupoperator。7)是否使用备份服务器。如果使用备份服务器,那么在出现故障时,系统就能迅速地得到恢复。8)确定备份存储的期限和存放地点:备份应该存储在安全的地方并保存适当的期限。执行数据库恢复以前,应注意以下两点:l)在数据

43、库恢复前,应该删除故障数据库,以便删除对故障数据库的任何引用。2)在数据库恢复前,必须限制用户对数据库的访问,数据库的恢复是静态的,应使用企业管理器或系统存储过程 sp_dbotion 设置数据库为单用户。三、实验内容:1. 创建备份设备先创建文件夹 D:你的学号。l)在 D:stubak 位置创建一个名为 DiskBak_yourdb 的本地磁盘备份文件。USE yourdbGOEXEC sp_addumpdevice disk, DiskBak_yourdb, D:stubak你的学号.bak如:272)查看系统中有哪些备份设备。Sp_helpdevice2. 进行数据库备份,管理备份设备1)创建数据库 yourdb 的完全备份。USE yourdbBACKUP DATABASE yourdb TO DiskBak_yourdb如:282)查看备份设备中备份集内包含的数据库和日志文件列表。RESTORE FILELISTONLY FROM DiskBak_yourdb3)查看特定备份设备上所有备份集的备份首部信息。RESTORE HEADERONLY FROM DiskBak_yourdb

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报