数据字典是什么?

2024-05-14

1. 数据字典是什么?

数据字典:对数据的数据项等进行定义和描述

数据字典是什么?

2. 什么是数据字典?

下文以oracle数据库为例对数据字典进行解释: 

  数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。 

  Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。以下分别就这两类数据字典来论述。 
1. 静态数据字典 
 这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。 

  user_* 

  该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象) 

  all_* 

  该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可) 
  dba_* 

  该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限) 

  从上面的描述可以看出,三者之间存储的数据肯定会有重叠,其实它们除了访问范围的不同以外(因为权限不一样,所以访问对象的范围不一样),其他均具有一致性。具体来说,由于数据字典视图是由SYS(系统用户)所拥有的,所以在却省情况下,只有SYS和拥有DBA系统权限的用户可以看到所有的视图。没有DBA权限的用户只能看到user_*和all_*视。如果没有被授予相关的SELECT权限的话,他们是不能看到 dba_*视图的。 

  由于三者具有相似性,下面以user_为例介绍几个常用的静态视图: 

  user_users视图 

  主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。例如执行下列命令即可返回这些信息。 
select * from user_users 

  user_tables视图 

  主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。执行命令为:select * from user_tables 

  user_objects视图 

  主要描述当前用户拥有的所有对象的信息,对象包括表、视图、存储过程、触发器、包、索引、序列等。该视图比user_tables视图更加全面。例如, 需要获取一个名为“package1”的对象类型和其状态的信息,可以执行下面命令: 

select object_type,status 
from user_objects 
where object_name=upper(‘package1’); 

  这里需注意upper的使用,数据字典里的所有对象均为大写形式,而PL/SQL里不是大小写敏感的,所以在实际操作中一定要注意大小写匹配。 

  user_tab_privs视图 

  该视图主要是存储当前用户下对所有表的权限信息。比如,为了了解当前用户对table1的权限信息,可以执行如下命令: 

select * from user_tab_privs where table_name=upper('table1') 


  了解了当前用户对该表的权限之后就可以清楚的知道,哪些操作可以执行,哪些操作不能执行。 

  前面的视图均为user_开头的,其实all_开头的也完全是一样的,只是列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。对于dba_开头的需要管理员权限,其他用法也完全一样,这里就不再赘述了。 

  2. 动态数据字典 

  Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。 

  Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。下面就几个主要的动态性能视图进行介绍。 

  v$access 

  该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。 

  运行如下命令: 

select * from v$access 

  结果如下:(因记录较多,故这里只是节选了部分记录) 

SID 
OWNER OBJECT TYPE 
27 DKH V$ACCESS CURSOR 
27 PUBLIC V$ACCESS SYNONYM 
27 SYS DBMS_APPLICATION_INFO PACKAGE 
27 SYS GV$ACCESS VIEW 

  v$session 

  该视图列出当前会话的详细信息。由于该视图字段较多,这里就不列详细字段,为了解详细信息,可以直接在sql*plus命令行下键入:desc v$session即可。 

  v$active_instance 

  该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。 

  v$context 

  该视图列出当前会话的属性信息。比如命名空间、属性值等。 

  3.小结 

  以上是Oracle的数据字典方面的基本内容,还有很多有用视图因为篇幅原因这里不能一一讲解,希望大家在平时使用中多留心。总之,运用好数据字典技术,可以让数据库开发人员能够更好的了解数据库的全貌,这样对于数据库优化、管理等有极大的帮助。

3. 什么是数据字典?

1数据字典是一个预留空间,一个数据库,
这是用来储存信息数据库本身。
1数据字典可能包含的信息,例如:
数据库设计资料
储存的SQL程序用户权限用户统计数据库的过程中的信息
数据库增长统计
数据库性能统计
数据字典则是系统中各类数据描述的集合,
是进行详细的数据收集和数据分析所获得的主要成果.
数据字典通常包括数据项\数据结构\数据流\
数据存储和处理过程五个部分.
数据字典是关于数据的信息的集合,
也就是对数据流图中包含的所有元素的定义的集合.
组成1数据流2数据流分量,即数据元素3数据存储4处理数据字典数据库的重要部分是数据字典。它存放有数据库所用的有关信息,
对用户来说是一组只读的表。数据字典内容包括:
数据库中所有模式对象的信息,如表、视图、簇、及索引等。
分配多少空间,当前使用了多少空间等。
列的缺省值。
约束信息的完整性。
用户的名字。
用户及角色被授予的权限。
用户访问或使用的审计信息。
其它产生的数据库信息。
数据库数据字典是一组表和视图结构。
它们存放在SYSTEM表空间中。
数据库数据字典不仅是每个数据库的中心。
而且对每个用户也是非常重要的信息。
用户可以用SQL语句访问数据库数据字典。

