【问题标题】:MySql/PHP - Designing my first database. Need reviewsMySql/PHP - 设计我的第一个数据库。需要评论
【发布时间】:2012-10-24 15:07:38
【问题描述】:

我正在设计我的第一个数据库并从头开始编写我的第一个 PHP 项目,我需要有人来审查数据库方案。

PHP 脚本的用途:当我在 Youtube、Myspace、Metacafe、Vimeo 等网站上发布宣传视频时,显示我网络中各个网站的流量统计数据。

我打算如何组织它:

  1. 一个站点可以有多个类别,例如“吉他课”, “歌唱课”、“舞蹈课”。
  2. 某些类别可以有子类别。就像“吉他课”可以分为“贝司”和“电音”
  3. 在一个类别中可以有一个宣传视频。在下图中,视频被命名为 item。
  4. 只能在一个类别中创建一个项目(宣传视频)
  5. 一个宣传视频可以提交到多个视频共享网站(Youtube、Vimeo 等)
  6. 一个宣传视频可以包含多个不同的元数据,例如“标题”和“描述”

可能发生的场景:

  1. 也许有一天 Youtube 会删除我的一个宣传视频,在 在那种情况下,我会用可能不同的“标题”再次重新上传它 和“描述”,但我想在 统计数据,例如删除之前的查看次数。
  2. 我现在想不出别的了..

编辑: 我已添加表格 itemStats

EDIT2:我不确定是否需要单独的 itemStats 表。我想加入 itemMeta 吗?

【问题讨论】:

  • 你用什么程序制作了上面的数据库图表?

标签: mysql database-design database-schema organization project-organization


【解决方案1】:

您将主键链接到某些表上的主键(users:id 到 usersMeta:id),而不是主键到外键(sites:id 到 categories:siteid)。可能不会很好地工作。

【讨论】:

  • 好地方。会解决的!
【解决方案2】:

我建议您将 users 和 usersMeta 合并到 one 表中。 usersMeta 中只有 5 个独特且有用的字段。如果需要,您将需要使用连接来获取所有数据,我认为这是不必要的。请记住,normalization 是删除冗余并确保所有表具有最少字段数量的过程......但这需要付出代价。在大多数情况下,成本就是性能。

此外,users 表通过组合最多只能包含 9 个字段。那仍然是我认为非常小的桌子。我以前有过包含 20-30 个字段的表格。在我的情况下,将这些数据分开是没有意义的,因为它是表所独有的,而且任何其他表或系统的一部分都不会使用该数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多