关于数据库字典的概念

在数据库设计中,与同事的讨论中涉及到了数据库字典这个名词。由于不是DBA出身,以前进行数据库设计时,也没有对这个概念进行详细了解,所以讨论时有点混淆,总感觉似是而非。上网详查了一番.....

 

http://zh-cn.tech-faq.com/data-dictionary.shtml 资料来源。

 

 

什么是数据字典?

数据字典是一个预留空间数据库是用来存储数据库本身的信息。

 

数据字典中可能包含的信息,如:

  • 数据库的设计资料
  • 预存的SQL程序
  • 用户权限
  • 用户统计
  • 数据库进程信息
  • 数据库的增长统计
  • 数据库性能统计

 

看到这里,就比较清楚了,然后再参考http://jonescheng.javaeye.com/blog/183638,从中得知,各个不同数据库的数据字典有着自己的定义方式。内容如下:

理解什么是数据字典

每个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

-----------------------------------------------------------------------------

数据字典就是一个用描述数据库中表的字段名,字段长度,字段说明等信息的文挡;
--------------------------
数据词典是对数据库里字段的一种描述,说明
--------------------------
数据字典就是存储数据库中基本元素的一个集合!它可以存储基本表的数据结构,存储过程,等等...
-------------------------
数据字典是一张表,记录某些数据库的信息
-------------------------
每个编程环境都有两个基本成分:程序逻辑—— 程序需要进行的工作说明—— 及数据。可以在程序内部,或者持久稳固地在外部以变量的方式临时保存数据,如文件或者数据库中。传统的文件结构需要开发员进行理解,然后描述文件结构,以使程序可以适当地访问,并且处理文件的字段或者记录。但是,在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命令。



SQL Server中数据字典中的概念

    数据字典分为两种:   
  一位DBMS里面的   向SQL   中的某些   sys表   里面记录着系统字段的定义关系   触发器   视图   存储过程……   
    
  二为   用户的数据字典   相当于在系统的上面进行加工   用与对用户对象进行描述和管理等等   

对数据库中各种对象的信息,如   
  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 记录数据库中所有用户的信息

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值