Oracle数据库的安全性和完整性控制(2)

(1)SQL> insert into student2 values(9994,'张三',30,'男')
(2)SQL> insert into student2 values(9996,'王五',40,'男');
insert into student2 values(9996,'王五',40,'男')
ORA-02290: 违反检查约束条件 (J2014213985.A2)
(3)SQL> insert into student2 values(9992,'',38,'男');
insert into student2 values(9992,'',38,'男')
ORA-01400: 无法将 NULL 插入 ("J2014213985"."STUDENT2"."SANME")
4.    建立职工表EMP,要求每个职工的应发工资不得超过3000元。应发工资实际上就是实发工资列Sal与扣除项Deduct之和。
        create table EMP(
              sname varchar(10) primary key,
              salary number(10) check(salary<=3000),
              Sal number(10),
              Deduct number(10));
(1)SQL> insert into EMP values('李二',2600,2300,300);
(2)SQL> insert into EMP values('张三',3100,2900,200);
insert into EMP values('张三',3100,2900,200)
ORA-02290: 违反检查约束条件 (J2014213985.SYS_C0039991)
(3)SQL> insert into EMP values('李四',3001,2900,101);
insert into EMP values('李四',3001,2900,101)
ORA-02290: 违反检查约束条件 (J2014213985.SYS_C0039991)

对上述新建立和修改定义的表,每个表输入3条数据,其中1条数据符合完整性约束,2条违反约束条件的,验证和体会Oracle的实体完整性和参照完整性。

实验分析:

在本次数据库实验中,我完成了实验要求。本次实验内容是关于sql语言进行用户权限的授予和回收,实体完整性,参照完整性及用户定义的完整性的定义。在课堂上,老师讲授了oracle的安全性和完整性控制相关知识,我也用笔练习写了sql语句,但是感觉印象还不是很深刻,有些不太理解。在实验课中我练习了sql语句,对课堂上所学的知识有了更深的理解,收获很多。实验中,我遇到了一些问题,通过查询资料和老师同学帮助最终解决了。遇到的问题如下:

1、在授予权限时,grant <权限> on table <表名> to <用户> ;这样写后一直报错,后来同学告诉我不能加table ,因为oracle的数据库与数据库标准原理有一点区别,修改后,果然对了。

2、在切换用户时,我不知道怎么切换,记得老师讲过,就是想不起来具体怎么做,后来问了同学,同学告诉我这样写 con user/pass@orcl;  这样写果然切换用户成功了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/dcdb2d81e77b3373318d74ee56712821.html