您的企业有数据字典吗

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

序言

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

这就是大家通常所认为的数据字典,不管是专业人士还是业务人员,都喜欢这么说。但这是数据字典吗?非也。oracle数据库对数据字典的定义:数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。数据字典是任何关系数据库的重要组成部分。它提供了有关不同数据库表之间关系的信息,有助于以易于搜索的方式组织数据,并防止数据冗余问题。可惜的是,大多数数据库用户看不到它。通常,只有数据库管理员与数据字典交互。

一、什么是数据字典

数据字典是包含数据库元数据的一个文件或一组文件。数据字典包含有关数据库中其他对象的记录,例如:数据所有权、与其他对象的数据关系以及位置信息等。

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

数据字典是用户可以访问的记录和应用程序源数据的目录. 活动数据字典是指数据字典,当修改或应用程序结构时,其内容可以由DBMS自动更新。

数据字典的主要作用: 数据字典和数据流程图共同构成了系统的逻辑模型. 没有流程图数据字典就很难运行. 没有数据字典,数据流图并不严格。

二、数据字典的内容

数据字典是结构化分析方法(数据流分解方法)的基本手段。数据字典应当是具体数据或数据流、数据处理或者存储、数据分解等数据流图中出现的所有命名元素的详细定义。包括这些元素的:

(1)名称(包括其正式名称、别名和编号等等);

(2)属性(是处理、数据流、数据文件,还是数据源等等);

(3)描述(是指其目的、功能等简要说明);

(4)该元素的确切定义(元素的具体内容组成,包括数据结构,类型,值的范围、条件等等);

(5)位置(数据流的上游和下游;处理的编号,输入,输出;数据元素属于哪个数据结构、物理位置等。);

(6)其他:其他附加约束信息,如数据的流量、处理的性能等等。

三、数据字典的形式及应用

数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完善。这是数据库设计中数据字典的主要作用。开发和维护人员在遇到不了解的条目的时候,可以通过数据字典得到相应条目的解释,比如数据的类型,可能预先定义的值,及相关的文字性描述。这些解释可以减少数据之间的不兼容现象。

例如,商业银行包含客户信息的数据库可以具有客户名称、出生日期、街道地址、金融储蓄、账户和信用卡号、贷款等属性。

0fd51dd8a888ed0015c3803b689e14ff.png

每个属性在电子表格中占据一行,而不同的列提供了描述该属性的元素(记录、数据类型、位置、是可选的还是必需的等)。

对于大多数关系数据库管理系统(RDBMS),数据库管理系统软件需要数据字典来访问数据库中的数据。例如,Oracle软件必须读写Oracle DB。但是,它只能通过为特定数据库创建的数据字典来实现这一点。

例如,上述银行的数据库示例,管理员希望确定哪个表包含有关贷款的信息。他有根据地猜测表中很可能包含单词“LOAN”,然后对数据字典发出以下查询(第一个查询是针对Oracle DB的,而第二个查询是针对SQL Server DB的):

  • SELECT * FROM DBA_TABLES WHERE TABLE_NAME LIKE '%LOAN%';
  • SELECT * FROM SYSBJECTS WHERE TYPE='U' AND NAME LIKE '%LOAN%'。

四、综述

数据字典可以是主动的,也可以是被动的。数据库的结构可能需要更改,例如添加新的属性或删除一些过时的属性。如果数据库管理字典在数据字典中自动更新了这些更改,则数据字典是主动的。相反,如果数据库管理将数据字典作为一个单独的实体来维护,并且必须手动更新,则将其称为被动数据字典。当数据库和字典中的数据不再匹配时,被动数据字典不但需要额外的同步工作,而且还容易出错。

相关文章
|
JavaScript 前端开发
JS中oninput和onchange事件的区别
JS中oninput和onchange事件的区别
|
JSON API 开发者
示例代码是什么及其作用
示例代码是展示如何使用特定API接口的简洁代码片段,涵盖参数设置、请求发送和响应处理等步骤。它通过直观展示调用方式、减少阅读文档时间、提供可复用模板、避免常见错误,帮助开发者快速理解并应用API接口,从而降低学习成本、提高开发效率,并促进API的推广与应用。编写时应遵循简洁明了、注释清晰、涵盖常见场景及保持更新的原则,确保其易用性和准确性。
|
机器学习/深度学习 物联网 数据处理
社区供稿 | 封神榜团队提出首个引入视觉细化器的多模态大模型Ziya-Visual-Lyrics,多个任务SOTA
封神榜大模型团队基于在多模态领域积累的先进技术,首次在多模态大模型上加入图像标记、目标检测、语义分割模块,推出了多模态大模型Ziya-Visual-Lyrics。
|
存储 缓存 固态存储
阿里云服务器2核8G、4核16G、8核32G配置租用收费标准与活动价格参考
2核8G、8核32G、4核16G配置的云服务器处理器与内存比为1:4,这种配比的云服务器一般适用于中小型数据库系统、缓存、搜索集群和企业办公类应用等通用型场景,因此,多为企业级用户选择。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
|
Java 索引
Java中的for循环:深度解析
Java中的for循环:深度解析
527 1
|
安全 关系型数据库 MySQL
Mysql 8.0 安装和使用遇到的各种问题(持续更新)
MySQL 8.0 安装到 服务器时,遇到的一些问题;安装、远程访问、密码编码格式不对、大小写区分、密码重置、修改密码 等操作
|
物联网 5G vr&ar
|
机器学习/深度学习 算法 数据挖掘
【Python机器学习】模型聚类高斯混合模型GMM讲解及实战演示(附源码 超详细)
【Python机器学习】模型聚类高斯混合模型GMM讲解及实战演示(附源码 超详细)
607 0
|
弹性计算 Ubuntu
Ubuntu 20.04安装FTP服务
以阿里云ECS为服务器,搭建FTP服务并在本机使用FileZilla连接服务。
1268 2
|
数据挖掘
【SPSS】回归分析详细操作教程(附案例实战)(上)
【SPSS】回归分析详细操作教程(附案例实战)
7982 0