mysql - 重组/分区数据库表

标签 mysql sql database database-design

我有一个具有以下结构的表,列是出发地、目的地、旅行时间和出发时间。主键是出发地、目的地和出发时间的组合。有没有什么方法可以重新构造它,以便行中没有太多的起点和目的地重复?

最佳答案

“出发地和目的地太多重复”的存在并不重要。它只是您唯一 key 的一部分,而且是必要的。如果您确实愿意,可以创建一个单独的表,如下所示:

OriginDestinationKey
Origin
Destination

然后在原始表中你的 PK 是

OriginDestinationKey
DepartureTime

但是,您仍然会有一堆重复的 OriginDestinationKey。我不会担心它,只要结构/定义具有逻辑意义,拥有这些重复项并不是什么大问题。如果您想将其分开以便更容易报告等,那么请随意将它们分开。

关于mysql - 重组/分区数据库表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6960978/

相关文章:

mysql - 尽管我尝试了不同的情况,但我的脚本没有运行

php - while 循环不与 str_pad 循环

c# - foreach 循环与数据库中的字符串

MySQL 表枢轴 - 动态

mysql - 使用外键时,您总是必须加入吗?

sql - 具有 GROUP BY 和聚合函数的多个 INNER JOIN

php - 如何使用 Laravel 发布数据并将其插入数据库?

mysql - 自定义从 dbname 显示表状态的结果

sql - sqlite3 是否支持触发器自动更新 'updated_on' 日期时间字段?

.net - 在sql server中管理大数据