编程中数据字典介绍

目录

友情提醒:

先看目录,了解文章结构,点击目录可跳转到文章指定位置。

第一章、快速了解数据字典

1.1)数据字典介绍

数据字典是什么:

数据字典在数据库设计时用到的一种工具,用来描述数据库中表的设计,主要包括字段名、数据类型、主键、外键等描述表的属性的内容。

记录数据对象的:

结构(表结构如表使用的字符集和排序规则)、

关系(表和表之间的关系)、

属性(类型,长度,精度,索引等)、

约束(主键约束,非空约束等)、

说明(表注释说明和字段注释说明)、

视图(视图名、视图的SQL查询等)

存储过程和触发器(过程名、触发事件、相关表和列)

例如:user表中有一行数据,id为31345,name为张三,age为15,email为31153@xxx,我们能够明白这行数据是用于描述一个user的信息。

id name age email
31345 张三 15 31153@xxx

那么数据字典的存在则是为了描述那些元数据(描述数据的数据)`。即id,name,age,email是什么含义,约束信息等等

字段名 数据类型 描述 示例 约束
id INT 用户的唯一标识符 31345 主键约束
name VARCHAR(255) 用户的姓名 张三 非空(NOT NULL)约束
age INT 用户的年龄。 15 非空(NOT NULL)约束
email VARCHAR(255) 用户的电子邮件地址。 31153@xxx 非空(NOT NULL)约束

数据字典具体组成部分:

数据对象列表(如对象名称和定义)、

数据元素属性(如数据类型、唯一标识符、字段长度,大小和索引)、

可能的默认值、简要的文本描述(注释)、实体关系图等

图来自百度百科:

1.2)主动数据字典

主动数据字典是在其描述的数据库内创建的,可以自动反映其主机数据库的任何更新或更改,从而避免数据字典与其数据库结构之间的任何不一致。

1.2.1)主动数据字典对表字段的描述

对数据库字段的描述

1.2.2)主动数据字典对表索引的描述

1.2.3)主动数据字典对表外键的描述

太多了不贴了。

1.3)被动数据字典

被动数据字典是单独创建的(可以是我们自己创建的数据表),用作数据信息的存储库。被动数据字典需要额外的工作来与其描述的数据库保持同步。因此,数据库管理员必须小心处理被动数据字典,以确保没有不一致。

1.4)数据字典作用

数据字典的作用:

数据字典的作用是提供关于数据库中表和列的元数据(描述数据的数据)信息,包括但不限于表名、列名、列说明、描述等。通过数据字典,用户可以了解数据库中存储的数据结构、含义和不同数据库表之间的关系信息,帮助人们更好地理解和管理数据库。

第二章、使用MySQL自己创建数据字典

2.1)数据字典数据表

建表语句:

java 复制代码
CREATE TABLE DataDictionary (
    TABLE_NAME VARCHAR(255),
    COLUMN_NAME VARCHAR(255),
    COLUMN_EXP VARCHAR(255),
    EXP VARCHAR(255),
    ORDER_NO INT,
    VALUE VARCHAR(255)
);

2.2)列明含义

数据表的列名 解释
TABLE_NAME(表名) 表示数据库中的表的名称。
COLUMN_NAME(列名) 表示数据库表中的列的名称。
COLUMN_EXP(列说明) 用于描述列的含义或作用。
EXP(说明) 通常是关于表或列的更详细的描述。
ORDER_NO(排序号) 用于指定表或列在数据字典中的显示顺序。
VALUE(数值) 表示数据字典中相应列的具体数值或内容。

2.3)示例

数据字典对APPLY_INFO表STATUS字段的描述

相关推荐
夏微凉.4 分钟前
【JavaEE进阶】Spring 事务和事务传播机制
java·数据库·sql·mysql·spring·java-ee
激流丶31 分钟前
【Mysql 底层原理】MySQL 查询优化器的工作原理:如何生成最优执行计划
数据库·mysql·explain·执行计划
dogplays1 小时前
sqoop import将Oracle数据加载至hive,数据量变少,只能导入一个mapper的数据量
hive·oracle·sqoop
雷神乐乐1 小时前
Sqoop学习
数据库·sqoop
小丑西瓜6661 小时前
MySQL库操作
linux·服务器·数据库·mysql
谦谦均1 小时前
PostgreSQL序列:创建、管理与高效应用指南
数据库·postgresql
荒川之神1 小时前
RHEL/CENTOS 7 ORACLE 19C-RAC安装(纯命令版)
服务器·数据库·oracle
ZWZhangYu1 小时前
【MyBatis源码】深入分析TypeHandler原理和源码
数据库·oracle·mybatis
sagima_sdu2 小时前
Python 操作 Neo4J,Python 库 Py2Neo
python·oracle·neo4j
ascarl20103 小时前
系统启动时将自动加载环境变量,并后台启动 MinIO、Nacos 和 Redis 服务
数据库·redis·缓存