数据库系.docx

上传人:b****8 文档编号:29769064 上传时间:2023-07-26 格式:DOCX 页数:8 大小:180.60KB
下载 相关 举报
数据库系.docx_第1页
第1页 / 共8页
数据库系.docx_第2页
第2页 / 共8页
数据库系.docx_第3页
第3页 / 共8页
数据库系.docx_第4页
第4页 / 共8页
数据库系.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

数据库系.docx

《数据库系.docx》由会员分享,可在线阅读,更多相关《数据库系.docx(8页珍藏版)》请在冰豆网上搜索。

数据库系.docx

数据库系

数据库系统报告五

《数据库系统原理》实验报告

实验名称:

数据库备份与恢复+数据库安全性+关系数据库完整性实验

任课教师:

霍纬纲学号:

120341110姓名:

黄帅完成日期:

·数据库备份与恢复

一、实验目的:

1通过ORACLE环境,理解关系数据库的备份与恢复概念。

2了解ORACLE的导出与导入。

3了解ORACLE的脱机备份、练级备份及恢复。

二、实验步骤:

1.导出

数据库的逻辑备份包括读一个数据库记录集和将记录写入一个文件中。

这些记录的读取与其物理位置无关。

实用程序用于完成这种备份,将读取数据库并把输出写入导出转储文件,这是一个二进制的文件。

2.导入

通过导入实用程序,可以实现数据库逻辑恢复,将导出的到的二进制文件导入,以恢复数据库。

3.在ORACLE中新建一个表

4.在cmd中备份

在ORACLE中删除表再在cmd中进行恢复

出现错误:

改正:

·数据库安全性实验

一、实验目的

1.通过ORACLE的安全机制,理解关系数据库的安全性;

2.理解ORACLE环境下如何创建用户,定义角色,分配用户权限;

二、实验内容与步骤

Createusermanager

Profile“default”

Indentifiedbymanager

Defaulttablespace“temporary_data”

Accountunlock

Grantsysdbato“manager”;

Grant“connect”to“manager”;

Grant“dba”to“manager”;

Alterusermanagergrantconnectthroughsystem’

·数据库完整性实验

一、实验目的

通过ORACLE的完整性,理解关系数据库的完整性

二、实验内容与步骤

1.创建行级触发器,记录下每个用户对数据库的表进行数据操作的次数

要求:

1)建立基本表

2)输入元组

3)以USER1的身份登录,对student表进行增加、删除和修改操作,之后查看表的内容变化

createtablestudent

SNOchar(10)primarykey,

SNAMEchar(12),

sagenumber(10),

Ssexchar(5)

);

insertintostudentvalues('001','aaa','18','f');

insertintostudentvalues('002','bbb','11','m');

insertintostudentvalues('003','cff','13','f');

createtableaudit_student

user_namevarchar(10),

table_namevarchar(10),

delnumber(10),

insnumber(10),

updnumber(10),

constraintpk_audit_studentprimarykey(user_name,table_name)

);

insertintoaudit_studentvalues('user1','student','0','0','0');

select*fromaudit_student;

USER_NAMETABLE_NAMEDELINSUPD

--------------------------------------------------

user1student000

createorreplacetriggeraudit_student

afterdeleteorinsertorupdateonstudent

foreachrow

begin

ifdeletingthen

updateaudit_studentsetdel=del+1

whereuser_name=userandtable_name='student';

elseifinsertingthen

updateaudit_studentsetins=ins+1

whereuser_name=userandtable_name='student';

else

updateaudit_studentsetupd=upd+1

whereuser_name=userandtable_name='student';

endif;

end;

insertintostudentvaluse('007','jbd','80','m');

USER_NAMETABLE_NAMEDELINSUPD

--------------------------------------------------

user1student010

deletefromstudentwheresno='003';

USER_NAMETABLE_NAMEDELINSUPD

--------------------------------------------------

user1student110

updatestudentsetsname='ooo'

wheresno='001';

USER_NAMETABLE_NAMEDELINSUPD

--------------------------------------------------

user1student111

3.为教师表teacher定义完整性规则:

“职称(POS)为教授时其工资(SAL)不得低于1000元,如低于1000,自动改为1000元”

要求:

1)建立教师表teacher(包含POS、SAL等属性)

2)输入必要的数据;

3)定义上述触发器

4)更新职称为教授的元组的工资,按照大于1000和小于1000分别进行操作;

5)插入支撑位教授的数据行,按照大于1000和小于1000分别进行操作;

createtableteacher

Tnonumber(10)primarykey,

tnamevarchar(10),

posvarchar(10),

salnumber(10)

);

insertintoteachervalues('001','aaa','教授','10000');

insertintoteachervalues('002','bbb','教授','100');

insertintoteachervalues('003','mhg','新手村','10');

select*fromteacher;

tableTEACHER已创建。

1行已插入。

1行已插入。

1行已插入。

TNOTNAMEPOSSAL

----------------------------------------

1aaa教授10000

2bbb教授100

3mhg新手村10

createorreplacetriggerupdate_sal

beforeinsertorupdateofsal,posonteacher

foreachrow

when(new.pos='教授')

begin

If:

new.sal<1000then

:

new.sal:

=1000;

Endif;

End;

TRIGGERupdate_sal已编译

insertintoteachervalues('004','emma','老师','2000');

insertintoteachervalues('007','jsb','教授','999');

select*fromteacher;

1行已插入。

1行已插入。

TNOTNAMEPOSSAL

----------------------------------------

1aaa教授10000

2bbb教授100

3mhg新手村10

4emma老师2000

7jsb教授1000

 

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

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1