史上最全讲解:oracle数据库(续)
史上最全讲解:oracle数据库(续)
视图与索引
- 视图(可以理解为一个虚拟的表作为别名),建立在表和结果集之间的,虚拟表
–不建议修改试图中的数据,如果要修改去对应的表中修改
–授权: grant dba to 用户名;
–回收: revoke dba from 用户名;
–创建试图:create or replace view 视图名 as select语句 [with read only]; - 索引
–给某个表中的某个字段添加索引, 根据这个字段进行查询效率高
–帮助提高检索|查询的效率
–前提: 大量数据下 查询
–目录,索引是数据库对象之一,做增删需要维护更新,会影响效率
–oracle为主键默认添加索引
–create index 索引名 on表名 (字段列表…)
create index index_emp_sal on emp(sal);
–drop index 索引名
drop index index_emp_sal;
select * from emp where sal>1500;
表设计
- 满足三范式 表名 字段名 类型 表和表之间的关系
表和表之间的关系
一对一 很少用
一对多|多对一 使用主外键关联关系
多对多 使用中间表定义量表之间数据关系 - 创建表
–1)创建表,但是不定义约束(字段的要求)
create table 表名(
字段名 字段类型,
字段名 字段类型,
…
) - 添加约束的几种方式:
–1.字段后直接添加,不指定名字
–2.字段后直接添加,指定约束名,不需要执行为哪一个字段 --推荐
–3.创建表结果结束之前添加约束,需要指定为哪一个字段添加,添加什么约束,执行约束名 --推荐
–4.创建表结果结束之后追加约束,需要执行约束名,添加约束的字段和表,添加什么约束
–主外键关系
–主表|父表 从表|子表
–从表中的外键关联主表中的主键字段
–当两张表存在主从表关系,删除表的时候,需要注意:
–默认先删除从表,再删除主表
–cascade constraints 删除主表的同时级联删除主从表之间约束关系
–当两张表存在主从表关系,删除数据的时候,需要注意:
–删除主表中没有被从表引用的数据,可以直接删除
–删除主表中有被从表引用的数据,不可以直接删除,解决方案:
–1.先删除从表中引用了主表这条数据的那些从表数据,然后再删主表中的这一条没有被从表引用的数据
–2.删除主表中这个被从表中引用的数据的同时,级联删除从表中引用的那些数据
–3.删除主表中这个被从表中引用的数据的同时,把从表中的外键字段的值设置为null
–创建表
–创建表+添加约束(字段的后面添加约束,不指定约束名) 优点:编写简单 缺点:不便于后期维护
–字段名 类型 primary key
–创建表+添加约束(字段的后面添加约束,指定约束名) 优点:便于后期维护
–字段名 类型 constraints 约束名字 primary key,
–创建表+添加约束(表结构结束之前进行添加,指定约束名,添加约束的字段,添加什么约束)
– constraints 约束名 primary key(添加约束的字段)
–创建表结构结束后追加约束 给哪一个表 哪个字段 追加什么约束 约束名是什么
– alter 表名 add constraints 约束名 unique(字段名)
–已有的表结构进行拷贝
–只拷贝表结构: create table 表名 as select 字段列表 from 已有表 where 1!=1;
-序列工具,用来管理数据库表中某些类似主键的number类型的字段的值
–创建 create sequence 序列名 start with 起始值 increment by 步进;
create sequence sq_B_bid start with 1000 increment by 2;
–序列工具第一次使用,必须先使用以此nextval
select sq_B_bid.currval from dual; --当前值
select sq_B_bid.nextval from dual; --最新值
–注意: 序列工具可以为多个字段设置值使用,序列工具的删除不影响表中的数据
–删除序列
drop sequence sq_B_bid;
事务
–什么是事务:事务是指作为单个逻辑工作单元执行的一组相关操作。
–事务的特点:这些操作要求全部完成或者全部不完成。
–事务的作用:使用事务是为了保证数据的安全有效。
–事务的特性: ACID 原子性 一致性 隔离性 持久性
–事务的结束:
–成功: 1.commit 2.正常关闭客户端 3.DDL 4.DCL 5.设置自动提交
–失败: 2.rollback 2.非正常关闭
- 点赞
- 收藏
- 分享
- 文章举报
- 史上最全的Android的Tab与TabHost讲解
- 最全的Oracle数据库备份与还原命令
- 手动创建oracle数据库详细讲解
- 最强express 讲解--官网例子最全
- 讲解Oracle数据库中的数据字典及相关SQL查询用法
- 史上最全ajax全套讲解
- [Android实例] 史上最全的Android的Tab与TabHost讲解
- 史上最全ajax全套讲解
- Ajax 最全讲解
- 史上最全的Android的Tab与TabHost讲解
- 详细讲解oracle数据库管理员的工作职责
- 详细讲解Oracle数据库中的临时表用法
- 史上最全之Spring Data详细讲解
- 实例讲解Oracle数据库设置默认表空间问题
- Oracle数据库中建立索引的基本方法讲解
- 史上最全的Android的Tab与TabHost讲解
- 史上最全的Spring事务讲解
- 详细讲解Oracle数据库中不同的恢复特性
- Oracle数据库的启动和关闭顺序实例讲解
- Oracle数据库中基本的查询优化与子查询优化讲解