向各位请教一个表创建的问题。

2017-03-23 15:00:58 +08:00
 magzza
如果有一项目,使用人新建项目的时候才能确定需要哪几个字段。这种情况是项目新建的时候根据字段每次新建数据库表?还是怎么操作?
1223 次点击
所在节点    数据库
5 条回复
ivvei
2017-03-23 15:14:25 +08:00
1. 用纵表
2. 用别的数据库,比如 Mongo 之类可以方便扩展字段的
3. 预留几个位置
4. 用的时候新建表

很多种解决方法吧,看你实际情况适合哪种。
Immortal
2017-03-23 15:15:32 +08:00
问的太笼统了
是几个字段里选几个需要的
还是随机会生成新字段
而且基本没有这种新建项目新建表的吧..反正我是没遇到过
需求描述的太简单了
不行就 mongodb
cwek
2017-03-23 15:39:50 +08:00
我知道的套路:
1.你说过,新建(修改)表
2.纵表,(元组唯一键,元组项目键,项目值),前两个做唯一主键
3.文档式数据库
carlonelong
2017-03-23 16:29:08 +08:00
kv
flniu
2017-03-23 21:23:44 +08:00
纵表:经常被用来在关系数据库中存储可变字段,但字段数据类型不同很麻烦,查询和 join 很麻烦。这是用关系数据库干不适合关系存储的事,扬短避长。
新建表:建表有开销,程序运行代码需要 DDL 权限,而且不方便优化(比如加索引)。

一般有几种思路:
1. 根据业务判断 item 的种类和各自的字段,预先定义不同表。 ORM 层可以用多态。
2. 在关系数据库中用 json 存储不确定的字段。缺点是 json 中的字段不方便查询。
3. 使用文档式数据库。

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

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

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

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

© 2021 V2EX