首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“内容类型”数据库字段

“内容类型”数据库字段
EN

Stack Overflow用户
提问于 2011-07-26 14:20:52
回答 2查看 1.3K关注 0票数 1

对不起,这个愚蠢的标题,但我不知道如何命名这个问题:)

因此,我试图构建一个非常简单的内容管理系统,将数据存储在数据库中。

其中一种数据类型是“内容类型”(类似于WordPress的post /定制post类型)。

内容类型可以是什么:页面、汽车列表、评论、图书产品等等。

每种内容类型都有自己的字段。例如:

  • a page有:标题、文本.
  • a car列表有:制造、型号、类型、年份、价格.
  • a book :标题、作者、价格

等等..。

其思想是,这些内容类型是动态的(它们的字段也是如此)。他们将被加入一个扩展的CMS。唯一内置的内容类型将是页面。

无论如何,我需要关于如何为它们设置数据库表的建议。这应该是从主CMS,而不是从扩展,这些应该是非常容易编写使用CMS API。

如何设置表/表字段,以便根据特定内容类型字段搜索结果将非常快速?

WP对字段使用不同的表,并将它们作为行存储,ID指向它们附加到的post。但是当你在寻找多个字段时,这是很慢的.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-26 14:55:24

有很多不同的选择。

最常见的是在内容项旁边存储"key/value“对(我相信这是WP模型)。该模型存在许多问题--当搜索变得难以理解时的布尔逻辑,在代码中很难定义和验证内容类型(例如,“所有CAR内容类型都必须具有属性引擎大小”等),然而,它们确实使创建和更改内容类型变得容易。

另一个模型是根据内容类型生成数据库表,通常以“基本”内容项作为根。Larman的书中很好地讨论了如何建模数据库表(“应用UML和模式”)。这个设计创建了大量的内务代码--创建和修改数据库表是一件很麻烦的事情,我不建议在需要大量内容类型的解决方案中这样做。

我见过的最健壮的解决方案使用XML来存储内容--通常是在数据库中。XML允许您定义内容类型(使用DTD或模式),并验证/查询它。不过,它没有SQL快.

票数 1
EN

Stack Overflow用户

发布于 2011-07-28 16:36:28

id建议内维尔K的第一个解决方案,这将需要一个结构有4个表。

contents

content_properties_name

content_properties_values和被加入contents_properties (content_id , content_property_id , content_value_id )

它的快速,搜索查询有点复杂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6831505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档