数据字典是什么?

如题所述

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,使用数据字典为简单的建模项目。简而言之,数据字典是描述数据的信息集合,是对系统中使用的所有数据元素的定义的集合。

数据字典不是可以拿在手上翻阅的字典。数据字典包含:数据项,数据流,数据结构,数据存储,处理过程五个部分。同时也是详细数据收集和数据分析的结果。

扩展资料

数据字典在需求分析阶段被建立。

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

数据字典可能包含的信息,例如:数据库设计资料,数据内部储存的SQL程序,用户权限,用户统计,数据库的过程中的信息,数据库增长统计,数据库性能统计。

数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义,来描述数据流、数据存储的逻辑内容。

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。

以Oracle数据库字典为例:数据字典分为数据字典表和数据字典视图。

Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

数据字典表里的数据是Oracle系统存放的系统数据,而普通表存放的是用户的数据。为了方便的区别这些表,这些表的名字都是用"$"结尾,这些表属于SYS用户。

数据字典表由$ORACLE_HOME/rdbms/admin/sql.bsq 脚本创建, 这个脚本里又调用了其他的脚本来创建这些数据字典表。 在那些创建脚本里有基表的创建SQL。

Oracle 对数据字典表的说明:

These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.

这些数据字典表,只有Oracle 能够进行读写。

SYS用户下的这些数据字典表,存放在system 表空间下面,表名都用"$"结尾,为了便于用户对数据字典表的查询, Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系。

Oracle针对这些对象的范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX。

数据字典视图分2类:静态数据字典(静态性能视图) 和 动态数据字典(动态性能视图)。

静态数据字典中的视图分为三类,它们分别由三个前缀构成:user_*、 all_*、 dba_*。

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

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

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

这些视图由SYS用户创建的,所以使用需要加上SYS,为了方便, Oracle为每个数据字典表的视图头建立了同名字的公共同义词(public synonyms). 这样简单的处理就省去了写sys.的麻烦。

参考资料:百度百科-数据字典

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-04

一、数据字典的概念

数据字典(Data dictionary)是可以供用户访问、记录数据库和应用程序元数据的记录。一般可以分为主动数据字典和被动数据字典。主动数据字典,在对数据库或应用程序结构进行修改时,其内容可以自动更新。被动数据字典,修改时必须手工更新其内容。

二、数据字典的用户

数据字典是对数据的描述,描述数据模型中的数据对象、或项目描述的集合。数据字典有利于开发人员、分析师、算法工程师等其他需要参考的用户,以较快的速度了解数据。

当开发人员用到数据模型的程序时,数据字典可以帮助理解数据项适合结构中的哪个地方、可能包含什么数值、以及数据项表示现实中的什么意思。

例如,看到学历代码时,我们看到的是01、02、03…… ,需要知道具体的意思时,可以从字典中得知,01表示小学,02表示初中,03表示高中……

总之,数据字典的目标是更好地将公司的数据资产进行整合、融会贯通,也是对业务的全面梳理。

数据字典的目标用户将越来越广,除了技术开发人员,还有分析师、算法工程师、风控策略工程师,将来包括业务运营人员,也可以根据业务发展,查询可以使用的数据资产、以帮助进行更好的拓展业务。从数据字典中看到的,不仅是数据字段的解释,更能够从中解读出业务含意。

扩展资料

数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。

换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义,很有助于改进分析员和用户的通信。

数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。

参考资料:百度百科 数据字典

第2个回答  2014-03-02
进行数据库设计的时候,对数据库元素进行的解释说明就是数据字典。举个例子吧,假设有下面这个设计出来的数据库表:
player(fname, lname, account, pwd, email)
对应的数据字典就是:
player:玩家信息表
fname:玩家名
lname:玩家姓
account:账户名
pwd:密码
email:联系电邮

这里只是一个针对某一表的数据字典,还有针对表与表之间关系的数据字典、表内字段属性的数据字典等等。越是大型的数据库设计,越是需要数据字典来辅助进行设计说明,帮助设计人员之间的沟通与交流。
第3个回答  推荐于2019-11-07
进行数据库设计的时候,对数据库元素进行的解释说明就是数据字典。举个例子吧,假设有下面这个设计出来的数据库表:
player(fname, lname, account, pwd, email)
对应的数据字典就是:
player:玩家信息表
fname:玩家名
lname:玩家姓
account:账户名
pwd:密码
email:联系电邮

这里只是一个针对某一表的数据字典,还有针对表与表之间关系的数据字典、表内字段属性的数据字典等等。越是大型的数据库设计,越是需要数据字典来辅助进行设计说明,帮助设计人员之间的沟通与交流。本回答被网友采纳
第4个回答  2020-12-27

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