mysql - 你将如何设计这个关系数据库?

标签 mysql

我得到了很多我不知道如何将它们转化为现实生活的想法,我刚刚设计了我的第一个多表模式,​​所以请耐心等待 :)

我有一个事件 表,其中包含音乐流派 等信息。我所做的是创建了一个单独的表,名为 music_stylesmusic_styles 中的每一行都包含该流派的 ID 和名称。到目前为止,我使用该 ID 并将其插入到 events 表的外键列中,如果每个事件只有一种音乐流派,这种方法就有效。所以我想要的是针对多种流派的解决方案,我被告知要走的路是创建第三个表,该表将同时引用事件 ID 和 music_style ID。那将如何工作?我不知道如何开始,所以欢迎任何想法。谢谢!

最佳答案

您必须创建第三个表,我们可以将其称为 events_music_styles,其中包含两列:event_id 和 music_style_id; event_id 显然将包含一个事件的 id 和 music_style_id 一个流派的 id。

通过这种方式,您可以拥有例如两行或更多行,其中相同的事件与不同的流派相关联。您还应该删除事件表中有关音乐流派的信息。

这是执行此操作的标准方法。您应该学习一点数据库设计和规范化,其中有一些重要但简单易学的概念,对您确实有帮助。

关于mysql - 你将如何设计这个关系数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299711/

相关文章:

mysql - 添加主键以外的自增列

mysql - 获取MySQL数据库中所有表的记录数

mysql - 如何在单行中获取最小值和最大值以及相应的 id

MySQL——基于if null和join的高级查询

php - PDO ... SET NAMES utf8 危险吗?

php - 用于填充字母表词汇表的 MySQL 单个查询

php - 如何使用 while 循环直到从 mySQL 的表中获取 3 行?

php - 如何将两个 mysql 查询合并为一个?

mysql - 如何将 sql 查询/查询的结果用于另一个选择查询?

php - 如何在 PHP 中使用计数?