如何设计单条配置信息数据的表结构

2015-11-03 15:57:25 +08:00
 domty

项目里有一系列的配置信息,
比如设置用户注册时候的字段,有用户名,密码,邮箱,电话,地区等。
现在需要配置一条信息,确定哪些字段在注册的时候是必填的。
配置信息结构类似 username:true,password:true 这样(key:value)的形式

这样的一系列配置信息系统中永远有且只有一条
如何设计表结构更合理?

我个人不大喜欢以 key 为表头以 value 值存单条字段的方法,因为感觉这样在系统扩展字段增多的情况下会影响原有代码

如果单纯存 key : value 段的话更新操作可能就要一次性更新多条数据。
或者将 key:value 对做成 json 字符串存进库里

有没有什么更好的方法

2237 次点击
所在节点    Java
3 条回复
vivisidea
2015-11-03 18:51:27 +08:00
就两个字段吧
key, value
value 存成字符串
例如

key value
register.restrict {"username": true, "password": true}

具体 value 交给程序去解析
这个表就用来存所有的系统配置
raofr
2015-11-03 19:13:36 +08:00
你的库是传统关系型数据库的话,而且要单条存的话, json 是一条路;
如果觉得 json 重的话,就自定义格式用“ key1:value1,key2:value2,key3:value3 ”来存到一个字段,然后读数据库的时候,用 split 来解决。

这里库如果是指 NoSQL ,比如 mongodb 的话,就简单了,天然支持 json 。
Ouyangan
2015-11-03 19:16:53 +08:00
@raofr mysql5.7 支持 json 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/233283

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX