zoukankan      html  css  js  c++  java
  • Oracle表与约束关系

    手动回收表的存储方式:

    SQL> alter table aux_emp deallocate unused; //回收所有未使用的存储空间
    表已更改。
    

     回收aux_emp的存储空间,保留50K未使用的存储空间

    SQL> alter table aux_emp allocate extent(size 100K);
    
    表已更改。
    
    SQL> alter table aux_emp deallocate unused keep 50k;
    
    表已更改。
    

      

    改变表的读写模式

       Oracle在11g之前的版本中实现只读表的方法是通过授权间接实现的,影响面很大。使用文中介绍的只读表(read-only table)技术我们就掌握了细粒度控制表行为的方法。

    重命名表:

       将aux_emp重新命名为aux_employee

    SQL> rename aux_emp to aux_employee;
    
    表已重命名。

    SQL> alter table aux_employee rename to aux_emp;

    表已更改。

      

    维护表

      1.为表和列添加注释

       语法为 comment on table table is 

                 comment on column table.column is

    为aux_emp表和annual_sal列添加注释

        

    SQL> comment on table aux_emp is '辅助员工信息表';
    
    注释已创建。
    SQL> comment on column aux_emp.annual_sal is '员工年工资' ;
    
    注释已创建。
    

      2.删减表

     Oracle 数据库中,删减表有一下3中方法:

         (1)使用Delete

         (2)使用drop删除表后在重建表

         (3)使用truncate删除表中全部数据

          truncate语句可以快速、高效的删除表中的所有记录。truncate 是DDL语句,执行后马上提交,不会产生任何重做日志、回退信息,因此truncate操作语句不能回滚。

    truncate table aux_emp 说明默认选项,被删减表中只会保留由参数Minentents指定的区的最小个数

    truncate table aux_emp drop all storage; 删除数据段

    truncate table aux_emp reuse storage; 被删减表中的所有存储空间都被回收。

      3.删除表

    如果要删除的表中包含被其他外键引用的主键列或唯一性约束列,并且希望在删除该表的同时删除其他表中相关的外键约束。需要使用cascade constraints字句。

     drop table departments cascade constrains;

       在删除一个表时,oracle将进行的操作

       删除表中的所有记录

       删除数据字典中该表的定义

      删除与该表相关的所有索引和触发器。

      依赖于该表的数据库对象处于invalid状态

      为该表定义的同义词不会被删除,但是使用时会报错。

      为该表定义的同义词不会被删除,但是使用时将返回错误。

    如果要回收该表的存储空间,可以使用purge子句

        drop table aux_emp purge;

    4.分析表

     1.使用DBMS_STATS包手机表统计信息。

    SQL> begin
      2  dbms_stats.gather_table_stats('ehr','employees');
      3  end;
      4  /
    
    PL/SQL 过程已成功完成。

      可以使用analyze语句清楚数据字典中表的统计信息

    SQL> analyze table employees delete statistics;
    
    表已分析。
    

      (2)验证表的存储结构

        通过对表存储结构进行完整性验证,用户可以提前知道表中是否存在损坏的数据块。

      analyze table employees validate structure;

    SQL> analyze table employees validate structure;
    
    表已分析。
    
    SQL> analyze table employees validate structure cascade;
    
    表已分析。
    
    SQL> analyze table employees validate structure cascade fast;
    
    表已分析。
  • 相关阅读:
    环形链表II 找环入口
    最短无序连续子数组 复制数组排序后与原数组相比
    和为K的子数组 暴力 或 hash+前缀
    在排序数组中查找元素的第一个和最后一个位置 二分法+递归
    NodeJs 批量重命名文件,并保存到指定目录
    NodeJs 批量图片瘦身,重设尺寸和图片质量并保存到指定目录
    NodeJs 获取照片拍摄日期和视频拍摄日期,并按日期目录存档
    Oracle迁移记录
    Oracle数据库迁移前的准备工作(创建用户并且分配权限及表空间)
    Oracle 11g R2性能优化 10046 event【转载】
  • 原文地址:https://www.cnblogs.com/evencao/p/3179159.html
Copyright © 2011-2022 走看看