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 ...
随机推荐
- [前端开发] 未来趋势“无后端”的web应用开发模式
最近看到前端趋势2013大会上的一篇文章,题目是<各位快看,不用后端>,觉得有点意思,恰好近期的一次讨论及半年前的一次开发实践也涉及到这种模式,简单谈谈我的想法. 不得不说,文章的题目确实 ...
- 集合映射中的映射列表(使用xml文件)
如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List. 在这里,我们正在使用论坛的场景,其中一个问题有多个答案. 在这里,我们使用论坛的场景,其中 ...
- VS+mysql+EF搭建
2016年7月6日更新: vs2010只需要安装mysql的.net connector就可以 vs2012, vs2015都需要安装.net connector + ODBC connector才行 ...
- centos7 笔记本盒盖不睡眠
cd /etc/systemd vi logind.conf 动作包括:HandlePowerKey:按下电源键后的动作HandleSleepKey:按下挂起键后的动作HandleHibernateK ...
- 在Amazon cloud 升级CentOS5.4 到 5.9
升级前一定要备份重要资料,做好最坏的打算,最好的准备! 老板不知道为什么,喜欢升级服务器,劝过好几次都坚持要升级. 好吧,you are boss. 升级前当然免不了google一番.发现CentOS ...
- git的优秀教程
1.csdn地址:http://blog.csdn.net/qq_15037231/article/details/73864293 2.廖雪峰的git教程 地址:https://www.liaox ...
- 队列实现 (双向循环链表 C++)
队列是非常easy的.可是用数组实现可能更好点. . (事实上我认为数组在多个队列的时候更难) 然后我是第一次写双向循环链表.指向太乱了. 我这里是依照自己的想法.建立了一个头节点,一个尾节点,然后依 ...
- ie10 css hack 条件注释等兼容方式整理
点评:ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来 ...
- JavaScript的BOM和DOM
JavaScript的BOM和DOM 1,window对象,所有浏览器都支持window对象,它表示浏览器窗口 BOM(browser Object Model)是指浏览器对象模型,它使JavaScr ...
- 【转】通过SQL Server 2008数据库复制实现数据库同步备份
SQL Server 2008数据库复制是通过发布/订阅的机制进行多台服务器之间的数据同步,我们把它用于数据库的同步备份.这里的同步备份指的是备份服务器与主服务器进行实时数据同步,正常情况下只使用主数 ...