您的位置:首页 > 数据库 > Oracle

史上最全讲解:oracle数据库(续)

2020-01-15 11:42 1131 查看

史上最全讲解: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.非正常关闭

  • 点赞
  • 收藏
  • 分享
  • 文章举报
hulincup 发布了21 篇原创文章 · 获赞 4 · 访问量 312 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: