数据库int字段值的中文描述问题

描述 int 中文 段值 使用 数据库 问题 表示 如果 注释 编程进阶笔记
发布日期 2022-11-07 更新日期 2022-11-07 阅读次数 94 文章字数 742

一般来说,我们会使用 int 表示不同的类型、状态等

比如 state=1 表示通过,state=0 表示待审核,state=2 表示审核拒绝...

但是,如果值非常多,state=7 或 state=8 无限增加,又不写注释(多个地方使用到了并且重复)

又或者,即使有注释,但在代码中需要反复使用(不同页面),此时就有大量冗余代码,一旦修改起来要改动很多(还有一种情况是团队开发不写注释然后离职,导致难以知晓某个状态码的作用)。

考虑设计一个字段值描述表:

类型 长度 小数点 不是null 注释
id bigint     1 1 自增id
tb_name varchar 50   1   表名
column varchar 50   1   列名
value int 11   1  
en varchar 50       英文描述
en_short varchar 50       英文短描述
en_long varchar 500       英文长描述
zh varchar 50   1   中文描述
zh_short varchar 50       中文短描述
zh_long varchar 500       中文长描述

这样,就可以把指定表,指定字段,指定xx值的什么含义描述清楚了。

一个系统设计这样一张表,int 字段的描述完全够用了。

至于怎么调用,可以考虑设计一个公共api(或者使用 join 连表的方式),这样可以直接调用,以图在必要时调用取得真实的值(或修改该值,而无需修改代码,大大提高了扩展性)。

后记【新】

可根据实际情况,再扩展几种写法,上面的不容易复用。它指定了表明和列明。如果改为:模块名+自定义描述名,则也是一种方案

例如,app 模块 sex 描述,已知 1 男,2女。则整个系统中无论多少张表用到了性别描述,均使用其设定,非常容易维护,不容易出现 int 混乱的情况。在几乎不变时,可使用该设计,如果字段太多则且几乎无复用,第一种方案自定义属性名则远不如第一种实用【因为必须自定义描述名,取名很困难,如果冲突的话还可能造成错误】。

所以,更理想的情况是,分成动态字典【第一种】和静态字典【第二种】。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-23.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

描述 int 中文 段值 使用 数据库 问题 表示 如果 注释

发表评论

相关推荐
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

157    评论    点赞
朱丰华   |   1年前   |   php · 编译

ubuntu、centos系统从源码编译指定版本php--超详细

158    评论    点赞
朱丰华   |   1年前   |   指针 · 地址 · c语言

C语言的&取地址符,指针

126    评论    点赞
朱丰华   |   1年前   |   php · zend · 调用 · 文件

php扩展开发,调用php函数

99    评论    点赞
朱丰华   |   1年前   |   php

php扩展返回数字、布尔值的几种写法

72    评论    点赞
朱丰华   |   1年前   |   php · 字符串 · 字节

php高可用字节显示,字节大小转数值和字符串大小字符串转换

139    评论    点赞
朱丰华   |   1年前   |   Javascript

Javascript中char和int的互相转换的代码

75    评论    点赞
朱丰华   |   1年前   |   数据库 · int · 存储 · 符号

数据库用int存储时间戳问题

77    评论    点赞
朱丰华   |   1年前   |   字符串 · string · php · 分割 · 中文 · 字符 · length · 编码

php字符串分割【中文】

49    评论    点赞
朱丰华   |   1年前   |   分词 · php · 使用 · 结巴 · 中文 · seg_list=Jieba · var_dump · seg_list · Jieba · cut

php使用结巴分词【中文分词】

129    评论    点赞
朱丰华   |   1年前   |   php · composer · linux · 安装

linux下安装composer

145    评论    点赞
朱丰华   |   2年前   |   字符串 · 简单 · 正则 · 配置 · id · 可以 · sql · 通用 · 方案 · int

字符串和正则,简单的sql通用配置方案

89    评论    点赞
朱丰华   |   2年前   |   返回 · 等于 · 如果 · TRUE · 否则 · FALSE · 比较 · 运算 · 大于 · PHP

PHP比较运算符

68    评论    点赞
朱丰华   |   2年前   |   中文 · 问题 · git · status · 乱码 · 表示

git status 中文乱码问题

100    评论    点赞
朱丰华   |   2年前   |   格式 · 表示 · 时间 · 前导 · 例如 · 小时 · 函数 · 数字 · date · 月份

PHP date() 函数

40    评论    点赞
朱丰华   |   2年前   |   getdate · 函数 · php · 时间

php getdate函数

44    评论    点赞
朱丰华   |   2年前   |   uniqid · 函数 · php · 生成 · 唯一 · 返回

php uniqid函数

73    评论    点赞
朱丰华   |   2年前   |   函数 · 平方根 · php · 相关 · pow · 必需 · 规定 · sqrt

php平方根相关函数

57    评论    点赞
朱丰华   |   1年前   |   全文 · 使用 · 索引 · 模式 · 建立 · 数据 · titlebody · 设置 · 结果 · 分词

MySQL5.7建立全文索引与基本使用

153    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