0

我目前正在制作代理 CMS,并想询问用户详细信息。所以注册表被分成两组,摄影师和模特。模特可以选择关于他们体型的选项,例如头发颜色、头发长度、身高等,但摄影师不需要这些选项。

我的问题是,哪个更有效?将所有东西存放在一张大桌子上或拆分身体细节。

例子

users_table <--- contains everything

或者

users_table <--- containing login details and a few basic information
users_body_table <--- containing model body information

如果有人能给我一些关于这方面的信息会很高兴

谢谢各位

4

3 回答 3

3

根据您的描述,我肯定会建议采用第二种方法 - 拆分数据。

您应该注意到,在第一种方法中,您将有大约四分之一的表填充空值。

关于空值效果,您可以在这里看到例如

决定哪个更有效的最重要的事情是你只需要多少摄影师或模特。对我来说,这很清楚可能经常 - 正因为如此,使用拆分表会更好。

也许如果你会满足一些更改的需要,只为一个表更改它会更容易维护(例如,如果将添加一些新的模型特征)。

考虑未来的正常化

于 2013-07-12T11:14:04.707 回答
1

使用拆分表,如果您只想检索其中的数据,您可以轻松地运行一个表。如果您的大表有很多数据,则检索时间会太多。如果将表格映射到对象,最好有一个小对象。你也可以重用它......如果你真的想要一个表,也许你可以使用视图(视图是一个透明的动态表)

于 2013-07-12T11:31:17.957 回答
0

好方法是单独的表。一张表用于常见详细信息(用户)(登录名、密码等) 第二张表用于模特(users_models)和第三张表用于摄影师(users_photo)

在表用户中,您可以为模型和照片表中的商店 ID 创建 2 个字段。在这种情况下,一个用户可以是模特或/和摄影师。

于 2013-07-12T11:37:19.417 回答