database - 基本表结构问题

标签 database normalization

我有品牌和公司。 1 个公司可以拥有 1 个或多个品牌。

例如,company 有 company_id, company_name。同样,Brands 有 brand_id 和 brand_name。现在我可以将 FK 列 company_id 也添加到品牌并且关系在 2 个表中完成,还是我需要像 Company_Brands 这样的第三个表,它有 company_id、brand_id 和默认 PK?

我不是在要求一个理想的教科书方式,而是在一个高事务环境中,性能很重要,因此查询污点更少,而且写入会很高,表中的数据也会发生变化,因为这是一个用户内容网站,因此信息可能不准确,因此会不断进行编辑。

最佳答案

只需将外键 company_id 添加到 brands 表即可。您描述了一对多关系,即 1 个公司可以拥有多个品牌,但 1 个品牌不能拥有多个公司。
如果您有多对多关系,则只需要联结表。

关于database - 基本表结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724485/

相关文章:

database - 了解功能依赖

mysql - 自动增量每次都会跳过一个数字

mysql - 获取yii中的所有表名

javascript - 使用 nodejs 规范化对象数组中的缺失值

apache-spark - Spark中是否没有像MinMaxScaler这样的缩放器的 "inverse_transform"方法?

r - 在ggplot2中分别标准化多面直方图

mysql - 在 MySQL 中使用单个 UPDATE 规范化字段

database - 将本地 SQLite 数据库与服务器 SQLite 数据库同步

php - mysql 触发器是否会为 select 语句产生额外的开销?

PHP 读取文件与 MySql 查询