Oracle-SQL05
来源:互联网 发布:快速选择算法求中位数 编辑:程序博客网 时间:2024/04/29 13:08
视图
- 视图是数据库对象之一,视图在SQL语句中体现的角色与表相同,但视图不是真实的表,而是一个查询语句对应的结果集
- 视图分为:简单视图:查询语句基于单表建立,不包含任何函数和表达式,视图是基表的子集
复杂视图:查询语句基于单表建立,包含函数和表达式分组等操作
连接视图:查询语句基于多表建立,也算是复杂视图的一种 - 当视图对应的子查询的字段含有函数或表达式时,必须对该字段定义别名,那么视图该字段使用别名作为字段名
- 创建视图: CREATE VIEW v_基表名_过滤条件 AS 查询语句
覆盖视图的查询条件: CREATE OR REPLACE VIEW v_基表名_过滤条件 AS 查询语句 - 视图作用:简化复杂查询,限制数据访问
- 对简单视图可以进行DML操作,但是复杂视图不可以,对视图进行DML操作就是对视图数据来源的基表进行的DML
*当插入一条视图看不见的数据时,会对基表造成”污染”,更新数据同样会对基表造成污染,更新后数据对于视图而言不可控,删除数据不存在该问题
*WITH CHECK OPTION:检查选项
为视图添加检查选项,可以避免对视图操作后视图对数据不可控的情况,当添加检查选项后,对视图进行:INSERT:插入的数据必须视图可见 UPDATE:更新后视图必须对数据可见
*WITH READ ONLY:只读选项 为视图添加只读选项,添加后该视图不允许执行DML操作 - 复杂视图不可进行DML操作
- DROP VIEW 视图名:删除视图不会对视图数据来源的基表做任何操作
- 和视图相关的数据字典: 在数据字典USER_OBJECTS中查询所有视图名称,
在数据字典USER_VIEWS中查询指定视图,
在数据字典USER_UPDATABLE_COLUMNS中查询视图 - 和表有关的数据字典:USER_TABLES:所有已创建过的表
- DROP VIEW 视图名 删除视图
序列
- 数据库对象之一,可以按照指定的规则生成一系列的数字,序列生成的数字通常是为了某张表的主键提供值的
- 创建序列: CREATE SEQUENCE 序列名 START WITH 开始的序列值 INCREMENT BY 步进序列值
- 序列支持两个伪列:
*NEXTVAL:让序列生成一个数字,使用序列最后生成的数字加上步长得到的,新创建的序列调用时返回START WITH指定的值
*CURRVAL:获取序列当前数字(即最后一次通过NEXTVAL生成的数字),新创建的序列必须先至少执行一次NEXTVAL以后才可使用CURRVAL
*NEXTVAL会导致序列增长,而且增长后不能获取原来生成过的值 - DROP SEQUENCE 序列名 删除序列
索引
- 数据库对象之一,为某张表的某些字段添加索引可以调高表的查询,排序,去重等操作的效率
- 索引的算法和维护是数据库自行维护的,我们不能干涉,只需告诉数据库是否创建索引即可
- 当执行某些SQL时数据库会自行使用可以索引来提高执行效率
- ALTER INDEX 索引名 REBUILD 重建索引
- DROP INDEX 索引名 删除索引
约束
- 约束是在数据表上强制执行的一些数据校验规则,当执行DML操作时,数据必须符合这些规则,如果不符合则无法执行
- 约束作用:可以保证表中数据的完整性,保证数据间的商业逻辑
- NOT NULL:简称NN 非空约束—列级约束
*用于确保字段值不为空
*添加NN ALTER TABLE 表名 MODIFY(字段名 字段类型 NOT NULL) - UNIQUE:简称UK 唯一性约束—列级约束 表级约束
*用于保证字段或者字段的组合不出现重复值,当给表的某个列定义了唯一约束条件,该列的值不允许重复,但允许是NULL值
*添加UK ALTER TABLE 表名 ADD CONSTRAINT 表名_字段名_uk UNIQUE(字段名) - PRIMARY KEY:简称PK 主键约束 —列级约束
*在主键约束下的单字段或者多字段组合上不允许有空值,也不允许有重复值
*一个表上只允许建立一个主键,而其它约束条件则没有明确的个数限制
*添加PK ALTER TABLE 表名 ADD CONSTRAINT 表名_字段名_pk PRIMARY KEY(字段名) - FOREIGN KEY:简称FK 外键约束 —列级约束 表级约束
*定义在两个表的字段或一个表的两个字段上,用于保证相关两个字段的关系 - CHECK:简称CK 检查约束 —列级约束表级约束
*用来强制在字段上的每个值都要满足Check中定义的条件,当定义了Check约束的列新增或修改数据时,数据必须符合Check约束中定义的条件
*添加CK ALTER TABLE 表名 ADD CONSTRAINT 表名_字段名_check CHECK(约束条件)
0 0
- Oracle-SQL05
- C#与SQL05操作实例
- 又在折腾SQL05的安装
- 1、SQL05-数据库创建、修改、删除
- sql2000 行转列问题(不要用sql05的pivot,只能用sql2000的方法实现)
- 关于SQL05中基于对象所在的数据库或架构等创建新的同义词的举例
- Oracle???
- oracle
- oracle
- oracle
- oracle
- oracle...
- oracle
- oracle
- ORACLE
- Oracle
- ORACLE
- Oracle
- 单源最短路
- 使用restTeamplate来发送restfull请求
- “Human-level concept learning through probabilistic program induction”阅读笔记
- 矩阵分解大全matlab
- 图片的三级缓存和异步加载
- Oracle-SQL05
- 适不适合做技术
- LeetCode 77. Combinations
- <table>表格标签
- Android借鉴支付宝的思路解决 GridView网格线粗细的问题
- window的一些命令操作
- POJ 3264 Balanced Lineup 查询区间最大最小值 基础线状树水题
- 数据库索引擎
- Java IO:阻塞/非阻塞式IO、同步/异步IO