数据字典(Data Dictionary)

[编辑]

什么是数据字典

数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

[编辑]

数据字典的内容

数据字典是一种用户可以访问的记录数据库和应用程序源数据的目录。主动数据字典是指在对数据库或应用程序结构进行修改时,其内容可以由DBMS自动更新的数据字典。被动数据字典是指修改时必须手工更新其内容的数据字典。数据字典是用规范化的,无二义性的语言表达数据流程图的各组成部分,是对数据流程图各个组成部分的详细数据说明,也是表达新系统逻辑模型的主要工具之一。

数据字典最重要的作用是作为分析阶段的工具。任何字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典,如数据项、数据结构、数据流、数据存储、处理过程。

数据字典是数据库的重要组成部分。它存放有数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:

数据库中所有模式对象的信息,如表、视图、簇、及索引等。

分配多少空间,当前使用了多少空间等。

列的缺省值。

约束信息的完整性。

用户的名字。

用户及角色被授予的权限。

用户访问或使用的审计信息。

其它产生的数据库信息。

数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中。数据库数据字典不仅是每个数据库的中心。而且对每个用户也是非常重要的信息。用户可以用SQL语句访问数据库数据字典。关于数据的信息集合,是一种用户可以访问的记录数据库和应用程序元数据的目录,是对数据库内表信息的物理与逻辑的说明。

[编辑]

数据字典的结构

数据字典通常包括数据项\数据结构\数据流\数据存储和处理过程五个部分。其中数据项是数据的最小组成单位若干个数据项可以组成一个数据结构数据字典通过对数据项和数据结构的 定义来描述数据流、数据存储的逻辑内容。数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典还有另一种含义,是在数据库设计时用到的一种工具,用来描述数据库中基本表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。

①数据项:数据流图中数据块的数据结构中的数据项说明。

数据项是不可再分的数据单位。对数据项的描述通常包括以下内容:数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系},其中“取值范围”、“与其他数据项的逻辑关系”定义了数据的完整性约束条件,是设计数据检验功能的依据。若干个数据项可以组成一个数据结构。

②数据结构:数据流图中数据块的数据结构说明。

数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下内容:数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}。

③数据流:数据流图中流线的说明。

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括以下内容:数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量},其中“数据流来源”是说明该数据流来自哪个过程,即数据的来源。“数据流去向”是说明该数据流将到哪个过程去,即数据的去向。“平均流量”是指在单位时间(每天、每周、每月等)里的传输次数。“高峰期流量”则是指在高峰时期的数据流量。

④数据存储:数据流图中数据块的存储特性说明。

数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。对数据存储的描述通常包括以下内容:数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式},其中“数据量”是指每次存取多少数据,每天(或每小时、每周等)存取几次等信息。“存取方法”包括是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索等。另外“流入的数据流”要指出其来源,“流出的数据流”要指出其去向。

⑤处理过程:数据流图中功能块的说明。

数据字典中只需要描述处理过程的说明性信息,通常包括以下内容:处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}},其中“简要说明”中主要说明该处理过程的功能及处理要求。功能是指该处理过程用来做什么(而不是怎么做);处理要求包括处理频度要求,如单位时间里处理多少事务,多少数据量,响应时间要求等,这些处理要求是后面物理设计的输入及性能评价的标准。

[编辑]

数据字典的作用

①管理系统数据资源——数据字典提供了管理和收集数据的方法;

②实现数据标准化——在数据库中,数据的名称、格式和涵义等在不同的场合下容易混淆,数据字典提供使之标准化的工具,它可以给这些内容予以统一的名称、格式和涵义;

③使系统的描述文体化——所有和系统有关的描述,都可以对数据字典中的信息进行查询、插入、删除和修改;

④作为设计的工具——由于数据字典中存放着与数据库有关的各种信息和原始资料,就为数据库设计提供了有力的工具;

⑤为数据库提供存取控制和管理——数据库在接受每一个对数据库的存取请求时,都要检查用户标识、口令、子模式、模式和物理模式等。所以从某种意义上讲,数据字典控制了数据库的运行;

⑥供数据库管理员(DBA)进行各种查询,以便了解系统性能、空间使用状况和各种统计信息,及时掌握数据库的动态。所以数据字典是 DBA 观察数据库的眼晴和窗口。

[编辑]

相关条目

本条目对我有帮助17

MBA智库APP

扫一扫,下载MBA智库APP

分享到:

