资源描述:
《视图序列索引约束day05》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、视图视图不是表,视图上的数据不是独立维护的视图上的数据来自表视图是一条SELECT语句,结果被赋予一个名字,即视图名字存在就替换1、创建视图:CREATE[ORREPLACE]VIEWview_name[alias[,alias…]]]ASsubquery;例子:CREATEVIEWv_emp_lxl_10ASSELECTempno,ename,sal,deptnoFROMempWHEREdeptno=10;名字前面加v表示为视图2、对视图进行DML操作i.尽量避免用DML(操作数据)操作视图,因为几乎不成功。i
2、i.能执行DML操作的只有简单视图(有很多限制)iii.复杂视图不允许执行DML操作iv.DML操作不能违反基表的约束条件。1、WITHCHECKOPTION避免脏数据通过视图所做的修改,必须在视图的可见范围内2、在WITHREADONLY声明有读来避免对视图的DML操作,带来的影响。3、通过查询user_views获取相关信息i.user_OBJECTS:查询所有视图名称ii.user_views:查询指定视图iii.user_UPDATE_COLUMNS:查询是否允许修改4、删除视图DROPVIEWview_
3、name;序列1.序列是一种用来生成唯一数字值的数据对象2.序列的值由Oracle程序按递增或递减顺序自动生成3.序列是独立的数据库对象,和表是独立的对象,序列并不依附于表4.给主键提供值另一种给主键提供值的方法:1.UUID32位不重复字符串2.SELECTsys_guid()FROMDUAL在Oracle中生成UUID的方法3.在java中生成UUID的方法:Stringuuid=UUID.randomUUID().toString();把–去掉uuid.replaceAll(“-“,””)序列中有两个伪列N
4、EXTVAL:获取序列的下个值CURRVAL:获取序列的当前值当序列创建以后,必须先执行一次NEXTVAL,之后才能使用CURRVAL--删除序列DROPSEQUENCEemp_seq_lxl索引索引记录中存有索引关键字和指向表中数据的指针(地址)提高查询效率不心关心它是怎么使用,只关注建立,要用时,Oracle自己找。索引当中指定的列,在查询时WHERE子句中经常出现的列复合索引也叫多列索引,是基于多个列的索引创建基于函数的索引在执行大小写无关搜索时,可以在经列上建立一个基于UPPER索引:CREATEINDE
5、Xemp_ename_upper_idx_lxlONemp(UPPER(ename));修改和删除索引重建索引:ALTERINDEXidx_emp_ename_lxlREBUILD;删除索引DROPINDEXidx_emp_ename_lxl约束列级约束:在创建表指定列的同时声明的约束。例子:CREATETABLEemplyees(EidNUMBER(6),NameVARCHAR2(30)NOTNULL,SalaryNUMBER(7,2),HiredateDATECONSTRAINTemployees_hired
6、ate_nnNOTNULL);NOTNULL只能是列级约束,表级约束整个表的字段定义已经结束,为表级约束UNIQUE为唯一性约束主键一张表上只能有一个字段加上主键约束,而其它约束条件则没有明确的个数限制ALTERTABLEdept_tcADDCONSTRAINTpk_lxlPRIMARYKEY(deptno);---先建表,在建表后建立外键约束条件ALTERTABLEemployees4_lxlADDCONSTRAINTemployees4_deptno_fk_lxl本表(从表)的外键对主表的主键FOREIGNK
7、EY(deptno)REFERENCESdept_tc(deptno);一般不去设置外键约束,主键约束是必要的。检查约束---员工的薪水必须大于2000元ALTERTABLEemployees4_lxlADDCONSTRAINTemployees4_salary_check_lxlCHECK(salary>2000);--正常插入数据INSERTINTOemployees4_lxl(eid,name,salary,deptno)VALUES(1236,'donnanoble',2500,40);--试图修改职员的
8、薪水为1500元,更新失败UPDATEemployees4_lxlSEtsalary=1500WHEREeid=1236;删除表级约束约束类型约束名字ALTERTABLEemployees4DROPCONSTRAINTemployees4_salary_check约束条件查看约束的数据字典SELECTconstraint_name,constraint_type,cons