数据库原理与运用实验教案

时间:2019-05-15 05:17:19下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《数据库原理与运用实验教案》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《数据库原理与运用实验教案》。

第一篇:数据库原理与运用实验教案

数据库原理与运用

实验教案

实验班级:数媒09 实验教师: 卢震辉

2011年3月

数据库原理与运用实验教学

数据库技术是计算机科学中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和础。本课程是计算机专业的必修课程。通过本课程的学习,使学生理解数据库系统的基本原理:包括数据库的一些基本概念,各种数据模型的特点,关系数据库基本概念,SQL语言,关系数据理论,数据库的设计理论。掌握数据库应用系统的设计方法、了解数据库技术的发展动向,以指导今后的应用。

实践方面,要求学生利用数据库的原理知识和实用工具动手开发数据库应用系统。其最终目的是培养学生运用数据库技术解决问题的能力,激发他们在此领域中继续学习和研究的愿望。为了达到这个目的,除了对关系数据库系统的基本概念、原理和方法进行介绍之外,本课程的另外一个特点是强调课程的实践性。

实验的目的是为了配合课堂教学,进一步强化对数据库原理的理解。

一、本实验课在培养实验能力中的地位及作用

数据库技术是一个理论和实际紧密联系的技术,而SQL server2000则是数据库具体应用的一个数据库开发系统。在学习过程中,除了解SQL server系统的设计环境及各种工具的使用方法、数据库系统结构、数据库应用方法等知识外,通过实验对相关技术加深认识,切实加强学生的实践能力,是教学中一个重要且必要的环节。

二、应达到的实验能力标准

本实验的教学目标是使学生掌握如何使用SQL server2000 数据库开发系统,了解数据库设计及相关操作的基本概念与方法,进而学会建立与组织、操作数据库。上机实验的主要目标如下:(1)通过上机操作,加深对数据库系统理论知识的理解。

(2)通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术。

(3)通过上机实验,提高动手能力,提高分析问题和解决问题的能力。

三、实验主要内容 实验一 SQL server2000的安装及SQL server2000常用工具的使用(学时 2)

要求:掌握SQL server2000的安装方法

掌握SQL server2000常用工具的使用方法 实验二 数据库及表的创建和管理(学时 2)

要求:掌握SQL server2000数据库的创建及使用方法

掌握SQL server2000数据库的创建使用方法 实验三 约束的创建及使用(学时 2)要求: 能用T—SQL语言及企业管理器创建约束 实验四 表中数据的查询及维护(学时 4)要求:掌握表中数据的查询方法及操作方法

实验五 SQL Server视图及索引的创建及使用(学时 4)要求:掌握视图的创建及调用

掌握索引的创建及调用

实验六 数据库的备份及恢复(学时 2)要求:学会如何备份及恢复数据库

四、实验成绩考核方法

每次实验以百分记分,独立完成实验内容达到实验目的为100分,完成实验内容但对实验内容理解不清为60分,其他情况酌情定分。最后计算平均分。

五、实验教材、参考资料

1. 《SQL Server学习与上机实验指导》李春葆等 清华大学出版社 2. 《SQL SERVER数据库设计与应用案例训练教程》 魏茂林等 电子工业出版社

3. 《SQL Server数据库应用系统开发技术实验指导及习题解答》 朱如龙等编著 机械工业出版社

实验一 SQL server2000 的安装及其常用工具的使用

一、实验目的

SQL Server 2000是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。

本次实验了解SQL Server 2000的安装过程,熟悉SQL Server 2000软件环境。学会安装SQL Server 2000的过程。

二、实验内容

1.安装Microsoft的数据库服务软件SQL Server 2000:

运行服务器目录SQL2000下的可执行文件autorun.exe,进行SQL Server 2000的安装。安装主界面如图1-1所示。

图1-1

选择安装SQL Server 2000组件,出现组件安装界面,如图1-2所示。

图1-2

选择安装数据库服务器,进入SQL Server 2000的安装向导,如图1-3所示。

图1-3

点击“下一步”,到计算机名称对话框,如图1-4所示。

图1-4 “本地计算机”是默认选项,本地计算机的名称就显示在上面,点击“下一步”,出现安装选择对话框,如图1-5所示。

图1-5 选择“创建新的SQL Server实例,或安装客户端工具”,点击“下一步”,出现用户信息对话框,如图1-6所示。

图1-6 输入姓名和公司名称后,点击“下一步”,出现软件许可协议,如图1-7所示。

图1-7 点“是”按钮,出现安装定义对话框,如图1-8所示。

图1-8 选择“服务器和客户端工具”,点击下一步,出现实例名对话框,如图1-9所示。

图1-9 系统提供了“默认”复选框,点击下一步,出现安装类型选择框,如图1-10所示。

图1-10 选择典型,点击“下一步”,出现服务帐户对话框,如图1-11所示。

图1-11 接受系统的缺省值,点击“下一步”,出现身份验证模式窗口,如图1-12所示。

图1-12 接受系统的缺省值,点击“下一步”,出现开始拷贝文件窗口,如图1-13所示。

图1-13 点击“下一步”,开始将文件拷贝到选择的目录中,如图1-14所示。

图1-14 文件拷贝完成后,出现安装结束界面,如图1-15所示。

图1-15 点击“完成”按钮,完成SQL Server 2000的安装。

三、实验任务

1.在计算机上安装数据库软件SQL Server 2000;

2.熟悉软件的使用,SQL Server 2000主菜单如图1-16所示:

图1-16 11 实验二 数据库及表的创建和管理

一、实验目的

SQL Server 2000的启动和管理工作由服务管理器和企业管理器来实现。本次实验了解SQL Server 2000的启动,熟悉如何在SQL Server 2000图形环境下建立数据库和表。学会SQL Server 2000的启动和建库、表的操作。

二、实验内容

1.启动数据库服务软件SQL Server 2000:

在程序菜单中选择Microsoft SQL Server,如图2-1所示:

图2-1 再选中服务管理器,如图2-2所示:

图2-2 点击服务管理器后,出现SQL Server服务管理器,如图2-3所示:

图2-3 点击“开始/继续”按钮,启动SQL Server 2000数据库服务。

启动成功后,在时钟旁边出现一个符号,如图2-4所示。

图2-4 2.在SQL Server 2000中建立数据库: 1. 使用企业管理器创建名为student的数据库,并设置数据库主文件名为student_data,大小为10MB;日志文件为student_log,大小为2MB.其他参数取默认值。步骤:a.13

