一、Oracle视图
视图是虚表,没有具体物理数据,是通过实体表的一种计算映射逻辑。主要就是为了方便和数据安全;
实际当中的数据依然存在我们的实际表里面,只不过取数据的时候根据这个视图(子查询)从实际当中的表来查,把它当成一个表来用;
1.创建视图:
给用户授予创建视图的权限:grant create table,create view to scott;
查看当前用户下有哪些视图:select view_name from user_views;
查看用户的角色; select * from user_role_privs;
查看角色对应的权限;SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='DBA';
授予用户dba权限 grant dba to scott;
3.使用视图:
4.只读视图:
Create view 视图名称as 查询语句with read only ;
5.删除视图 drop view v_emp
二、oracle约束条件:
1.非空约束、默认值约束:
给约束起名字:stu_name_nn:
2.唯一约束,unique:
加了唯一约束后,就不能再email这个字段加重复的值了。
unique约束可以加null值,两个null值之间不认为是重复的;
//上面的都是字段级的约束,但是如果说要让名字和eamil的组合不能重复,怎么做?
---表级的约束:
3.主键约束:
主键逻辑意义上唯一标识整条记录。
主键的这个字段:不能为空、必须唯一;
或者:
4.外键约束:
班级表:
stu表的class列,参考class表的ID字段:
注意:
stu表的class这个字段存在外键约束class 的id
被参考字段必须是主键----class 的id必须为主键;主键非空、唯一
另外的写法:
5.check 检查约束
下面这个check约束是name必须为大写:
相当于这样的写法:
create table t_stu(
id number primary key,
name varchar2(20) check (name=upper(name))
)
check用的很少,一般在程序中已经进行验证了。。
三、