mysql中数据字典的定义,数据字典相关推荐

  1. MySQL中变量的定义和变量的赋值使用

    MySQL中变量的定义和变量的赋值使用 前言 MySQL存储过程中,定义变量有两种方式: 1.使用set或select直接赋值,变量名以@开头 例如: set @var=1; 可以在一个会话的任何地方 ...

  2. MySQL中变量的定义和变量的赋值使用(转)

    说明:现在市面上定义变量的教程和书籍基本都放在存储过程上说明,但是存储过程上变量只能作用于begin...end块中,而普通的变量定义和使用都说的比较少,针对此类问题只能在官方文档中才能找到讲解. 前 ...

  3. delimiter mysql_详解 Mysql中的delimiter定义及作用

    初学mysql时,可能不太明白delimiter的真正用途,delimiter在mysql很多地方出现,比如存储过程.触发器.函数等. 学过oracle的人,再来学mysql就会感到很奇怪,百思不得其 ...

  4. MySql中的变量定义

    根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一 ...

  5. 刘先森 MySql中的变量定义

    根据mysql手册,mysql的变量分为两种:系统变量和用户变量.但是在实际使用中,还会遇到诸如局部变量.会话变量等概念.根据个人感觉,mysql变量大体可以分为四种类型: 一.局部变量. 局部变量一 ...

  6. MySql 中锁的定义

    行级锁,一般是指排它锁,即被锁定行不可进行修改,删除,只可以被其他会话select.行级锁之前需要先加表结构共享锁. 表级锁,一般是指表结构共享锁锁,是不可对该表执行DDL操作,但对DML操作都不限制 ...

  7. mysql导出数据字典_Mysql中三个导出数据字典文档Word或者HTML的工具

    Mysql中三个导出数据字典文档Word或者HTML的工具 发布时间:2020-06-02 17:02:23 来源:PHP中文网 阅读:370 作者:三月 下文我给大家简单讲讲关于Mysql中三个导出 ...

  8. android json mysql_Android通过json向MySQL中读写数据的方法详解【写入篇】

    本文实例讲述了Android通过json向MySQL中写入数据的方法.,具体如下: 先说一下如何通过json将Android程序中的数据上传到MySQL中: 首先定义一个类JSONParser.Jav ...

  9. mysql中常见的数据库对象

    表( TABLE) 概念:表(TABLE) ,有行有列,行又叫做记录,指的是表中的数据:列又叫做属性/字段 备份表:在数据库中创建临时备份表 语法:CREATE TABLE 表名 AS SELECT ...

  10. mysql中数据定义语言_SQL数据定义语言(DDL)

    数据库模式定义语言DDL(DataDefinition Language),是用于描述数据库中要存储的现实世界实体的语言.一个数据库模式包含该数据库中所有实体的描述定义.这些定义包括结构定义.操作方法 ...

最新文章

  1. liunx服务(Nginx服务器 web服务器源码包和rpm 服务平滑升级)
  2. VS和Eclipse自动注释比较
  3. 整理记录word2016小技巧,自用
  4. 原生js cookie的使用实例setCookie()、getCookie()方法
  5. 前端学习(1434):为什么学习vue
  6. eclipse安装jsp
  7. Linux AIO的新归宿:io_uring(介绍,系统调用)
  8. 从零开始用python处理excel视频_书榜 | 计算机书籍(6.29-7.5)销售排行榜
  9. python 惰性序列_菜鸟学飞自学Python(五)高阶函数
  10. eclipse java jsp_Javaweb学习笔记4 使用Eclipse快速开发JSP
  11. 罗技Ghub配置文件压枪编程——仅供学习
  12. 技能get!如何使用PDF查找关键字
  13. 完成有顺序约束的任务指派问题--应用模拟退火算法求解
  14. Excel 解决高次方程求解的方法
  15. win7无法连接虚拟磁盘服务器,win7系统电脑打开磁盘管理出现“无法连接虚拟磁盘服务”的解决方法...
  16. Redis中什么是热Key问题?如何解决热Key问题?
  17. 入职地府后我成了人生赢家_129、新鬼入职|入职地府后我成了人生赢家|入职地府后我成了人生赢家章节阅读-龙族小说网...
  18. 强子老师python_强子老师分享:深度分析维生素C
  19. [vdbench]vdbench典型配置
  20. 软件著作权登记证书可以加分落户评职称评人才,不少大学不少地方把软著列入加分项,办理软件著作权需要什么流程?

热门文章

  1. alt复制选区就会卡 ps_10个小技巧解决运行PS卡死了的问题
  2. linux虚拟串口控制器驱动开发及代码实现(uart driver)
  3. 八类网线和七类网线的区别_七类网线和六类网线区别有哪些
  4. 邮件签名——html模板
  5. 前端面试自我介绍话术
  6. HtmlUnit实现人人网登陆
  7. rtthread学习之(2)——STM32 系列外设驱动添加指南
  8. Mysql同环比计算详解
  9. 毕业设计 stm32便携式老年人智能药箱系统 - 物联网 单片机 嵌入式
  10. 八、图像金字塔(高斯金字塔、拉普拉斯金字塔)