b.c.14 d.2.使用Transact—SQL语言创建一个student1数据库,主文件逻辑名为student1_data,物理文件名为student1.mdf,为10MB,增长速度为10%;数据库的日志文件逻辑名为syudent1_log, 物理文件名为student1.ldf,初始化大小为1MB,最大尺寸为5MB, 增长速度为1 MB;文件存放路径为c:data文件夹下。Create database student1 On primry(name=student1_data, filename=c:datastudent1.mdf, size=10, maxsize=unlimited, filegrowth=10%)log on(name=student1_log, filename=c:datastudent1.ldf, size=1, maxsize=5, filegrowth=1)3.在student数据库中创建一个名为pupil的表,要求:

(sno char(6)not null,sname char(10)not null,ssex char(2)not null,birthday datetime not null, polity char(20))步骤:

a.b.c.保存并命名为pupil即可。

实验三 约束的创建及使用

实验目的: 能用T—SQL语言及企业管理器创建约束

1.将pupil表的sno设置为主键。

2. 为sname字段设置惟一性约束。

步骤:

3. 为ssex和birthday设置检查性约束,要求ssex只能为‘男’或‘女’,birthday应该大于‘1987-1-1’。步骤:

4.为polity字段设置默认约束,值为‘群众’。

5.再创建一个学生选课表sc(sno char(6)not null,cno char(10)not null,grade real).为sc表创建外键约束,把sc表的sno和pupil表的sno关联起来,在这两个表之间创建一种制约关系。步骤:

最后保存该关系图即可。实验四 表中数据的查询及维护

1.已知一个名为pupil的表:

(sno char(6)not null,sname char(10)not null,ssex char(2)not null,birthday datetime not null, polity char(20),sdept char(20)not null)a.利用insert语句向其中插入一条新的记录:(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,’计算机系’)insert into pupil values(‘0007’,‘张三’,‘男’,‘1982-3-21’,‘团员’,‘计算机系’)b.利用update语句将编号为‘0004’的学生polity改为‘党员’: update pupil set polity=’党员’ where sno=’0004’

a.利用delete语句将‘1986-1-1’以后出生的女同学记录删除。Delete from pupil Where polity>1986-1-1 and ssex=’女’

2.针对pupil、sc、course三张表完成以下查询:

a.查询所有学生的基本信息,并按出生日期升序排列 select * from pupil order by polity b.查询女同学的信息和女同学的人数

select * from pupil where ssex=’女’ compute count(sno)c.查询所有男同学的年龄

select year(getdate())-year(birthday)as 年龄 from pupil d.所有选课学生的姓名、选修课程名及成绩 select sname,cname,grade from pupil,sc,course where pupil.sno=sc.sno and course.cno=sc.cno e.不及格学生的姓名

select distinct sname from pupil,sc,course where pupil.sno=sc.sno and course.cno=sc.cno and grade<60 f.查询‘刘’姓学生的信息

select * from pupil where sname like ‘刘%’ g.查询polity为’团员’或’党员’的学生信息

select * from pupil where polity in(‘团员’,’ 党员’)h.查询各门课程的选课人数

select cno ,count(sno)from sc group by cno i.查询缺少成绩的学生的学号及课程号

select sno,cno from sc where grade is null j.查询与‘刘成’同一个系的学生情况

select * from pupil where sdept in(select sdept from pupil where sname=’ 刘成’))k.查询选修了课程名为‘MIS’的学生的学号和姓名

select sno,sname from pupil where sno in(select sno from sc where cno in(select cno from course wnere cname=’MIS’))

编写一个用户自定义函数fun_avggrade,要求根据输入的班级号和课程号,求此班级此课程的平均分。

Create function fun_avggrade(@classnumber as char(10),@coursenumber as char(10))returns real begin declare @avgresult select @avgresult=avg(grade)from sc where substring(sno,1,len(sno)-2)= @classnumber and cno=@coursenumber return @avgresult end 编写一个用户自定义函数,完成以下功能:根据两个 输入参数(成绩上限和成绩下限),求sc数据表中满足输 入条件的学生人数。

Create function fun_sumren(@maxline real,@minline real)returns int begin declare @personcount as int select @personcount=(select count(distinct sno)from sc)from sc where grade<=@maxline real and grade>=@minline return @personcount end 24 实验五SQL Server 视图及索引的创建及使用

实验目的:通过企业管理器和Transact_SQL语句对视图进行创建、修改和删除

通过企业管理器: 创建步骤:

最后保存该视图即可。修改步骤:

进入该界面重新修改该视图即可。

删除步骤:

通过Transact_SQL语句: 创建:create view 视图名 [with encryption] as select_statement [with check option] 修改:利用 alter view 视图名 删除:利用 drop view 视图名

通过Transact_SQL语句创建一个视图,计算各个班级的各门课程的平均分。

Create view v_avggrade As Select substring(pupil.sno,1,len(pupil.sno)-2)as 班级,Cname as 课程名称,Avg(grade)as平均分 From pupil,sc,grade Where pupil.sno=sc.sno and sc.cno=course.cno Group by substring(pupil.sno,1,len(pupil.sno)-2), Cname 3.通过Transact_SQL语句创建一个视图,显示‘高等数学’未过的学生的信息。Create view v_gradenotpass As Select pupil.sno,sname,cname,grade From pupil,sc,course Where pupil.sno=sc.sno and sc.cno=course.cno and grade<60 And cname=’ 高等数学’ 1.

4.通过Transact_SQL语句创建一个视图,查询的数据为99521班学生的考试成绩。

Create view v_grade99521 As Select pupil.sno,sname,cname,grade From pupil,sc,course Where pupil.sno=sc.sno and sc.cno=course.cno and left(pupil.sno,5)=’99521’

5.如何通过企业管理器创建索引?

步骤:

点击‘新建’按钮

点击‘确定’

点击‘关闭’

6.如何删除索引?

选中该索引点击‘删除’即可 或

利用 drop index 表名.索引名完成删除

实验六 数据库的备份及恢复

1. 创建一个备份设备。

2. 使用企业管理器对一数据库做一次完全数据备份。

3. 使用企业管理器恢复某一数据库的完全数据备份

1.导入一个文本文件到SQL Server数据库当中。

2.将SQL Server数据库当中的表导出到access数据库当中。

3.利用DTS设计器将表从一个数据库复制到另一个数据库当中

第二篇:数据库原理实验教案

《数据库原理》课程实验

实验1 创建数据库和数据表

一、实验目的

熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。

在SQL Server 2005中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。

(一)向导方式创建

1、从“开始”菜单选择“所有程序”→“Microsoft SQL Server 2005”,打开“SQL Server Management Studio”窗口,使用Windows或SQL Server身份验证建立连接。

2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。

3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。

