用于实现灵活的动态数据存储的最佳关系数据库模式是什么?

时间:2011-03-02 09:33:50

标签: mysql content-management-system database-schema

我正在建立一个CMS(是的,是的,我知道,但我喜欢它,好吗?:-))有“条目”。这些条目具有固定数量的标准字段,可以在db-id,标题,创建日期等中捕获。所有标准内容。

但是,我还希望条目中包含X量的“自定义字段”。这些自定义字段将由用户定义,并可能定义标题,描述,格式,最大长度和其他属性。现在很明显我可以很容易地将这些字段的定义存储在db表中,但是为这些自定义字段对应的每个条目存储和匹配数据的最佳方法是什么?

ExpressionEngine基本上做同样的事情,并使用条目表,为每个自定义字段动态添加列。但我无法相信这是解决这个问题的最佳方法。

有没有更好的方法来构建关系 db来处理这种灵活的数据模型?

1 个答案:

答案 0 :(得分:3)

这基本上是EAV(精简版):

http://en.wikipedia.org/wiki/Entity-attribute-value_model

我从字面上问了同样的问题(关于类似的话题):

Flexible forms and supporting database structure