Oracle复习约束以及视图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle复习约束以及视图相关的知识,希望对你有一定的参考价值。


Oracle复习(四)

约束 视图

约束
  • 约束:对表的强制规定
  • 主键约束:表示唯一的 ,不能为空
  • 唯一约束:表示唯一的
  • 非空约束:表示非空
  • 检查约束:检查一个列的内容是否合法
  • 外键约束:外键约束定义在具有父子关系的子表中,外键约束使得子表中的列对应父表的主键列,用以维护数据库的完整性。
* 建立主键约束:

列级别约束:
(1)create table person(
pid number(5) primary key,
pname varchar2(20),
page varchar2(3)
psex varchar2(4)
);

表级别约束:
(2)CONSTRAINT person_pid_pk PRIMARYKEY(pid);



* 建立唯一约束:

列级别约束:
在行尾添加 unique

表级别约束:
CONSTRAINT person_pname_uk UNIQUE(pname);



* 建立非空约束:

只有列级别约束
在行尾添加 not null




* 建立检查约束:
列级别约束:
在行尾添加 check(page between 0 and 150), check(psex in(男, 女)),

表级别约束:
CONSTRAINT person_page_ck check(page between 0 and 150);



* 建立外键约束:
列级别约束:
create table employee(
empno number(5),
ename varchar2(10),
deptno number(5) reference department(deptno)
) ;、


表级别约束:
CONSTRAINT employee_deptno_fk foreign key(deptno) references department(deptno);



* 查看约束:
select *
from user_constraints
where table_name = emp

select constraint ,constraint _type,table_name
from user_constraints
where table_name = emp




* 追加约束:
ALTER TABLE 表名 ADD(CONSTRAINT的内容粘贴过来即可);


* 删除约束:
ALTER TABLE 表名 drop 表级别约束的名字 ;
ALTER TABLE 表名 drop primary key即可 ;


* 约束的禁用与启动:
ALTERTABLE 表名 DISABLE(禁用) CONSTRAINT 约束名;
ALTERTABLE 表名 ENABLE(启用) CONSTRAINT 约束名;
视图:
  • 视图: 获取一个或者多个表中的数据集合。
* 创建视图:

CREATE VIEW 视图名 AS SELECT 语句.... (必须在sys账号下)

create [or replace(若视图存在则修改视图)]
[force(不管有没有表 都会传女鬼剑视图,表不存在 视图为空) unforce(只有表存在时 才会创建视图)]
view 视图名
as select 语句
[(with check option)/ (with read only) 约束 ];

注意: 可以在select语句中起别名,视图操作和表相同




* 删除视图:
drop view 视图名;
  • 同义词:创建同义词可以简化对象访问(对象的另一个名字)。
  • 同义词能够:
  • 使用户更加方便的引用另一个用户的表
  • 使对象名字变短
* 创建同义词:

CREATE SYNONYM 同义词名 FOR scott.emp;


* 删除同义词:

DROP SYNONYM 同义词名;


以上是关于Oracle复习约束以及视图的主要内容,如果未能解决你的问题,请参考以下文章

简述oracle视图

oracle操作表的sql复习

Oracle --- 约束视图序列同义词

Oracle --- 约束视图序列同义词

在oracle中如何查询一张表的所有数据结构,包括字段,视图,索引,约束

oracle数据库表约束视图索引—该记录为本人以前微博的文章