首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL。关系

MySQL。关系
EN

Database Administration用户
提问于 2016-07-25 22:41:49
回答 1查看 41关注 0票数 0

提前谢谢你的回答。我正试着调整我的分贝技能。

我有三张桌子:

品牌,模型和项目。

所有的模型都属于一个品牌,但是一个项目可以有一个品牌,而不是一个模型。

我有两个问题:

  1. 从编程的角度来看,我只是从数据库设计的角度将brandId添加为外键,将ModelId作为字段添加到项table.But中,我认为这是错误的方法。我该怎么处理呢?
  2. 如果一个项目总是有一个模型和品牌。我通常只添加modelId,从它可以得到brandId,但是我已经看到了一个不断增长的趋势,这两个字段都将被添加到item表中,同样,正确的方法是什么?
EN

回答 1

Database Administration用户

发布于 2016-07-25 22:57:18

您的问题出现在“灰色地带”;没有一种“正确”的设计模式的方法。

当询问有关城市+州+国家的问题时,我说:有一个包含所有3列的Locations表。并使用country_code CHAR(2) CHARACTER SET ascii

我也说“正常化,但不要过度正常化”。

你的问题引发了“宗教战争”。两边都有有效的点。抛硬币,实现它,然后从决定中吸取教训。

更好的是,实现这两种方式--编写CREATE TABLEsINSERTsSELECTs等等。

更好的方法是实现这两者,但是在代码中有一个“数据库抽象层”,它隐藏了对应用程序代码的选择。为您的应用程序提供一个单独的抽象,这将是这里最好的一课。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/144885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档