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; 表已分析。
Oracle表与约束关系的更多相关文章
- Oracle表级约束和列级约束
Oracle表级约束和列级约束 1. 表级定义约束 指的是在定义完一个表所有列之后,再去定义所有相关的约束. 注意:not null 约束只能在列级上定义. 2. 列级定义约束 指的是在定义一个表的每 ...
- Oracle—表、约束、索引、表空间、分区、序列、统计信息
表.约束.索引.表空间.分区.序列.统计信息 一.表及其操作 1.创建表 create table 表名 ( 字段名1 字段类型 默认值 是否为空 , 字段名2 字段类型 默认值 是否为空, 字段名3 ...
- Oracle表的约束
表的约束定义:表的约束是 ORACLE 数据库中应用在表数据上的一系列强制性规则 按照约束用途分类: PRIMARY KEY:主键约束 FOREIGN KEY:外键约束 CHECK:检查约束 UNIQ ...
- Oracle 表管理 约束 索引
表的约束与完整性: 1.实体完整性 主键唯一性 2.域完整性 不能向number中插入varchar 3.参照完整性 外键 以别的表的字段作为外键,再插入该表时所插入外键的值必须在被参照表中该字段有那 ...
- Oracle笔记之约束
约束用于保证数据库中某些数据的完整性,给某一列添加一个约束可以保证不满足约束的数据是绝对不会被接受的. 约束主要有那么五种类型:非空约束.唯一约束.主键约束.外键约束.校验约束. 使用如下命令检索某个 ...
- Oracle day05 建表_约束
表的创建 标准的建表语法 : CREATE TABLE [schema.] table (column datatype [DEFAULT expr], ... ); 使用子查询创建表的语法 CREA ...
- oracle之二表和表空间的关系
表和表空间的关系 建一个使用缺省值的表空间SQL> create tablespace a datafile '/u01/data/urpdb/a01.dbf' size 10m; 利用orac ...
- Oracle表名、列名、约束名的长度限制
Oracle数据库版本11.2.0.1.0 Oracle表名.列名.约束名的长度限制 1.查询用户所有的表 select * from USER_TABLES; 2.查询用户所有表的列 select ...
- oracle 表迁移方法 (二) 约束不失效
DB:11.2.0.3.0 在oracle 表迁移方法 (一)中,只是move了一张普通的表,如果表的字段带有主键约束呢 ? [oracle@db01 ~]$ sqlplus / as sysdba ...
随机推荐
- Vim使用技巧(3) -- 可视化模式技巧 【持续更新】
快捷键 Esc / Ctrl + [ / v //切换到普通模式 o //切换高亮选区的光标活动端 y //将光标选中的内容复制到寄存器中 u //将光标选中的字母全部改成小写字母 U //将光标选中 ...
- dynamic web project
- jvm(12)-java内存模型与线程
[0]README 0.1)本文部分文字描述转自“深入理解jvm”,旨在学习“java内存模型与线程” 的基础知识: [1]概述 1)并发处理的广泛应用是使得 Amdahl 定律代替摩尔定律称为计 ...
- day9笔记--文件操作
文件操作 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众所周知,应用 ...
- python greenlet背景介绍与实现机制
并发处理的技术背景 并行化处理目前很受重视, 因为在很多时候,并行计算能大大的提高系统吞吐量,尤其在现在多核多处理器的时代, 所以像lisp这种古老的语言又被人们重新拿了起来, 函数式编程也越来越流行 ...
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)2.2——将Eclipse开发的项目导入到AndroidStudio
问题: 你想要将一个Eclipse ADT项目导入到Android Studio中. 解决方案: Android Studio提供了一个导入向导,可以重写已有的项目. 详细: 在Android Stu ...
- Ubuntu下安装phpMyAdmin
首先添加必要的apt源 1 apt-get update 确保软件包列表是最新的 apt-get upgrade 更新软件包 安装phpMyAdmin apt-get install phpmyadm ...
- coursera 《现代操作系统》 -- 第十一周 IO系统
本周要求 错题 下列I/O控制方式中,哪一个不需要硬件支持? 中断方式 轮询方式 DMA方式 I/O处理机方式 中断方式:中断控制器 轮询方式:CPU不断查询设备以了解其是否就绪 DMA:使用到了 ...
- ffmpeg参数使用说明1
1. ffmpeg.exe -i F:闪客之家闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:11.flv 2. ffmpeg ...
- Model的save方法的使用
在使用类方法创建对象的时候发生save()总提示缺少self参数的错误: class BookInfo(models.Model): #创建书本信息类,继承models.Model booktitle ...