每个Oracle数据库包括一个被称为“元数据”的集合,或者说包含用来描述数据库有关数据结构的数据。包含这些元数据的表和视图称为Oracle数据字典。
数据字典中有前缀V$或GV$的表是动态表,它们会不断更新以反映出Oracle数据库当前的状态。静态数据字典表都有一个形如DBA_、ALL_或USER_的前缀,表示该视图中列出的对象范围。
数据库组件 数据库字典中的表和视图
数据库 V$DATABASE
表空间 DBA_TABLESPACE,DBA_DATA_FILES,
DBA_FREE_SPACE
控制文件 V$CONTROLFILE,V$PARAMETER,
V$CONTROLFILE_RECORD_SECTION
数据文件 V$DATAFILE,V$DATAFILE_HEADER,V$FILESTAT,
DBA_DATA_FILES
段 DBA_SEGMENTS
数据范围 DBA_EXTENTS
日志线程、日志组和 V$THREAD,V$LOG,V$LOGFILE
日志序列号
归档状态 V$DATABASE,V$LOG,V$ARCHIVED_LOG,
V$ARCHIVE_DEST
数据库实例 V$INSTANCE,V$PARAMETER,
V$SYSTEM_PARAMETER
内存结构 V$SGA,V$SGASTAT,V$DB_OBJECT_CACHE,V$SQL,
V$SQLTEXT,V$SQLAREA
后台进程 V$BGPROCESS,V$SESSION
-----------------------------------------------------------------------------
数据字典就是一个用描述数据库中表的字段名,字段长度,字段说明等信息的文挡;
--------------------------
数据词典是对数据库里字段的一种描述,说明
--------------------------
数据字典就是存储数据库中基本元素的一个集合!它可以存储基本表的数据结构,存储过程,等等...
-------------------------
数据字典是一张表,记录某些数据库的信息
-------------------------
数据字典都包括些什么东西?格式怎么样子的?
最好能给个实例 问题点数:20、回复次数:4Top
1 楼summerICEREDTEA(从基础学起)回复于 2005-07-08 14:54:29 得分 5
use northwind
go
select name from sysobjects where xtype = 'u'Top
2 楼phantomMan()回复于 2005-07-08 17:26:53 得分 5
数据字典 (data dictionary)
存储在目录中的一组系统表,包括数据库结构和相关信息的定义(如权限)。
数据字典分为两种:
一位DBMS里面的 向SQL 中的某些 sys表 里面记录着系统字段的定义关系 触发器 视图 存储过程……
二为 用户的数据字典 相当于在系统的上面进行加工 用与对用户对象进行描述和管理等等
Top
3 楼bugchen888(臭虫)回复于 2005-07-08 18:31:58 得分 5
对数据库中各种对象的信息,如
dbo.syscolumns 记录table中列、存储过程中的参数、index中的列
dbo.syscomments 记录存储过程、视图等的创建语句
dbo.sysdepends 记录对象之间的依赖关系
dbo.sysfilegroups 记录文件组的信息
dbo.sysfiles 记录数据文件的信息
dbo.sysfiles1 。。。。。
dbo.sysforeignkeys 记录外键的信息
dbo.sysfulltextcatalogs 记录全文索引的信息
dbo.sysfulltextnotify 。。。。。
dbo.sysindexes 记录索引和相关table的信息
dbo.sysindexkeys 。。。。。
dbo.sysmembers 。。。。。
dbo.sysobjects 记录所有数据库对象
dbo.syspermissions
dbo.sysproperties
dbo.sysprotects
dbo.sysreferences
dbo.systypes 记录数据库中所有数据类型的信息
dbo.sysusers 记录数据库中所有用户的信息Top
4 楼bugchen888(臭虫)回复于 2005-07-08 18:34:45 得分 5
详细的格式和含义可以看帮助文件中的:T-SQL参考----系统表
如:
syscolumns
每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。
Oracle 高级编程
实际上,您希望知道的关于Oracle数据库的各种信息都可以通过参考数据字典而得到。本章从概念的角度思考数据字典,然后,再研究其结构及内容。最后,通过讨论当在Oracle环境中进行编程的时候,您是否可以利用数据字典作为结束。
如果已经使用了另外的关系型数据库管理系统,您或许会发现对数据字典概念性的描述已经非常熟悉了。换而言之,如果在编程过程中,始终带有文件系统,我们希望您会发现概念性的讨论是新的,并且是很有启发的。
6.1 数据字典的概念
每个编程环境都有两个基本成分:程序逻辑—— 程序需要进行的工作说明—— 及数据。可以在程序内部,或者持久稳固地在外部以变量的方式临时保存数据,如文件或者数据库中。传统的文件结构需要开发员进行理解,然后描述文件结构,以使程序可以适当地访问,并且处理文件的字段或者记录。但是,在Oracle关系型数据库内部,整个数据库结构(包括它的表、视图、索引、用户、安全规则等)存储在一组特殊的表及视图中,称其为数据字典。
Oracle数据字典由特殊的用户账户所拥有,称其为SYS。SYS账户与Unix系统的根超级用户是一样的。通常开发员将永远不需要与共享数据库进行连接,作为特权账户。甚至不鼓励数据库管理员使用SYS账户进行任何工作,但是仅有很少的操作需要该等级的能力。如果您既是开发人员,又是DBA,或许在Oracle数据库的个人复制上,需要理解当作为SYS进行连接的时候,进行交互式的工作的潜在危机。
另外一个关于Oracle数据字典的普通条目将它的表存储在一些特殊的表空间(如SYSTEM以及SYSAUX)中。在这些特殊的表空间中,永远不创建其他的应用程序数据库对象。
Oracle数据字典的关键在于可以使用相同的SQL语言,在数据库内部访问应用程序的数据结构,对其进行访问。通常,直接地访问字典限于SELECT语句(永远不针对字典对象发布INSERT、UPDATE或者DELETE语句)。通过特殊的SQL语句间接地修改数据字典,通常称其为数据处理语言(DML)命令。DML语句,如CREATE TABLE、DROP INDEX、GRANT等,需要特殊的许可。它们通常由开发机构中的DBA来执行,该机构在DBA及开发人员之间进行责任分配。为了建立并且维护自己的数据库环境,独立地进行工作的学生或者开发人员将必须学习SLQ DML命令。
posted on 2007-10-11 23:19
谭明 阅读(1191)
评论(0) 编辑 收藏 所属分类:
Oracle