Oracle数据字典中查看约束信息/约束相关笔记
1、我们创建的对象可以从"USER_"开通的视图中查看。如果在模式中创建了10张表,那么从USER_TABLES中查询将返回10行,每一行是关于一张表的特性信息
USER_TABLES不能查看非当前用户模式下创建的表。
ALL_TABLES视图不但显示当前用户模式下创建的表,而且显示授权能够访问的表信息
我们关心的视图以下列前缀命名:
·USER_ 当前用户模式下创建的对象
·ALL_ 当前用户模式下创建的对象加上当前用户能访问的其他用户创建的对象。ALL视图常常包含一个"OWNER"列,反映出能够访问的对象的所有者。在USER_TABLES表中不能看到OWNER列是因为你就是在这个视图中所有表的所有者;在ALL_TABLES中有一个OWNER字段。
·DBA_ 它提供了整个数据库的信息。包括数据库中所有表的名字和拥有者——包括SYS模式下的基本表
这些前缀在限制我们想看到的、需要看到的、应当被允许看到的范围上是一个帮助。查看当前模式下创建的表,查询USER_TABLES;
查看所有我们创建的表以及被授权可以从其他用户模式下访问的表,查询ALL_TABLES;
具有DBA或SELECT_CATALOG_ROLE角色的用户可以查询DBA_TABLES来查询数据库中所有表的列表;
不是所有视图下都有一个USER、ALL、和DBA前缀,有一些视图仅存在于dba视图范围。比如:DBA_DATA_FILES。
在开发环境中有时会访问DBA视图,允许开发人员探究Oracle数据字典是没有害处的。你可以在不拥有DBA角色的情况下获得这个权限。一般,把CONNECT和RESOURCE角色给应用开发者,他不能访问这些,你可以把SELECT ANY TABLE权限或SELECT_CATALOG角色赋给一个用户,这样他将被允许访问整个数据字典。
一个人对数据字典理解的越多,越能接触到数据库中复杂的操作,越能对SQL语句优化敏感。
2、数据字典视图:概要
在数据字典视图中有一些隐含的关系。发现这些关系常常是使用SQL查询对数据字典验证的结果,幸运的是,在数据字典中有许多使用名称的特征。
例如:USER_TABLES表中每一个表包含一个单独的行。每一行包含一张表的详细信息,比如表的物理存储参数。这些数据提供的扩展信息告诉你表是怎么增长的。
USER_TAB_COLUMNS视图中在USER_TABLES表中的每一张表的每一行包含一条记录。如果一张表有10个字段,那么,你将在USER_TAB_COLUMNS表中找到10行记录,是关于每一字段的详细信息。比如字段数据类型。字段名TABLE_NAME在USER_TABLE 和USER_TAB_COLUMNS表中都有,因此可以很容易的把他们连接起来。
USER_OBJECTS 用户对象视图
ALL_OBJECTS 所有对象视图
DBA_OBJECTS DBA对象视图
USER_SEQUENCES 用户序列对象视图,在USER_SEQUENCES的记录也会出现在USER_OBJECTS表中
3、约束视图
有两个数据字典视图提供了约束的详细信息。USER_CONSTRAINTS和USER_CONS_COLUMNS.
一张表可能有也可能没有约束,对于一张表的每一个约束在USER_CONSTRAINTS中都有一条记录描述这个约束。包括约束应用到的表名称。如果你知道约束名想知道约束类型,查询USER_CONSTRAINTS表。这个视图描述了约束的定义。它不提供约束定义在哪些字段名称上。
在USER_CONS_COLUMNS视图中显示约束的字段名称。如果主键是个联合主键,这个视图中将有这个约束的两条记录。联合主键的每一个字段对应一条记录。每一条记录通过POSITION(在联合主键中的位置)来区别。
USER_CONSTRAINTS 和USER_CONS_COLUMNS都有字段CONSTRAINT_NAME 和TABLE_NAME.
---------------------------------------------------------------------
USER_CONSTRAINTS USER_CONST_COLUMNS
---------------------------------------------------------------------
CONSTRAINT_NAME CONSTRAINT_NAME
CONSTRAINT_TYPE TABLE_NAME
TABLE_NAME COLUMN_NAME
POSITION
----------------------------------------------------------------------
Oracle数据字典中查看约束信息/约束相关笔记相关推荐
- oracle删除字段约束条件,Oracle 数据库中关于对表字段约束的操作(设置、删除、查询)...
Oracle 数据库中关于对表字段约束的操作(设置.删除.查询) 1. 给表的单个字段加约束 SQL> ALTER TABLE 表名 ADD UNIQUE(字段名); 2. 删除表的单个字段约束 ...
- linux内核4.14.10查看网卡型号,Linux中查看硬件信息命令
Linux中查看硬件信息命令 1, 主板信息 .查看主板的序列号 -------------------------------------------------- #使用命令 dmidecode ...
- linux 查看numa信息,Linux中查看NUMA信息
Linux中查看NUMA信息 2015-03-19 本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢. 声明: 本博客欢迎转发,但请保留原作者信息! 新浪 ...
- 如何在Android Studio中查看方法信息?
本文翻译自:How can I view method information in Android Studio? In Eclipse, when you hover your mouse ove ...
- idea中查看maven信息
本文来说下idea中如何查看maven中的信息. 文章目录 idea中查看maven信息 idea中查看maven信息 idea中查看maven信息
- linux查看设备在哪个cpu上,如何在linux中查看cpu信息、机器硬件型号
原标题:如何在linux中查看cpu信息.机器硬件型号 # cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 8 Intel(R) Xeon( ...
- linux怎么看go写的程序进程,Linux中查看进程状态信息-Go语言中文社区
Linux中查看进程状态信息 一.常用命令总结 ps -l 列出与本次登录有关的进程信息: ps -aux 查询内存中进程信息: ps -aux | grep *** 查询***进程的详细 ...
- Mac电脑终端下查看电脑信息的相关指令
Mac电脑终端下查看电脑信息的相关指令 //1.查看系统内核名称: ishios-MacBook-Pro:~ shixiongwei$ uname -s Darwin//2.网络主机名: ishios ...
- Linux中查看进程状态信息
Linux中查看进程状态信息 一.常用命令总结 ps -l 列出与本次登录有关的进程信息: ps -aux 查询内存中进程信息: ps -aux | grep *** ...
最新文章
- McAfee----McAfee 2008 中文版
- Https协议基本分析
- angular2--pipe管道使用
- Python import以及os模块
- 特斯拉花式作妖:停售Model S标准续航版 国内官网已下架
- 哈工大-基于内核栈切换的进程切换
- 【java】彩票中奖码生成器:java.util.Random里的方法public int nextInt(int bound)
- mikrotikROS路由配置L2TP
- 鼓励参与计算机考试宣传标语,考试宣传标语34句
- 新浪微博、腾讯微博、QQ空间、人人网、豆瓣 一键分享API代码参数
- 《 HarmonyOS实战—HarmonyOS(鸿蒙)开发初体验,华为如何引领物联网时代》
- 市面上微型计算机的主频,目前市面上最大屏幕的手机,你知道是哪款吗?
- 安装软件—用安装包形式安装
- 2021-09-07 停课集训R8解题报告
- 以DA方式通过opcdaauto.dll访问opc服务器异步操作异常0x80040200问题
- 局域网内配置Outlook 2007支持收发Domino 8.5邮箱
- 苹果切换输入法_轻松搞定缅甸语手机输入法(苹果篇)
- 【考研初试】复习规划以及推荐资料/老师
- 第十二届蓝桥杯(2021年)模拟赛 Python组(第一期) 题目+个人解答
- Java--微信支付--小程序支付--v3版--完整的代码例子