(1)“数据库名称”文本框中输入数据库的名称,如“sample_st”,再输入该数据库的所有者,这里使用默认值即可。(也可以通过单击文本框右边的“浏览”按钮选择所有者。

(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。通过单击下面相应的按钮可以添加或删除相应的数据文件。

 逻辑名称:指定该文件的文件名。

 文件类型:用于区别当前文件是数据文件还是日志文件。 文件组:显示当前数据库文件所属的文件组。

 初始大小:指定该文件的初始容量。在SQL Server 2005中数据文件的默认值为3MB,日志文件的默认值为1MB。 自动增长:用于设置在文件容量不够用时,文件根据何种增长方式自动增长。

 路径:指定存放在文件的目录。默认情况下,SQL Server 2005将存放路径设置为其安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。

完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库的创建,可以在“对象资源管理器”窗格中看到新建的数据库。

(二)语言方式创建

SQL Server 2005使用的Transact-SQL语言是标准SQL的增强版本,使用它提供的Create Database语句同样可以完成对数据库的建立(参考内容见附录)。

1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;单击“执行”按钮即可执行语句,在查询窗口内的“查询”窗格中可以看到“命令已成功完成”的提示消息。在“对象资源管理器”窗格中刷新,即可看到新建的数据库。

2、继续执行Create Database之后的语句,在“sample_st”数据库中用Create Table命令依次建立Student、Course和SC这三个数据表,利用Insert命令为各数据表添加数据。(参考内容见教材P84)

(三)知识巩固

仿照附录内容,用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容见教材P122。

实验2 数据库的简单查询

一、实验目的

掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。

1、查询全体学生的学号和姓名。

select sn,sno from s

2、查询全体学生的所有基本信息(仅针对Student表)。

select * from s

3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。select score+5 from sc

4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。select sn as 姓名,sno as 学号 from s

5、显示所有选课学生的学号,去掉重复结果。

select distinct sno from sc

6、查询成绩在80分以上的学生选课记录

select * from sc where score>80

7、查询经济系所有学生的学号和姓名。

select sn,sno from s where dept='经济系'

8、查询成绩在80~90分的学生选课记录。

select * from sc where score between 80 and 90

9、查询年龄不在22~25的学生记录。

select * from s where age not between 22 and 25

10、查询所有姓“刘”的学生记录。

select * from s where sn like'刘%'

11、查询无考试成绩(成绩为空值)的学号、课程号。5

select sno ,cno from sc where score is null

12、查询考试成绩非空值的学号、课程号。

select sno ,cno from sc where score is null

13、查询数学系年龄小于20岁的学生记录。

select * from s where dept ='数学系'and age <28

14、查询选修了“101”或“102”课程的选课记录。select * from c where cno ='101' or cno ='102'

15、查询学生总人数。

select count(sno)from s

16、查询选修了课程的学生人数。

select count(distinct sno)from sc

17、查询选修了“101”课程的学生的平均成绩。

select AVG(score)from sc

where cno='101'

18、查询学号为“01003”的学生的考试总成绩。

select sum(score)from sc

where sno=01003

19、查询“101”课程的最高分和最低分。

select max(score),MIN(score)from sc

where cno='101'

20、查询每门课程的选课人数。

select cno,COUNT(sno)from sc

group by cno

21、查询每个学生的学号、选课数、平均成绩和总成绩。

select sno,COUNT(cno)/*,AVG(score),sum(score)*/ from sc group by sno

22、查询选课数超过2的学生学号及其选课数。

select sno,COUNT(cno)from sc

group by sno

having COUNT(*)>2

23、查询所有学生信息,查询结果按年龄降序排列。(针对Student表操作)

select * from s order by AGE desc

24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。

select * from s order by dept,AGE desc

25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序排列。

select sno,COUNT(cno)from sc group by sno having COUNT(*)>2 order by count(cno)desc

实验3 数据库的多表查询

一、实验目的

继续熟练SQL-SELECT语句的使用;理解多表查询的概念;掌握多表连接查询中各个子句的用法,特别要比较内连接和外连接的结果。掌握非相关子查询、相关子查询的用法,理解它们的执行过程;学会在SQL Server中用Exists实现交运算,用Not Exists实现差运算。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

(一)、在已建立的数据库和数据表的基础上,用Select语句的连接查询完成下列操作。

1、查询每个学生的基本信息及其选课情况。

2、查询选修“101”课程的学生学号、姓名和成绩。

3、查询与“李平”在同一个系学习的学生记录。

4、查询与“李平”年龄相同的学生记录。

5、查询选修课程名为“数据库原理”的选课记录。

6、查询选修课程名为“数据库原理”的学生记录。

7、查询选修“101”课程且成绩≥90的学号、姓名和成绩。

8、查询“李平”的所有选课记录。

9、查询数学系学生选修的课程号,要求结果中去掉重复记录。

10、查询计算机系选修课程数≥2的学号、姓名及平均成绩,查询结果按平均成绩降序。

11、查询每个学生的学号、选修课程号、课程名及成绩。

12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。

(二)、在已建立的数据库和数据表的基础上,用Select语句的嵌套查询完成下列操作。

1、查询选修“101”课程且成绩≥90的学号、姓名。

2、查询“李平”的所有选课记录。

3、查询与“李平”在同一个系学习的学生记录。

4、查询与“李平”年龄相同的学生记录。

5、查询选修课程名为“数据库原理”的选课记录,输出结果包括学号和成绩。

6、查询选修课程名为“数据库原理”的学生记录,输出结果包括学号、姓名和所在系。

7、查询学号为“01003”学生的选修课程号和课程名。

8、查询没有选修“101”课程的学生学号和姓名。

9、查询选修“101”课程或“102”课程的学生姓名。

10、查询选修“101”课程和“102”课程的学生学号。

11、查询选修“101”课程但没选修“102”课程的学生学号。

12、查询没有选修任何课程的学生记录,输出结果包括学号、姓名和所在系。

13、查询数学系学生选修的课程号,要求结果中去掉重复记录。

14、查询选修课程至少包含“01003”选修课程的学生学号。实验4 数据库更新、视图定义及使用

一、实验目的

掌握Insert、Update、Delete语句的使用;对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。理解视图的概念,掌握Create View、Drop View语句的使用;掌握基于视图的查询语句的使用。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

(一)、在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST,其结构比Student表结构多一个score字段。用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。再用三个更新语句完成下列操作。

1、向Student表添加若干新记录,内容自定。(观察已定义的表的约束情况)

2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。

3、为临时表ST添加记录。

4、把Student表的所有行一次性地加到临时表ST中。

5、在ST表中把所有学生的成绩加2分。

6、在ST表中把所有学生的年龄增加1。

7、在ST表中把“李平”的所在系改为“计算机”。

8、在ST表中将选修课程“数据库原理”的学生成绩加2分。

9、在SC表中删除所有成绩为空值的选修记录。

10、删除计算机系选修成绩不及格的选课记录。

(二)、在已建立的数据库和数据表的基础上,完成下列操作。

1、建立数学系学生的视图MAST。

2、建立计算机系选修课程名为“数据库原理”的学生视图,视图名:CSTVIEW,该视图中应包括属性列:学号、姓名、成绩。

3、创建一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。

4、建立学生选课视图SCVIEW,包括所有学生的学号、姓名、课程号、课程名和成绩。

5、通过MAST视图查询学生基本信息。

6、通过SCVIEW查询成绩大于90分的学生的学号和成绩。

7、查询计算机系选修课程名为“数据库原理”并且成绩大于85分的学生的学号和成绩。

8、通过MAST视图将学号为“01008”学生的年龄修改为21岁。

9、通过MAST视图将学号为“01009”学生所在系改为“经济”,是否能成功执行?若不能成功请说明理由;若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?若不能查询请说明理由。

10、通过SCVIEW视图将学号为“01004”学生的总成绩修改为380分,是否能成功执行?若不能成功请说明理由。

实验5 数据库的安全与保护

一、实验目的

理解SQL Server的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。掌握如何为给定的用户分配权限。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

用户与权限管理

(1)打开“SQL Server Management Studio”窗口,使用对象资源管理器创建两个服务器登录帐号Test1和Test2,并在“sample_st”数据库中创建两个对应的同名用户。设置Test1用户和Test2用户的默认架构为guest。

(2)使用Test1身份登录,并为Test2分配创建数据表的权限;用Test2身份登录来验证权限分配成功。

(3)使用Test1身份登录,收回刚刚分配给Test2的创建数据表的权限;用Test2身份登录来验证权限回收成功。

五、实验步骤

1、使用对象资源管理器创建两个服务器登录帐号。以系统管理员身份登录SQL Server。打开“SQL Server Management Studio”窗口,在对象资源管理器列表中,打开展开“安全性”文件夹,选择“登录名”图标,单击鼠标右键,在弹出的菜单中选择“新建登录名”。在打开的对话框中依次建立Test1和Test2,选择“SQL Server身份验证”,同时还要输入密码,默认数据库为“sample_st”。

(2)在“用户映射”中列出了当前登录帐号可以选择访问的数据库如“sample_st”,在其左侧的复选框中打勾,表示当前登录帐号可以访问对应的数据库,默认用户名与登录帐号相同。

(3)单击“确定”按钮完成创建。

2、创建新的数据库用户。

在对象资源管理器中选中要访问操作的数据库,展开“安全性”文件夹,在“用户”文件夹中查找是否已建立与登录名Test1和Test2同名的数据库用户,若已建立,则在属性中修改其默认架构为guest;否则右击鼠标在菜单中选择“新建用户”选项,出现“数据库用户-新建”对话框,建立相应的用户。最后,在sample_st数据库的“安全性架构guest属性权限”中,为test1和test2用户分配相应权限。

3、用Grant、Revoke命令实现对用户的授权和收权。

4、用Create命令创建数据表验证授权和收权是否成功。

5、以系统管理员身份登录SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分别以Test1和Test2身份登录,进行授权及查询数据表,验证“WITH GRANT OPTION”能否成功执行。

6、以系统管理员身份使用“REVOKE”命令回收上述授权。

实验6 数据库的完整性

一、实验目的

通过实验掌握数据库完整性概念,掌握利用SQL Server 2005实现数据库完整性的基本方法和步骤。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

1、建立关系模式。

完成教材P164第6题,用SQL语言定义“职工”和“部门”两个关系模式: 职工(职工号,姓名,年龄,职务,工资,部门号),职工号为主码 部门(部门号,名称,经理名,电话), 部门号为主码 要求在模式中完成以下完整性约束条件的定义:(1)定义每个模式的主码;(2)定义参照完整性;

(3)定义职工年龄不得超过60岁;(4)定义部门名称必须取值唯一。

2、验证完整性约束。

使用Insert Values语句向两个表中各插入5~10条记录,对下列内容进行验证。(1)验证主键约束:“职工”和“部门”两个表中是否能接受主码值相同的记录,通过实例验证。

(2)验证唯一约束:“部门”表中是否能接受名称相同的两个不同记录?为什么?

(3)验证检查约束:“职工”表中能否接受年龄不满足条件的记录?为什么?

(4)验证参照完整性:若“部门”表中不存在部门号为“008”的记录,是否能在“职工”表中插入部门号为“008”的职工记录?若删除“001”部门的所有信息,正确的操作步骤是什么?

实验7 数据库设计实验

一、实验目的

通过实验掌握数据库设计的基本方法和步骤。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

1、选定实验题目,为某个单位或部门设计数据库应用系统,比如:学生成绩管理、机房上机管理、职工档案管理、商品库存管理、图书管理、工资管理等。

2、根据选定的题目进行需求分析,重点分析数据需求和功能需求。

3、概念结构设计:画出E-R图。

4、逻辑结构设计:设计数据库和数据表的具体结构,指出各表的属性名称、数据类型;说明各表的主码及表之间的关联情况;说明本设计是否已达到3NF要求。

5、简要评价系统设计的优点和不足。

五、实验要求

1、提交设计报告,涵盖实验内容的全部信息,不低于1000字。

2、提交建立应用系统数据库的代码,所有数据表中的记录总数不低于50条。(请参照实验2的附录建立数据库)

实验8 存储过程实验

一、实验目的

通过实验熟悉使用存储过程进行数据库应用程序设计的方法

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

对sample_st数据库,编写存储过程,完成下面功能

1、统计任意一门课程的平均成绩

2、统计所有课程的平均成绩

3、统计任意一门课程的成绩分布情况,即按照分数段统计人数(即<60、60-69、70-79、80-89、90以上)

第三篇:数据库原理实验教案

《数据库原理》课程实验

实验1 创建数据库和数据表

一、实验目的

熟悉SQL Server Management Studio界面;掌握通过图形化向导和执行Transact-SQL语句创建数据库的方法。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

SQL Server中的一个数据库必须至少包含一个数据文件和一个事务日志文件,所以创建数据库就是建立主数据文件和日志文件。

在SQL Server 2005中创建数据库的方法主要有两种:一是在SQL Server Management Studio窗口中使用可视化界面,通过方便的图形化向导创建,二是通过执行Transact-SQL语句创建。

(一)向导方式创建

1、从“开始”菜单选择“所有程序”→“Microsoft SQL Server 2005”,打开“SQL Server Management Studio”窗口,使用Windows或SQL Server身份验证建立连接。

2、在“对象资源管理器”窗格中展开服务器,选择“数据库”节点右击,从弹出的快捷菜单中选择“新建数据库”命令,打开“新建数据库”窗口。

3、该窗口中有3个页,分别是“常规”、“选项”和“文件组”,完成这3个页的内容即可完成数据库的创建。这里,我们仅设置“常规”的相应内容,其他2个页的内容按照默认设置即可。

(1)“数据库名称”文本框中输入数据库的名称,如“sample_st”,再输入该数据库的所有者,这里使用默认值即可。(也可以通过单击文本框右边的“浏览”按钮选择所有者。

(2)“数据库文件”列表中包括两行,一个是数据文件,一个是日志文件。通过单击下面相应的按钮可以添加或删除相应的数据文件。

 逻辑名称:指定该文件的文件名。

 文件类型:用于区别当前文件是数据文件还是日志文件。 文件组:显示当前数据库文件所属的文件组。

 初始大小:指定该文件的初始容量。在SQL Server 2005中数据文件的默认值为3MB,日志文件的默认值为1MB。 自动增长:用于设置在文件容量不够用时,文件根据何种增长方式自动增长。

 路径:指定存放在文件的目录。默认情况下,SQL Server 2005将存放路径设置为其安装目录下的data子目录,单击该列中的按钮可以在打开的“定位文件夹”对话框中更改数据库的存储路径。

完成上述操作后,单击“确定”按钮关闭“新建数据库”窗口,即完成了数据库的创建,可以在“对象资源管理器”窗格中看到新建的数据库。

(二)语言方式创建

SQL Server 2005使用的Transact-SQL语言是标准SQL的增强版本,使用它提供的Create Database语句同样可以完成对数据库的建立(参考内容见附录)。

1、单击“新建查询”按钮,创建一个查询输入窗口将附录中的语句复制到该窗口。选择创建数据库的命令,单击工具栏中的“分析”按钮,可以检查语法错误;单击“执行”按钮即可执行语句,在查询窗口内的“查询”窗格中可以看到“命令已成功完成”的提示消息。在“对象资源管理器”窗格中刷新,即可看到新建的数据库。

2、继续执行Create Database之后的语句,在“sample_st”数据库中用Create Table命令依次建立Student、Course和SC这三个数据表,并建立各自的约束及它们之间的联系(外键),利用Insert命令为各数据表添加数据。

(三)知识巩固

用SQL-DDL语言创建“产品订购”数据库,包含四个数据表S、P、J和SPJ,表结构及内容见教材P122。

实验2 数据库的简单查询

一、实验目的

掌握单表查询中各个子句(Select、From、Where、Group、Having、Order)的用法,特别要掌握比较运算符和逻辑运算符的使用。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

在已建立的数据库和数据表的基础上,用Select语句完成下列查询操作。

1、查询全体学生的学号和姓名。

2、查询全体学生的所有基本信息(仅针对Student表)。

3、对SC表查询全体学生的选课记录,在显示结果中为“Grade”列增加5分。

4、查询全体学生的学号和姓名,将原来的英文列名设置中文别名。

5、显示所有选课学生的学号,去掉重复结果。

6、查询成绩在80分以上的学生选课记录。

7、查询经济系所有学生的学号和姓名。

8、查询成绩在80~90分的学生选课记录。

9、查询年龄不在22~25的学生记录。

10、查询所有姓“刘”的学生记录。

11、查询无考试成绩(成绩为空值)的学号、课程号。

12、查询考试成绩非空值的学号、课程号。

13、查询数学系年龄小于20岁的学生记录。

14、查询选修了“101”或“102”课程的选课记录。

15、查询学生总人数。

16、查询选修了课程的学生人数。

17、查询选修了“101”课程的学生的平均成绩。

18、查询学号为“01003”的学生的考试总成绩。

19、查询“101”课程的最高分和最低分。20、查询每门课程的选课人数。

21、查询每个学生的学号、选课数、平均成绩和总成绩。

22、查询选课数超过2的学生学号及其选课数。

23、查询所有学生信息,查询结果按年龄降序排列。(针对Student表操作)

24、查询所有学生信息,查询结果按系名升序,同系学生按年龄降序排列。

25、查询选课数超过2的学生学号及其选课数,查询结果按选课数降序排列。

实验3 数据库的多表查询

一、实验目的

继续熟练SQL-SELECT语句的使用;理解多表查询的概念;掌握多表连接查询中各个子句的用法,特别要比较内连接和外连接的结果。掌握非相关子查询、相关子查询的用法,理解它们的执行过程;学会在SQL Server中用Exists实现交运算,用Not Exists实现差运算。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

(一)、在已建立的数据库和数据表的基础上,用Select语句的连接查询完成下列操作。

1、查询每个学生的基本信息及其选课情况。

2、查询选修“101”课程的学生学号、姓名和成绩。

3、查询与“李平”在同一个系学习的学生记录。

4、查询与“李平”年龄相同的学生记录。

5、查询选修课程名为“数据库原理”的选课记录。

6、查询选修课程名为“数据库原理”的学生记录。

7、查询选修“101”课程且成绩≥90的学号、姓名和成绩。

8、查询“李平”的所有选课记录。

9、查询数学系学生选修的课程号,要求结果中去掉重复记录。

10、查询计算机系选修课程数≥2的学号、姓名及平均成绩,查询结果按平均成绩降序。

11、查询每个学生的学号、选修课程号、课程名及成绩。

12、查询所有学生的选修情况(包括选课和未选课的学生),要求显示学号、姓名、课程号和成绩。

(二)、在已建立的数据库和数据表的基础上,用Select语句的嵌套查询完成下列操作(含EXISTS量词)。

1、查询选修“101”课程且成绩≥90的学号、姓名。

2、查询“李平”的所有选课记录。

3、查询与“李平”在同一个系学习的学生记录。

4、查询与“李平”年龄相同的学生记录。

5、查询选修课程名为“数据库原理”的选课记录,输出结果包括学号和成绩。

6、查询选修课程名为“数据库原理”的学生记录,输出结果包括学号、姓名和所在系。

7、查询学号为“01003”学生的选修课程号和课程名。

8、查询没有选修“101”课程的学生学号和姓名。

9、查询选修“101”课程或“102”课程的学生姓名。

10、查询选修“101”课程和“102”课程的学生学号。

11、查询选修“101”课程但没选修“102”课程的学生学号。

12、查询没有选修任何课程的学生记录,输出结果包括学号、姓名和所在系。

13、查询数学系学生选修的课程号,要求结果中去掉重复记录。

14、查询选修课程至少包含“01003”选修课程的学生学号。实验4 数据库更新、视图定义及使用

一、实验目的

掌握Insert、Update、Delete语句的使用;对于Insert语句,要求理解默认值约束、空值约束在插入记录时所起的作用。理解视图的概念,掌握Create View、Drop View等语句的使用;掌握基于视图的查询语句的使用。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

(一)、在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST(sno,sname,dept,sage,cno,cname,score)。用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。再用三个更新语句完成下列操作。

1、向Student表添加若干新记录,内容自定。(观察已定义的表的约束情况)

2、向SC表添加新记录,内容自定,不低于10条(注意不能违反参照完整性)。

3、为临时表ST添加记录。

4、把Student表的所有行及其对应的选课一次性地加到临时表ST中。

5、在ST表中把所有学生的成绩加2分。

6、在ST表中把所有学生的年龄增加1。

7、在ST表中把“李平”的所在系改为“计算机”。

8、在ST表中将选修课程“数据库原理”的学生成绩加2分。

9、在SC表中删除所有成绩为空值的选修记录。

10、删除计算机系选修成绩不及格的选课记录。

(二)、在已建立的数据库和数据表的基础上,完成下列操作。

1、建立数学系学生的视图MAST。

2、建立计算机系选修课程名为“数据库原理”的学生视图,视图名:CSTVIEW,该视图中应包括属性列:学号、姓名、成绩。

3、创建一个名为STSUMVIEW的视图,包括所有学生的学号和总成绩。

4、建立学生选课视图SCVIEW,包括所有学生的学号、姓名、课程号、课程名和成绩。

5、通过MAST视图查询学生基本信息。

6、通过SCVIEW查询成绩大于90分的学生的学号和成绩。

7、查询计算机系选修课程名为“数据库原理”并且成绩大于85分的学生的学号和成绩。

8、通过MAST视图将学号为“01008”学生的年龄修改为21岁。

9、通过MAST视图将学号为“01009”学生所在系改为“经济”,是否能成功执行?若不能成功请说明理由;若修改成功,请再次通过MAST视图查询学生基本信息,是否能查询到该生?若不能查询请说明理由。

10、通过SCVIEW视图将学号为“01004”学生的总成绩修改为380分,是否能成功执行?若不能成功请说明理由。

实验5 数据库的安全与保护

一、实验目的

理解SQL Server的用户与权限管理机制,掌握用对象资源管理器创建服务器登录帐号,并同时建立用户。掌握如何为给定的用户分配权限。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

用户与权限管理

(1)打开“SQL Server Management Studio”窗口,使用对象资源管理器创建两个服务器登录帐号Test1和Test2,并在“sample_st”数据库中创建两个对应的同名用户。设置Test1用户和Test2用户的默认架构为guest。

(2)使用Test1身份登录,并为Test2分配创建数据表的权限;用Test2身份登录来验证权限分配成功。

(3)使用Test1身份登录,收回刚刚分配给Test2的创建数据表的权限;用Test2身份登录来验证权限回收成功。

五、实验步骤

1、使用对象资源管理器创建两个服务器登录帐号。以系统管理员身份登录SQL Server。打开“SQL Server Management Studio”窗口,在对象资源管理器列表中,打开展开“安全性”文件夹,选择“登录名”图标,单击鼠标右键,在弹出的菜单中选择“新建登录名”。在打开的对话框中依次建立Test1和Test2,选择“SQL Server身份验证”,同时还要输入密码,默认数据库为“sample_st”。

(2)在“用户映射”中列出了当前登录帐号可以选择访问的数据库如“sample_st”,在其左侧的复选框中打勾,表示当前登录帐号可以访问对应的数据库,默认用户名与登录帐号相同。

(3)单击“确定”按钮完成创建。

2、创建新的数据库用户。

在对象资源管理器中选中要访问操作的数据库,展开“安全性”文件夹,在“用户”文件夹中查找是否已建立与登录名Test1和Test2同名的数据库用户,若已建立,则在属性中修改其默认架构为guest;否则右击鼠标在菜单中选择“新建用户”选项,出现“数据库用户-新建”对话框,建立相应的用户。

3、用Grant、Revoke命令实现对用户的授权和收权。

4、用Create命令创建数据表验证授权和收权是否成功。

5、以系统管理员身份登录SQL Server。使用:“GRANT SELECT ON SC TO Test1 WITH GRANT OPTION”命令,再分别以Test1和Test2身份登录,进行授权及查询数据表,验证“WITH GRANT OPTION”能否成功执行。

6、以系统管理员身份使用“REVOKE”命令回收上述授权。

实验6 数据库的事务及并发控制

一、实验目的

通过实验加深学生对事务的基本概念理解语掌握;加深学生对并发控制的基本概念理解,认识不正确的并发控制所带来的危害;加深学生对锁的基本概念的掌握与理解,认识锁带来的问题;

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

1、事务的控制

数据准备:执行如下命令Select * into ##temp from student,将student的数据倒入到##temp表中。 启动事务,执行删除后,回滚事务

      选择##temp的数据,察看记录总数 显式启动事务 删除##temp表的数据

选择##temp数据,察看记录总数 回滚事务

选择##temp数据,察看记录总数

 启动事务,执行删除后,提交事务

选择##temp数据,察看记录总数      显式启动事务 删除##temp表的数据

选择##temp的数据,察看记录总数 回滚事务

选择##temp数据,察看记录总数

比较这两次执行效果的差异,为什么会有这些差异?

2、事务的隔离级别试验

数据准备:执行如下命令Select * into ##temp from student,将student的数据倒入到##temp表中。 脏读

 启动两个分析器,分别叫(A,B)

 在A中,选择##temp表中数据,察看记录总数  在A中,显式启动事务  在A中,删除##temp表的数据

 在B中,将事务隔离级别设为UNCOMMITTED  在该查询分析器中选择##temp表数据,察看记录总数  回到先前窗口,回滚事务  选择##temp数据,察看记录总数  再次切查询分析器窗口

 选择##temp数据,察看记录总数 观察结果,为什么会有这些现象?  不可重复读

 启动两个分析器,分别叫(A,B)

 在A中,显式启动事务,察看dept = 'math'的记录(注意地址中的数据)

 在B中,显式启动事务,察看dept = 'math'的记录。在B中,将dept = 'math’地址更新为’AAAAAA’

 在B中,再次察看dept = 'math'的记录。在B中,提交事务  在A中,再次察看dept = 'math'的记录。 在A中,提交事务

观察结果,为什么会有这些现象?  丢失修改

 启动两个查询分析器,分别叫(A,B)

 在A中,显式启动事务,察看dept = 'math'的记录(注意地址中的数据)

 在B中,显式启动事务,察看dept = 'math'的记录。 在B中,将dept = 'math’地址更新为’AAAAAA’  在B中,再次察看dept = 'math'的记录。 在B中,提交事务

 在A中,再次察看dept = 'math'的记录。 在A中,将dept = 'math’地址更新为’BBBBBB’  在A中,提交事务

 在A,B窗口分别察看dept = 'math’的记录,结果如何?  锁的模拟

 启动两个分析器,分别叫(A,B)

 在A中,显式启动事务,察看dept = 'math'的记录  在B中,显式启动事务,察看dept = 'math'的记录  在B中,将dept = 'math’地址更新为’AAAAAA’  在A中,将dept = 'math’地址更新为’BBBBBB’ 观察A窗口的结果,为什么?

事务隔离级别设置:set transaction isolation level {read committed, read uncommitted, repeatable read, serializable}

实验7 数据库设计实验

一、实验目的

通过实验掌握数据库设计的基本方法和步骤。

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

1、选定实验题目,为某个单位或部门设计数据库应用系统,比如:学生成绩管理、机房上机管理、职工档案管理、商品库存管理、图书管理、工资管理等。

2、根据选定的题目进行需求分析,重点分析数据需求和功能需求。

3、概念结构设计:画出E-R图。步骤如下:

(1)设计局部E-R图。设计依据是需求分析阶段的DFD/DD。主要内容是确定实体集合、联系、属性及主关键字

(2)集成局部E-R图。集成时要解决冲突和冗余等问题。(3)合并局部E-R图。合并局部E-R图中相同部分,尽可能的保留特殊部分,删除冗余部分,用累加的方式集成若干个局部E-R图。

(4)优化全局E-R图,得到最佳的全局E-R图方案。

4、逻辑结构设计:设计数据库和数据表的具体结构,指出各表的属性名称、数据类型;说明各表的主码及表之间的关联情况;说明本设计是否已达到3NF要求。

5、简要评价系统设计的优点和不足。

五、实验要求

1、提交设计报告,涵盖实验内容的全部信息,不低于1000字。

2、提交建立应用系统数据库的代码,所有数据表中的记录总数不低于50条。

实验8 存储过程实验

一、实验目的

通过实验熟悉使用存储过程进行数据库应用程序设计的方法

二、实验环境

Windows XP操作系统,SQL Server 2005软件。

三、实验课时

2课时。

四、实验内容

对sample_st数据库,编写存储过程,完成下面功能

1、统计任意一门课程的平均成绩

2、统计所有课程的平均成绩

3、统计任意一门课程的成绩分布情况,即按照分数段统计人数(即<60、60-69、70-79、80-89、90以上)

第四篇:数据库原理与应用实验教案

实验报告格式 《数据库原理》实验报告

(实验名称:)

 专业

 班级级()班  学号  学生姓名  指导老师

 攀枝花计算机学院 年月日

一、实验目的

 本次实验所涉及并要求掌握的知识点。根据老师实验前的讲授自行撰写。(小四号字,宋体)

二、实验内容:

 本次实验的内容及相关题目描述(小四号字,宋体)

三、SQL语句及运行结果  创建数据库:

在数据库节点右键新建数据库,增加和修改数据文件名,设置增长方式以及数据库逻辑名称

文件组添加Slave文件组  修改数据库:

利用SQL语句修改,删除,添加数据库文件

 删除数据库:

 

 按照实验内容编写的SQL语句或程序代码与结果显示(小四号字,宋体)

四、实验总结

 1 .实验中遇到的问题及解决过程  2 .实验中产生的错误及原因分析  3 .实验体会和收获。

实验一 创建数据库(操作型)1.1 实验目的

(1)理解并掌握数据库的基本概念;

(2)理解并掌握数据文件、日志文件、文件组的基本概念;

(3)熟练掌握和使用SQL Server Management Studio管理器创建、删除、更改(包括文件组、文件大小、文件增长方式等参数)数据库;(4)熟练使用DDL语句来创建、删除、更改(包括文件组、文件大小、文件增长方式等参数)数据库。

1.2 实验内容

件组,分别是主文件组和“Slave”文件组。数据库包含两个数据文件,分别是“mymaster.mdf”和“myslave.ndf”,其中数据文件“mymaster.mdf”属于主文件组,存放在d:data目录下,文件初始大小50M,文件属性为自动增长,每次增长10%。数据文件“myslave.ndf”存放在e:data目录下,属于Slave文件组,文件大小固定为50M。该数据库有一个日志文件,日志文件名称“mylog.ldf”,文件位于c:log目录中,日志文件初始大小为50M,文件属性为自动增长,每次增长10M,最大文件大小为100M(实验时一定要保证c:Log、d:data和e:data目录存在,否则会发生错误,如果计算机d:盘或e:盘不存在,实验时须将路径调整到已存在的磁盘下);(1)创建数据库:待创建的数据库逻辑名称为“MyDB”。该数据库有两个文(2)修改数据库:将刚才创建的数据库“MyDB”的名称修改为“TESTDB”,并删除数据文件“myslave.ndf”,同时增加一个数据文件,该数据文件逻辑名称为“test“,文件名称为“test.ndf”,数据文件位于e:data(在e盘存在的情况下,如果e盘不存在,可指定道其他磁盘位置下),其他参数默认;

(3)删除刚刚创建的“TESTDB”数据库。

1.3 实验步骤

对数据库的管理(包括创建、修改、删除)可以有两种方式完成,使用SQL Server Management Studio管理器可以完成数据库的日常管理,还可以通过查询窗口输入DDL语句完成数据库的管理。

1.3.1 数据库创建

(1)使用SQL Server Management Studio创建数据库(2)使用SQL语句创建数据库

1.3.2 修改数据库

1.3.3 删除数据库“TESTDB”

(1)使用Management Studio删除“TESTDB”(2)使用SQL语句删除数据库

1.4 思考与练习

答:(1)什么是数据库?数据库的组成有哪些?

(2)什么是文件组?如何创建文件组?主文件组可以删除吗?

答:

(3)数据文件,日志文件各有什么作用?

答:

(4)文件增长方式有哪些?如何设置?

答:1)在新建数据库的界面中设置自动增长方式

2)利用SQL语句size设置大小,filegrowth设置增长类型,maxsize设置最大文件.(5)SQL Server Management Studio与数据库的关系是什么

答:

第五篇:数据库原理实验五

数据库原理及应用实验报告

实验名称:数据库备份与恢复、数据库的安全性 实验类型:验证型 实验环境:oracle 11g 指导教师:陈 骏 专业班级:信安班 姓

名: 学

号:

联系电话:*** 电子邮件: 实验地点:东6E501 实 验 日 期: 2017年5月16日 实验报告日期:2017年 5月 18日

成绩:__________________________ 实验五 数据库备份与恢复

一、实验目的

        了解数据库恢复技术的原理

了解oracle各类故障的数据恢复方法 了解oracle的物理备份

掌握oracle数据库逻辑备份方法 掌握oracle数据库恢复的方法

学会使用exp备份数据库、使用imp恢复数据库 了解flashback 的使用

学会使用PLSQL/developer工具完成导入导出

二、实验平台

Oracle 11g

三、实验步骤、出现的问题及解决方案(不能解决的将问题列出)(1)实验步骤

1、逻辑备份

(1)导出自己用户中的“预约”表在运行中输入:exp 用户名/密码@orcl 按照提示进行导出

(2)删除自己用户中的“预约”表

1(3)进行导入数据库操作,在运行中输入:IMP 用户名/密码@orcl按照提示进行导入

(4)查询导入的“预约”表中的信息。

(5)导出数据库(以全库方式导出)。必须是DBA才能执行完整数据库或表空间导出操作。

2、使用Flashback(1)设置行可移动SQL>ALTER TABLE 读者 ENABLE ROW MOVEMENT

(2)在读者表中添加多条记录(或者删除没有借书的读者记录)。

(3)闪回到改变前(TO_ TIMESTAMP函数完成对非时间戳类型数据的转换)SQL>FLASHBACK TABLE 读者 TO TIMESTAMP TO_ TIMESTAMP(„.)2

3、使用PLSQL/developer 来完成SQL导出

(1)打开PLSQL/developer,选择菜单“工具“导出表(2)点击你要导出的表,然后选择标签SQL 插入

(3)选中复选框创建表,浏览或者输入输出文件,然后点击导出

(4)在你输入的目录下找到你的导出文件(SQL 文件)

(5)依次导出你账户下所有用户自定义表。

(6)删除自己表空间中的“预约”表(7)通过“工具“导入表,利用SQL插入导入数据库预约表。

(8)查询导入的预约表,检查导出是否正确。

4、使用PLSQL/developer 来完成PLSQL/developer方式导出(1)打开PLSQL/developer,选择菜单“工具“导出表(2)点击你要导出的表,然后选择标签PLSQL/developer(3)浏览或者输入输出文件,然后点击导出。

4(4)在你输入的目录下找到你的导出文件。(5)依次导出你账户下所有用户自定义表。(6)删除自己表空间中的“预约”表

(7)通过“工具“导出表,PLSQL/developer方式导入数据库预约表。

(8)查询导入的预约表,检查导出是否正确。

(2)问题及解决方案

-问题①:在命令行内输入登录命令“sqlplus S5120155364/123@orcl by sysdba”时无法正确连接

原因:使用了错误的连接词“by”

解决方案:将其改为“sqlplus S5120155364/123@orcl as sysdba”-问题②:点击“Enter”键,命令不执行 原因:命令语句后遗漏分号或使用了中文分号 解决方案:改为以英文分号结尾的命令语句-问题③:无法以全库方式导出数据库(未解决)

实验六 数据库的安全性

一、实验目的

       理解数据库的安全性保护

掌握ORACLE中有关用户创建的方法 理解数据库存取控制机制

熟练掌握PL-SQL的数据控制语言,能通过自主存取控制进行权限管理 熟悉用户资源文件的使用 熟悉ORACLE中角色管理

熟悉视图机制在自主存取控制上的应用

四、实验平台

Oracle 11g

五、实验步骤、出现的问题及解决方案(不能解决的将问题列出)(1)实验步骤

1、同学之间相互授权访问对方“读者”表并能进行查询。

2、以SYSTEM登录数据库为你的帐号增加系统角色DBA.3、重新以自己的帐号登录,创建一个数据库用户:帐号_USER1(注:帐号即学生登录数据库帐号,如:S20101206),该用户拥有所有CONNECT, resource,DBA系统角色权限。

4、建立角色:帐号_OPER,该角色拥有调用存储过程借书、还书、预约的权限,以及CONNECT系统角色权限。(注:执行存储过程的授权语句Grant execute on procedure_name to user/role)

5、创建一个数据库用户:帐号_USER2(注:帐号如:S20101206)为该用户授权角色:帐号_OPER。以该用户登录,完成借书功能。

6、以自己的帐号登录,如:S20101206,建立视图VIEW_READER, 该视图包含书目(ISBN, 书名,作者,出版单位,图书分类名称)(注:所有属性来自关系书目和图书分类)

7、创建一个数据库用户:帐号_USER3(注:帐号如:S20101206)该用户具有对视图VIEW_READER查询的权限。创建一个概要文件,如果 帐号_USER3连续3次登录失败,则锁定该账户,10天后该账户自动解锁。以该用户登录进行权限测试。

(2)问题及解决方案

-问题①:在命令行内输入登录命令“sqlplus S5120155364/123@orcl by sysdba”时无法正确连接

原因:使用了错误的连接词“by”

解决方案:将其改为“sqlplus S5120155364/123@orcl as sysdba”-问题②:点击“Enter”键,命令不执行 原因:命令语句后遗漏分号或使用了中文分号 解决方案:改为以英文分号结尾的命令语句

下载数据库原理与运用实验教案word格式文档
下载数据库原理与运用实验教案.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    数据库原理实验三

    数据库原理及应用实验报告 实验名称:存储过程 实验类型:验证型 实验环境:oracle 11g 指导教师:陈 骏 专业班级:信安1505班 姓名: 学号:512015 联系电话:电子邮件: 实验地点:东6E501 实......

    数据库原理实验指导书

    《数据库原理实验指导书》 河南科技大学电子信息工程学院目录 实验规则 ...................................................................................................

    数据库原理-教案

    第一章 绪论 内容概述 阐述数据库的基本概念,介绍数据管理技术的进展情况、数据库技术产生和发展的背景,数据模型的基本概念、组成要素和主要的数据模型,概念模型的基本概念及E......

    数据库原理实验学期总结

    2010-2011学年第1学期《数据库原理实验》学期论文 数据库原理实验学期总结 我的题目: 班级:_______________学号:_______________姓名:_______________ 摘要 不少于100字 关键字......

    (2008版)数据库原理实验5指导书

    一 实验题目:视图的定义和使用 二 实验目的:加深对视图的理解,熟练视图的定义、查看、修改等操作 三 实验内容及要求:(从下面10个题目中选一个) 题目一: 学生(学号,年龄,性别,系名) 课程......

    数据库原理及技术实验报告-实验10

    《数据库原理及技术》实验报告 姓名: 莫鸿斌学号:201601030137 班级:2016级计算机科学与技术 实验日期: 2018-3-9 一、实验项目 数据库备份与恢复、数据的导入导出 二、实验目......

    数据库原理及技术实验报告-实验11

    《数据库原理及技术》实验报告 姓名:莫鸿斌 学号:201601030137 班级:2016级计算机科学与技术 实验日期: 2018-3-23 一、实验项目 T-SQL创建修改数据库和表 二、实验目的 1. 掌......

    数据库原理实验学期总结[推荐5篇]

    2012-2013学年第1学期《数据库原理实验》学期论文 数据库原理实验学期总结 班级: 学号: 姓名: 摘要: 学习数据库已经一个学期了,经过这一个学期对SQL Server 2005课程的学习,使......