《数据库系统原理》实验报告
实验名称:数据库备份与恢复+数据库安全性+关系数据库完整性实验
任课教师: 霍纬纲 学号: 120341110 姓名: 黄帅 完成日期: ·数据库备份与恢复
一、实验目的:
1通过ORACLE环境,理解关系数据库的备份与恢复概念。
2了解ORACLE的导出与导入。
3了解ORACLE的脱机备份、练级备份及恢复。
二、实验步骤:
1.导出
数据库的逻辑备份包括读一个数据库记录集和将记录写入一个文件中。这些记录的读取与其物理位置无关。实用程序用于完成这种备份,将读取数据库并把输出写入导出转储文件,这是一个二进制的文件。
2.导入
通过导入实用程序,可以实现数据库逻辑恢复,将导出的到的二进制文件导入,以恢复数据库。
3.在ORACLE中新建一个表
4.在cmd中备份
在ORACLE中删除表再在cmd中进行恢复
出现错误:
改正:
·数据库安全性实验
一、 实验目的
1. 通过ORACLE的安全机制,理解关系数据库的安全性;
2. 理解ORACLE环境下如何创建用户,定义角色,分配用户权限;
二、实验内容与步骤
Create user manager
Profile “default”
Indentified by manager
Default tablespace “temporary_data”
Account unlock
Grant sysdba to “manager”;
Grant “connect” to “manager”;
Grant “dba” to “manager”;
Alter user manager grant connect through system’
·数据库完整性实验
一、 实验目的
通过ORACLE的完整性,理解关系数据库的完整性
二、实验内容与步骤
1.创建行级触发器,记录下每个用户对数据库的表进行数据操作的次数
要求:1)建立基本表
2)输入元组
3)以USER1的身份登录,对student表进行增加、删除和修改操作,之后查看表的内容变化
create table student
(
SNO char(10) primary key,
SNAME char(12),
sage number(10),
Ssex char (5)
);
insert into student values('001','aaa','18','f');
insert into student values('002','bbb','11','m');
insert into student values('003','cff','13','f');
create table audit_student
(
user_name varchar(10),
table_name varchar(10),
del number(10),
ins number(10),
upd number(10),
constraint pk_audit_student primary key(user_name,table_name) );
insert into audit_student values('user1','student','0','0','0'); select *from audit_student;
USER_NAME TABLE_NAME DEL INS UPD ---------- ---------- ---------- ---------- ----------
user1 student 0 0 0 create or replace trigger audit_student
after delete or insert or update on student
for each row
begin
if deleting then
update audit_student set del=del+1
where user_name=user and table_name='student';
else if inserting then
update audit_student set ins=ins+1
where user_name=user and table_name='student';
else
update audit_student set upd=upd+1
where user_name=user and table_name='student';
end if;
end;
insert into student valuse('007','jbd','80','m');
USER_NAME TABLE_NAME DEL INS UPD ---------- ---------- ---------- ---------- ----------
user1 student 0 1 0 delete from student where sno='003';
USER_NAME TABLE_NAME DEL INS UPD ---------- ---------- ---------- ---------- ----------
user1 student 1 1 0 update student set sname='ooo'
where sno='001';
USER_NAME TABLE_NAME DEL INS UPD
---------- ---------- ---------- ---------- ----------
user1 student 1 1 1
3.为教师表teacher定义完整性规则:“职称(POS)为教授时其工资(SAL)不得低于1000元,如低于1000,自动改为1000元”
要求:1)建立教师表teacher (包含POS、SAL等属性)
2)输入必要的数据;
3)定义上述触发器
4)更新职称为教授的元组的工资,按照大于1000和小于1000分别进行操作;
5)插入支撑位教授的数据行,按照大于1000和小于1000分别进行操作;
create table teacher
(
Tno number(10)primary key,
tname varchar(10),
pos varchar(10),
sal number(10)
);
insert into teacher values('001','aaa','教授','10000');
insert into teacher values('002','bbb','教授','100');
insert into teacher values('003','mhg','新手村','10');
select *from teacher;
table TEACHER 已创建。
1 行已插入。
1 行已插入。
1 行已插入。
TNO TNAME POS SAL
---------- ---------- ---------- ----------
1 aaa 教授 10000
2 bbb 教授 100
3 mhg 新手村 10
create or replace trigger update_sal
before insert or update of sal,pos on teacher
for each row
when(new.pos='教授')
begin
If :new.sal<1000 then
:new.sal :=1000;
End if;
End;
TRIGGER update_sal 已编译
insert into teacher values('004','emma','老师','2000');
insert into teacher values('007','jsb','教授','999');
select *from teacher;
1 行已插入。
1 行已插入。
TNO TNAME POS SAL ---------- ---------- ---------- ----------
1 aaa 教授 10000 2 bbb 教授 100 3 mhg 新手村 10 4 emma 老师 2000 7 jsb 教授 1000
第二篇:数据库系统课程设计报告
数据库系统课程设计报告
设计题目:通讯录管理子系统
姓 名: 陈江风 学 号: 20060501007 班 级: 信管0602 专 业: 信息管理与信息系统 指导教师: 高英
日期: 20xx年6月16日~20xx年6月28日
数据库系统课程设计报告
济南大学管理学院
1
济南大学管理学院
2
济南大学管理学院
3
济南大学管理学院
4
济南大学管理学院
济南大学管理学院
6