Mysql DB这是最有效的设计吗?

时间:2012-11-01 15:25:40

标签: mysql database-design

我有一个现有的mysql数据库,负责管理50个州的法规。当前的设置是关系型的 - 对于50个州中的每一个都有三个表:

state_table包含章节/子章节标题 item_table包含结束记录 department_table包含与两者相关的ID。

所有组合它处理大约620,000条记录

我不是数据库设计专家,并且一直使用这个原样并且已经得到了所有50个州的表的性质限制了在所有州等地的搜索。我想知道是否有更好的方法

我想知道我是否应该考虑将它组合成一组3个关系表,用于整个国家,甚至是一个表来处理所有事情。

我在其他论坛上已经问过这个问题并被告知阅读各种数据库架构和结构等等。所以如果有人可以建议进入的方向以及我所拥有的专业人员和骗局那个很棒的选择!

谢谢!

这就是它的方式,X 50

阿拉巴马

  

ID
  名称
  国家
  亲   说明

alabama_department

  

部门 - 身份证来自“阿拉巴马州”

     

项目 - ID来自“alabama_item”

alabama_item

  

ID
  名称
  说明
  关键词
  DOC_ID
  EFFECTIVE_DATE
    ...     ......

查询:我通过链接逐步完成章节/子章节/结束记录的层次结构这很好用,但我开始更多地关注搜索功能,并且还在思考我的内容是否过度,听起来像是一个你们两个都这么认为(矫枉过正)

1 个答案:

答案 0 :(得分:4)

如果我认为你有150张桌子(3 * 50个州),那么:

您应该有一个'状态'表,其中包含stateIDstateName。然后使用ONE表用于章节/子章节,ONE用于部门,ONE用于结束记录,并使用stateID将不同记录与状态相关联。

你应该每个状态有3个表,你可以使用其中一个表,只关联一个状态表。这将带您到四个表而不是150个。