【发布时间】:2013-07-07 14:17:05
【问题描述】:
我正在为我的新项目设计一个数据库。我想知道我的数据库设计是否正确,因为我不确定 100%。
允许用户添加内容:图像、文本、URL。内容将在单个页面上列出,因此我认为创建单个内容类型将是最佳选择。
到目前为止,我的结构如下:
post
- id
- type ENUM
- title
- image NULL
- text NULL
- URL NULL
post_image
- id
- filesystem
- filename
post_text
- id
- body
post_url
- id
- link
当然,我为 post tabke 和 post_* 类型表创建了 1:1 关联。我在我的应用程序中使用 Doctrine 作为 ORM。为了获取内容,我有一个自定义方法来检查类型并返回正确的内容(文本、URL 或图像路径)。
这是您推荐的方法吗?
我有两个选择:
- 在 post 表中创建可为空的
image、text和url字段 - 创建单个
content字段
虽然使用上述两种方法,我得到了非常简单和可维护的数据库结构,但这可能会在将来引起一些问题。
期待听到一些社区的声音。
最好的!
【问题讨论】:
-
这取决于很多事情,你期望什么样的使用(10个用户?100万?)。这种设计的一个优点是您可以在帖子中使用多种类型的内容。
-
@Floris Velleman - 用户?肯定不到一百万。永远不会改变的另一件事是每个帖子只能有单一类型的内容。我目前拥有的结构给了我更多的灵活性,我只是不确定它是否是最好的选择。感谢您的评论。
标签: database-design