两对多的数据关系是否应该被视为多对多?

2024-01-25

我有 2 个数据库表:Teams 和 Games。

出于此问题的目的,我们正在处理足球队和比赛。

每场比赛只有两支球队,通常是主队和客队,但有时两支球队都可以保持中立。

我的问题是我是否应该使用 Games 表中的 2 个外键(home_team_id、away_team_id)来表示此数据关系,或者是否应该使用与 games_teams 表的多对多关系来链接两者,在这种情况下我需要还存储球队是主队还是客队,这似乎有点矫枉过正。

为了增加混乱,我在 KohanaPHP 中使用 ORM 库,这些库期望一个名为 team_id 的 fk 或一个仅包含 2 列的链接表。如果您在 KohanaPHP 中有遇到此问题的经验,请留下回复,否则我们也非常感谢任何一般性建议。


只需使用这两列,否则您只需在连接表中对其进行限定即可。这并不是一颗定时炸弹,突然有一天您会发现您需要拥有真正的多对多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两对多的数据关系是否应该被视为多对多? 的相关文章

随机推荐

  • 有没有办法用 Laravel 的 ELOQUENT ORM 来“限制”结果?

    有没有办法用 Laravel 的 ELOQUENT ORM 来 限制 结果 SELECT FROM games LIMIT 30 30 和雄辩 创建一个扩展 Eloquent 的 Game 模型并使用它 Game take 30 gt sk
  • 如何使用 Javascript WebCrypto API 加载 PKCS#12 数字证书

    我正在尝试使用 WebCrypto API 签署数据 但我真的很想使用用户的 PKCS 12 来签署数据 而不是创建私钥 公钥并将其导出到 pkcs 1 或 8 我已经阅读了 W3C 规范 但无法充分理解它 也找不到任何关于如何执行此操作的
  • 模拟实例属性

    请帮助我理解为什么以下不起作用 特别是 被测试类的实例属性对 Python 不可见unittest Mock 在下面的例子中bar实例属性不可访问 返回的错误是 AttributeError
  • Struts 2 选择带有数组列表值的标签

    我正在开发一个简单的 struts 应用程序 在我的 JSP 中 我有一个下拉列表框 使用s select标签 我需要用操作类中的数组列表值填充这些值 我怎样才能做到这一点 需要进行哪些改变structs xml文件来完成这个 JSP
  • 在WAMP中更改MySQL root密码后无法连接

    这是 WAMPSERVER 中最常见的问题之一 我也遇到了这个问题 并在此处以同一标题发布了我的解决方案 但在没有得到适当的回复 解决方案后 我不得不转储 Wampserver 并安装 XAMPP 运行顺利 为了解决问题Scroll dow
  • 应用重力的宝石镶嵌位板

    我正在尝试用位板制作一个宝石迷阵级联模拟器 到目前为止 我已经能够检测并移除火柴 但现在我需要让珠宝掉下来 我的状态由一系列位板表示 每个位板对应一种宝石 我有一张所有被移除的珠宝的面具 是否可以使用一些按位魔法来做到这一点 两个初始位板的
  • aws 负载均衡器未向实例注册

    I use kubeadm启动集群AWS 我可以成功创建负载均衡器AWS通过使用kubectl 但负载均衡器未向任何 EC2 实例注册 这会导致公共无法访问该服务的问题 从观察来看 ELB创建时 在所有子网下都找不到健康的实例 我很确定我正
  • 如何衡量用户桌面应用程序的使用情况? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我用 c NET 3 5 编写了一个
  • 新的核心数据实体与现有核心数据实体相同:单独的实体还是其他解决方案?

    概述 我正在设计一个餐厅管理应用程序 并且有一个名为 Order 的实体 其中包含 Items 由于一家餐厅可以运营多年 拥有数千个已完成的 订单 并且为了使我的应用程序的网络方面更容易并保持数据库快速运行 我想引入 ClosedOrder
  • 将 pcm 加载到 AVAudioPCMBuffer 中

    我有这个代码 func loadSoundfont pitch String let path String Bundle main path forResource self id pitch ofType f32 let url URL
  • MUI TextField sx props 不应用样式

    我正在尝试使用一次性方式设置 TextField 组件的样式sx prop
  • 启动时结构崩溃

    我的应用程序在 onCreate 函数内的这一行崩溃了 Fabric with this new Crashlytics 该设备是 SAMSUNG SM G313 HZ 运行 4 4 2 我已向他们的 Twitter 开发论坛举报 但我的帖
  • 为什么 Microsoft Word 2007 中的 VBA IDE 智能感知不断更改特定变量类型名称的大小写?

    这是我问过的最奇怪的问题 我什至不知道如何表达它 我记得类似的事情早在 VB6 IDE 中就发生过 但我忘记了修复方法 如果是这种情况 那么这就是 VB IDE 中的一个非常古老的错误 问题是这样的 当我不小心输入时 我正在编写一个简单的
  • 用于时间跟踪的 MongoDB 架构设计

    我创建了一个简单的时间跟踪应用程序 人们可以在其中计时 超时并标记休息时间 此跟踪的中心对象是Event产生于User 这与用户状态确保状态管理正确 这是减去的架构更新时间 创建于 fields userId type mongoose S
  • 实体框架在更新实体时表示属性为空

    我正在尝试将新实体添加到现有集合中 但是 当这样做时 父 实体抱怨其他导航属性为空 尽管它们不是 Error 类型异常 发生 System Data Entity Validation DbEntityValidationException
  • 使用自组织映射进行降维

    过去几个月我一直在研究自组织映射 SOM 但是我在理解降维部分仍然有些困惑 你能建议任何简单的方法来理解 SOM 在任何现实世界数据集上的实际工作吗 就像来自 UCI 存储库的数据集 好的 首先参考一些之前的相关问题 这将使您更好地理解 S
  • 如何将 AnyEvent::Handler 与具有端口重用的套接字一起使用

    最近我遇到了一个很棒的 Perl 模块 AnyEvent 它允许用户进行异步 事件驱动的编程 创建了以下代码片段 效果很好 我遇到的问题是 在打开和关闭大量套接字后 它很快耗尽了所有客户端端口 netstat ant 显示 20 000 多
  • 如何从 Firebase 中删除数据库?

    这一定是在盯着我的脸 但没有看到命令 如何从新 Firebase 的控制台中删除未使用的 Firebase 数据库 谷歌没有提供答案 这还是第一次 如果您不想删除项目而只想删除数据库 另一种方法是在计算机上创建一个文件empty json像
  • 从 InnerHTML 内的代码隐藏向页面添加 ASP 控件

    我正在尝试从后面的代码向网页添加一个按钮 我的主页上有一个空的 div 在需要时可以打开和关闭 然而 我希望动态创建的内容 因为 div 内容可以根据条件而改变 我意识到在我的 ASP 控件中我使用了 反斜杠 来取消我的 HTML 我现在遇
  • 两对多的数据关系是否应该被视为多对多?

    我有 2 个数据库表 Teams 和 Games 出于此问题的目的 我们正在处理足球队和比赛 每场比赛只有两支球队 通常是主队和客队 但有时两支球队都可以保持中立 我的问题是我是否应该使用 Games 表中的 2 个外键 home team