什么是数据字典?

4. 数据字典是什么?

数据字典是以数据库中数据基本单元为单位,按一定顺序排列,对其内容作详细说明的数据集。其中数据库中数据基本单元在不同类型数据库中有所不同,如矢量数据库的数据基本单元是对应自然要素实体的点、线和面,关系型数据库的数据基本单元是字段及其内容记录。
数据字典(Data Dictionary)中存放着系统中所有数据的定义,即对所有数据库结构的描述。数据字典提供了对数据库数据描述的集中管理手段。数据字典经历了人工字典、计算机文件、专用数据字典系统和数据库管理系统与数据字典一体化四个发展阶段。

5. 什么是数据字典?

1数据字典是一个预留空间,一个数据库,这是用来储存信息数据库本身。
1数据字典可能包含的信息,例如:
数据库设计资料
储存的sql程序
用户权限
用户统计
数据库的过程中的信息
数据库增长统计
数据库性能统计
数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.
数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分.
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.
组成
1数据流
2数据流分量,即数据元素
3数据存储
4处理
数据字典
数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:
数据库中所有模式对象的信息,如表、视图、簇、及索引等。
分配多少空间,当前使用了多少空间等。
列的缺省值。
约束信息的完整性。
用户的名字。
用户及角色被授予的权限。
用户访问或使用的审计信息。
其它产生的数据库信息。
数据库数据字典是一组表和视图结构。它们存放在system表空间中。
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用sql语句访问数据库数据字典。

什么是数据字典?

6. "数据字典"指的是什么?

数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果.
数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分.


数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合. 
组成 
1数据流 
2数据流分量,即数据元素 
3数据存储 
4处理 

数据字典 
数据库的重要部分是数据字典。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括: 
数据库中所有模式对象的信息,如表、视图、簇、及索引等。 
分配多少空间,当前使用了多少空间等。 
列的缺省值。 
约束信息的完整性。 
用户的名字。 
用户及角色被授予的权限。 
用户访问或使用的审计信息。 
其它产生的数据库信息。 
数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。 
数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典

7. "数据字典"指的是什么?

一、数据字典并不是传统的纸质字典,它是一些系统自带表,可以查询数据库相关信息,一般存在于电脑系统或是其它电子系统中,供人查阅不了解条目的信息与解释。
数据字典存储有关数据的来源、说明、与其他数据的关系、用途和格式等信息,它本身就是一个数据库,存储“关于数据项的数据”。数据字典是个指南,它为数据库提供了“路线图”,而不是“原始数据”。
换句话说,数据字典通常是指数据库中数据定义的一种记录,类似一个数据库的数据结构,但其内容要比数据库的数据结构描述丰富得多(Malamud, 1989)。在收集有关数据信息,建立数据库的初始阶段,必须建立数据项的命名约定,必须统一不同部门、不同个人之间对共同关心的数据的内涵、来源和命名的观念。
这个过程要涉及数据监管人、用户和数据库开发人员,是一个需要反复多次的过程。这个统一的命名约定,及其附带的说明,就是数据字典。
二、数据字典内容包括:
1、数据库中所有模式对象的信息,如表、视图、簇、及索引等;
2、分配多少空间,当前使用了多少空间等;
3、列的缺省值;
4、约束信息的完整性;
5、用户的名字;
6、用户及角色被授予的权限;
7、用户访问或使用的审计信息;
8、其它产生的数据库信息。

"数据字典"指的是什么?

8. 数据字典怎么写?

数据字典要包括在以下六个部分吧:
1、编写数据项:
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}。
其中“取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件,是设计数据检验功能的依据。
2、编写数据结构:
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}。
3、编写数据流:
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}。
其中“数据流来源”是说明该数据流来自哪个过程,即数据的来源。“数据流去向”是说明该数据流将到哪个过程去,即数据的去向。“平均流量”是指在单位时间(每天、每周、每月等)里的传输次数。“高峰期流量”则是指在高峰时期的数据流量。
4、编写数据存储:
数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}。
其中“数据量”是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。“存取方法”包括是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。
5、编写处理过程:
处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}。
6、编写外部实体:
简单设计即可。

扩展资料:
数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。
换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义,很有助于改进分析员和用户的通信。
参考资料:
百度百科—数据字典