首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表的关系,该表可能与另一个表相关,也可能与另一个表无关。

表的关系,该表可能与另一个表相关,也可能与另一个表无关。
EN

Stack Overflow用户
提问于 2011-04-04 10:53:53
回答 2查看 68关注 0票数 0

我想知道是否有人能提供帮助。我正在设计一个数据库,我想知道应该如何处理这个问题。我的场景涉及到一个车辆表,该表存储有关车队的信息(例如制造、模型、当前里程等)。一种维护表,用于存储关于在车辆上进行的任何维修的信息。最后是运营费用表,这将存储与车辆有关的任何费用(例如燃料、维修、修理等)。

我的问题是,维护中的一些记录需要链接到维护记录,而有些则没有。例如,服务是一种操作成本,将记录在维护日志上,但是燃料是一种操作成本,不会记录在维护日志中。

处理这件事最好的方法是什么?

以下是目前的表格,但这只允许运营成本与维护记录相关联:

车辆(VehicleID,Make,Model,里程,MOT到期)

维护(MaintenanceID,VehicleID fk,描述)

(OperatingCostID,OperatingCost MaintenanceID fk,费用)

提前谢谢。

J

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-04 11:08:12

如果我对您的理解是正确的,那么您似乎需要两个OperatingCost表,其中OperatingCostID是两个表的主键。根据成本类型的不同,您将填充其中一个或两个表:

OperatingCostMaintenance (OperatingCostID,MaintenanceID)

OperatingCost (OperatingCostID,成本)

票数 2
EN

Stack Overflow用户

发布于 2011-04-04 11:14:41

使用当前的模式,您可以将维护记录与成本记录与join联系起来,这与您在进行另一种方式时完全一样:

代码语言:javascript
复制
select * from OperatingCost where MaintenanceID = ?

每一点维护都有成本吗?在这种情况下,您可以将维护表视为OperatingCost上的可选详细表,并对这两个表使用相同的ID。维护的ID列将是引用OperatingCost的主键和外键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5537459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档