1

mysql我有一个管理 50 个州的法规的现有数据库。当前设置是相关的 - 50 个州中的每个州的三个表:

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

总而言之,它处理了大约 620,000 条记录

我不是数据库设计专家,并且一直按原样使用它,但是,所有 50 个州的表的性质限制了对所有州的搜索等,我想知道是否有更好的方法。

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

我在其他论坛上问过这个问题,并被告知要阅读各种数据库模式和结构等。所以如果有人可以建议前进的方向以及我所拥有的与替代方案的优缺点会很好!

谢谢!

就是这样,X 50

阿拉巴马州

ID
名称

父母 描述

alabama_department

部门 - 来自“阿拉巴马州”的 ID

项目 - 来自“alabama_item”的 ID

阿拉巴马州项目

ID
名称
描述
关键字
Doc_ID
Effective_date
... ...

查询:我通过链接逐步了解章节/子章节/结束记录的层次结构,这很好,但我开始更多地关注搜索能力,并且认为我所拥有的东西有点过头了,这听起来像你们中的几个这么想(矫枉过正)

4

1 回答 1

4

如果我认为你有 150 个表(3 * 50 个状态)是正确的,那么:

您应该有一个“状态”表,其中包括 astateIDstateName。然后对章节/子章节使用 ONE 表,对部门使用 ONE,对最终记录使用 ONE,并使用stateID将不同的记录与状态相关联。

每个状态不应该有 3 个表,您可以使用每个状态表并仅与状态表相关。这会将您带到四张桌子而不是 150 张桌子。

于 2012-11-01T15:29:13.127 回答