Mysql 对于这种情况,您会推荐一个查找表吗?

Mysql 对于这种情况,您会推荐一个查找表吗?,mysql,database-design,Mysql,Database Design,这是我数据库的简化版本,实际问题应用于不同的主题领域 我有四个表:Library、Books、Keepers和另一个表Keepers\u Sections\u Permissions,用于跟踪管理员可以在哪些部分中工作。节是预定义的,并且提前知道节的数量。让我们称之为科学、数学和英语 图书馆有书(这一点也不奇怪),每本书都存储了它所在章节的参考 我的问题是,我需要一个分区表吗?每个库都有相同的部分,具有相同的名称。它们是提前知道的,所以我不需要从数据库中填充它们 Keepers\u Sectio

这是我数据库的简化版本,实际问题应用于不同的主题领域

我有四个表:Library、Books、Keepers和另一个表Keepers\u Sections\u Permissions,用于跟踪管理员可以在哪些部分中工作。节是预定义的,并且提前知道节的数量。让我们称之为科学、数学和英语

图书馆有书(这一点也不奇怪),每本书都存储了它所在章节的参考

我的问题是,我需要一个分区表吗?每个库都有相同的部分,具有相同的名称。它们是提前知道的,所以我不需要从数据库中填充它们


Keepers\u Sections\u权限需要以某种方式引用节,因此我不确定我的主键是节的名称,还是指向节表(实际上是查找表)的唯一数字。

我会说是。在一个单独的表中定义分区将使系统更具可扩展性,并将有利于Keepers\u sections\u Permissions表

我的问题是,我需要一个分区表吗

你让它听起来像是一个很好的枚举用例,但是

每个库都有相同的部分,具有相同的名称


对不起,但是没有。他们就是没有。或许美国图书馆会这样做;大西洋这边的书店当然没有。

你会推荐一个查找表吗,或者如果章节表中的每个条目都依赖于一个库(即,有一个库id列),我个人会选择一个查找表,然后每个库不会有x个“数学”记录。数学就是数学,为什么要多次定义它呢?我最后的评论听起来很粗鲁。。。这是一个反问句:)哈哈,不,我明白:)。我以前用过这样的东西,我问了自己同样的问题。我很感激你的帮助,但是,当我考虑我的选择时,我会和丹尼斯的答案一起去。在我的例子中,查找表似乎是一个更大的障碍。不过,再次感谢你。就像我说的,这只是我问题的简化版本。为了进行类比,我们假设我确实知道每个节的名称:)在这种情况下,是的,请使用枚举。但同样,使用查找表最终会变得有用,因为从一个库到下一个库的内容是不一致的。谢谢!您认为性能/尺寸会受到关注吗?在我的例子中,我所能期望的最大值将是13个字符长。请使用ID对其进行查询。当然,您的200-500行适合APC/Memcache或同等产品。已售出。谢谢你的帮助!