gpt4 book ai didi

mysql - 在我的场景中创建多关系数据库的最佳方法

转载 作者:行者123 更新时间:2023-11-30 21:36:28 25 4
gpt4 key购买 nike

我在开发数据库模型时遇到了问题。

我有 TOUR 和 TRIP 表(都带有 GUID 主键)并且都有一些共同的子表。比如细节、评论、媒体、价格等等。

我正在考虑在这些子表中创建一些“ParentId”列以与 TOUR 或 TRIP 链接,但我需要知道哪个父表是。通过这种方式,我应该创建一个“ParentType”列,其中 1 是 TOUR,2 是 TRIP,或者创建一个 TourDetail 和一个 TripDetail 以将它们与其他表链接起来?

我正在寻找这样做的最佳实践。

最佳答案

在设计方面,SQL 约定是每个关系在引用表中都应该有自己的列。这就是 外键 列的概念。

因此您需要在每个子表(DETAIL、COMMENT、MEDIA、PRICE)中创建两列,例如 TOUR_IDTRIP_ID,它们将包含correspondig 分别记录在表 TOURTRIP 中。当然,如果一个 child 只指一个 parent 而不是另一个 parent ,则只需要一列。

这将允许您构建适当的 JOIN 查询,例如:

SELECT
...
FROM TRIP
JOIN DETAIL on DETAIL.TRIP_ID = TRIP.ID
...
WHERE
...

关于mysql - 在我的场景中创建多关系数据库的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53661554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com