mysq 问个数据库方面的简单问题

2020-03-15 09:55:22 +08:00
 yueqianzhang

比如说有两个表,Customer 和 Vehicle (用户表和车型表)

每个 Customer 只有一个 Vehicle,又不想让 Vehicle 表包含 CustomerID 字段,(因为想把 Vehicle 表只当一个查询的表,每个车型只有一条记录)

  1. 怎么设计比较好,Customer 持有 VehicleID 字段吗?
  2. 怎么用 GORM 写比较好(最好能直接点出来包含的 Vehicle 的属性
2499 次点击
所在节点    MySQL
5 条回复
brucefu
2020-03-15 09:59:40 +08:00
Customer 持有 Vehicle ID
rekulas
2020-03-15 10:09:46 +08:00
按常规设计应该加一个 mapping(映射)表
但如果确定只有一条的话而且以后也不大可能更改的话按一楼说的要简单点效率也高点
LightLolo
2020-03-15 10:11:37 +08:00
可以做个中间表 只有两个字段 CustomerID 和 VehicleID
linuxvalue
2020-03-15 12:19:48 +08:00
Customer 持有 Vehicle ID +1
Takamine
2020-03-15 12:38:16 +08:00
建议放一个中间表,这样之后要是可能扩展成 1:n 或者 n:1 都比较方便。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/652910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX