问题标签 [database-relations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
274 浏览

database - 我需要为每个表定义一个新的主键字段吗?

我有一些数据库表,它们实际上只需要一个引用另一个表的唯一 ID,例如

这些表(例如假日)仅真正存在以保存有关客户的信息。因此,我是否需要指定一个单独的字段来保存假期的 ID?IE

或者,在这种情况下,我可以将 CustomerID 设置为表中的主键吗?

问候,詹姆斯。

0 投票
8 回答
186 浏览

sql-server-2005 - 数据库设计:将主键作为单独的字段存储在同一个表中

我有一个表必须引用另一条记录,但属于同一个表。这是一个例子:

我对这样做有一种不好的感觉。我的另一个想法是只有一个单独的表来存储关系。

我觉得我可能把这样一件微不足道的事情复杂化了,但是,我想对这个特定场景的最佳方法有一些想法?

谢谢。

0 投票
1 回答
759 浏览

orm - 在 Kohana ORM 中将具有两个不同外键的表引用到同一个表

如您所见,同一个表有两个外部字段。但是 Kohana ORM 默认会查找一个名为 priority_id 的字段,该字段不存在。

有没有办法让 Kohana ORM 知道这两个字段是该表的外键。

0 投票
1 回答
1483 浏览

php - 在多对多关系表中查找额外的列

我希望通过在关联表中添加一些额外的字段来在多对多关系中保留一些额外的数据。例如,我想跟踪用户在网络中的角色,例如“成员”、“版主”、“管理员”等。我还想跟踪他/她何时加入网络。现在,我正在寻找一种使用 Doctrine 检索这些额外字段的有效方法。一个典型的但非常简化的 DQL 查询可能如下所示:

  1. 那么,鉴于我有一个来自 Members 关系的 User,有什么方法可以“回溯”到 NetworkMembers 关系并获取额外的字段?

  2. 如果没有,我如何重新安排我的架构以使我能够有效地做到这一点?

    (即我不想遍历成员必须找到我开始的网络并获取角色和 member_since 字段的所有网络)。

我的问题的代码说明:

架构如下:





0 投票
5 回答
1107 浏览

sql-server - T-SQL 数据库关系 PK FK 同名?

设想

我有 3 个数据库表。一个是图像,另外两个是人物和地点。由于每个人都可以有很多图像,每个地方可以有很多图像,我希望人和图像之间以及地点和图像之间都有一对多的关系。

问题

外键是否必须与主键同名?或者我是否可以将图像表中的外键称为通用名称,例如“PKTableID”。这样我只需要一个图像表。

非常感谢帮助。

问候,

编辑:

想要只有一个图像表的原因是因为每个图像只引用一个其他表。除此之外,我在这里使用了两个表的示例,我将使用的实际数据库将有 20 个表,所以我想知道是否仍然可以为 20 个一对多关系使用单个图像表?

0 投票
4 回答
1732 浏览

php - PHP / Doctrine ORM 对同一类的多个“一对一”关系

只是在一个项目中,我有一个名为“Product”的类和一个名为“Image”的类。每个产品都有两种类型的图像,一种“正面”图像和一种“背面”图像,因此我定义了两个字段,一个称为 image_front_id,一个称为 image_back_id。

在 BaseProduct::setUp() 方法中,我定义了正面图像的关系如下:

现在,显然,当我为“Image”类定义另一个“hasOne”时,但现在使用“image_back_id”的本地字段名,这不起作用。所以我的问题是:如何定义同一个类的多个“一对一”关系?我一直在寻找这个有一段时间了,但我似乎找不到它。

0 投票
1 回答
569 浏览

doctrine - 实施自我关系

谁能给我一个如何实现类自关系的例子?

0 投票
1 回答
964 浏览

one-to-one - Castle ActiveRecord OneToOne 和 JoinedBase/Key 一起,没有创建 SQL 关系

我想模拟以下关系。

这一切都形成了主类继承......基本形式,然后是一些特定的形式..TerminationForm,另一种形式......等等......

然后我打算在每个子表单上挂一些其他的表单部分。我将这些子表单建模为 [OneToOne]

即,如果 TerminationForm 类似于上面的 FormOne..我在它下面有“Staffing”..这是链接..及其互惠链接(注意...我也将一些 Staffing 属性提取到一个抽象基础中,因为我有TerminationStaffing 和 LeaveStaffing)

当 AR 创建架构时..它通过限制其主键的关系将 TerminationForm 与 MasterForm 正确关联...

但是,即使 TerminationStaffing 表包含 MasterFormId,我也没有看到创建的关系。我应该担心这个吗?也许我可以在之后添加它,但我很惊讶。

我考虑过在 TerminationStaffing 上使用 [BelongsTo],但是 TerminationForm 中的关系是什么(关系是一对一的.. 不是一对多的)

我离基地很远吗?

0 投票
1 回答
22400 浏览

ruby-on-rails - Ruby ActiveRecord 模型中的级联删除?

我正在关注 ruby​​onrails.org 上的截屏视频(创建博客)。

我有以下型号:

评论.rb

post.rb

模型之间的关系工作正常,除了一件事 - 当我删除帖子记录时,我希望 RoR 删除所有相关的评论记录。我知道 ActiveRecords 是独立于数据库的,所以没有内置的方法来创建外键、关系、ON DELETE、ON UPDATE 语句。那么,有什么办法可以做到这一点(也许 RoR 本身可以负责删除相关评论?)?

0 投票
2 回答
149 浏览

database-relations - 表之间的关系

我有 3 个表:A、B 和 C。表 A 与 B 和 C 相关 (n:1)。通常我将 B.Id(或 C.Id)和表名存储在 A 中。

例如

这是一个很好的解决方案吗?还有其他解决方案吗?