首页 新闻 会员 周边

数据库表 ‘类型’、‘状态’字段 数据类型选择

0
悬赏园豆:10 [待解决问题]

问一个很低级的问题。。
设计数据库表时,遇到‘类型’、‘状态’字段,我现在是用tinyint来存的,然后用了一个map来存对应的中文描述。我这样对吗?如果类型特别多时,是不是应该用nvarchar来存储?

像我这样的话,我在往前端传json时,应该传对应的中文,还是int类型数据?
如果前端页面需要添加一条数据,传给后端的应该是int还是中文?
或者有什么统一规范吗?

SQL
、、、、、、、的主页 、、、、、、、 | 初学一级 | 园豆:192
提问于:2018-10-12 21:11
< >
分享
所有回答(1)
1

我们单位做数据库时,没有统一的规范,但我看各位大佬们的操作都是在数据库中存放数值数据,在处理数据时再和对应的中文描述对应起来,前端在处理“状态”“类型”时一般用的都是
【<select>
<option value="数据库定义的tinyint类型数据">对应字段的描述</option>
<option value="数据库定义的tinyint类型数据">对应字段的描述</option>
</select>】
这样的方式。

从数据库角度看,varchar虽然可以存储可变长度的字符串,但是当列长小于255时,需要增加一个字节来记录字符串长度,因为相比于tinyint多占用了一个字节。

tinyint可以存储-2^7~2^7-1的数据,即-128~127,使用tinyint unsigned 可以存储0~2^8-1即0~255的数据,对于“状态”“类型”这样的字段,个人认为足够了。

代码羡 | 园豆:69 (初学一级) | 2018-10-16 10:18

谢谢

支持(0) 反对(0) 、、、、、、、 | 园豆:192 (初学一级) | 2018-10-16 17:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册