视图序列索引约束day05

上传人:自*** 文档编号:81008844 上传时间:2019-02-20 格式:DOC 页数:8 大小:445.32KB
返回 下载 相关 举报
视图序列索引约束day05_第1页
第1页 / 共8页
视图序列索引约束day05_第2页
第2页 / 共8页
视图序列索引约束day05_第3页
第3页 / 共8页
视图序列索引约束day05_第4页
第4页 / 共8页
视图序列索引约束day05_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《视图序列索引约束day05》由会员分享,可在线阅读,更多相关《视图序列索引约束day05(8页珍藏版)》请在金锄头文库上搜索。

1、视图视图不是表,视图上的数据不是独立维护的视图上的数据来自表视图是一条SELECT语句,结果被赋予一个名字,即视图名字存在就替换1、 创建视图:CREATE OR REPLACE VIEW view_namealias,aliasAS subquery;例子:CREATE VIEW v_emp_lxl_10AS SELECT empno,ename,sal,deptno FROM empWHERE deptno=10;名字前面加v表示为视图2、 对视图进行DML操作i. 尽量避免用DML(操作数据)操作视图,因为几乎不成功。ii. 能执行DML操作的只有简单视图(有很多限制)iii. 复杂视图

2、不允许执行DML操作iv. DML操作不能违反基表的约束条件。3、 WITH CHECK OPTION 避免脏数据通过视图所做的修改,必须在视图的可见范围内4、 在WITH READ ONLY声明有读来避免对视图的DML操作,带来的影响。5、 通过查询user_views获取相关信息i. user_OBJECTS:查询所有视图名称ii. user_views:查询指定视图iii. user_UPDATE_COLUMNS:查询是否允许修改6、 删除视图 DROP VIEW view_name;序列1. 序列是一种用来生成唯一数字值的数据对象2. 序列的值由Oracle程序按递增或递减顺序自动生成

3、3. 序列是独立的数据库对象,和表是独立的对象,序列并不依附于表4. 给主键提供值另一种给主键提供值的方法:1. UUID 32位不重复字符串2. SELECT sys_guid() FROM DUAL 在Oracle 中生成UUID的方法3. 在java中生成UUID的方法:String uuid=UUID.randomUUID().toString();把 去掉uuid.replaceAll(“-“,”)序列中有两个伪列NEXTVAL:获取序列的下个值CURRVAL:获取序列的当前值当序列创建以后,必须先执行一次NEXTVAL,之后才能使用CURRVAL-删除序列DROP SEQUENCE

4、 emp_seq_lxl索引索引记录中存有索引关键字和指向表中数据的指针(地址)提高查询效率不心关心它是怎么使用,只关注建立,要用时,Oracle自己找。索引当中指定的列,在查询时WHERE子句中经常出现的列复合索引也叫多列索引,是基于多个列的索引创建基于函数的索引在执行大小写无关搜索时,可以在经列上建立一个基于UPPER索引:CREATE INDEX emp_ename_upper_idx_lxl ON emp(UPPER(ename);修改和删除索引重建索引:ALTER INDEX idx_emp_ename_lxl REBUILD;删除索引DROP INDEX idx_emp_ename

5、_lxl约束列级约束:在创建表指定列的同时声明的约束。例子:CREATE TABLE emplyees(Eid NUMBER(6),Name VARCHAR2(30) NOT NULL,Salary NUMBER(7,2),Hiredate DATECONSTRAINT employees_hiredate_nn NOT NULL );NOT NULL 只能是列级约束,表级约束整个表的字段定义已经结束,为表级约束UNIQUE为唯一性约束主键一张表上只能有一个字段加上主键约束,而其它约束条件则没有明确的个数限制ALTER TABLE dept_tc ADD CONSTRAINT pk_lxl P

6、RIMARY KEY(deptno);-先建 表,在建表后建立外键约束条件ALTER TABLE employees4_lxl ADD CONSTRAINT employees4_deptno_fk_lxl 本表(从表)的外键对主表的主键FOREIGN KEY(deptno) REFERENCES dept_tc (deptno);一般不去设置外键约束,主键约束是必要的。检查约束-员工的薪水必须大于2000元ALTER TABLE employees4_lxl ADD CONSTRAINT employees4_salary_check_lxlCHECK(salary2000);-正常插入数据

7、INSERT INTO employees4_lxl(eid,name,salary,deptno)VALUES(1236,donna noble,2500,40);- 试图修改职员的薪水为1500元,更新失败UPDATE employees4_lxl SEt salary=1500 WHERE eid=1236;删除表级约束约束类型约束名字ALTER TABLE employees4 DROP CONSTRAINT employees4_salary_check约束条件查看约束的数据字典SELECT constraint_name , constraint_type , constraint_condition FROM user_constraints WHERE table_name= EMPLYEES4;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号