【问题标题】:Terms for related DB records相关数据库记录的术语
【发布时间】:2011-06-30 21:14:25
【问题描述】:

这是一个数据库架构:

用户(ID,姓名);
items(id, user, name), user 是外键
tags(item, name), item 是外键

基于该架构:

  • 每个item都有一个用户(一对一的关系)
  • 每个item可能有多个标签(一对多关系)

假装你是items的记录。

根据您的关系,您会用什么术语来指代用户的记录?你会称它为“一对一的亲戚”还是别的什么?

同样,你会用什么术语来指代一堆标签?你会称他们为“一对多的亲戚”还是别的什么?

【问题讨论】:

  • 这个词有什么用途?您是否正在寻找标识对象在关系中的角色的术语,例如术语“除数”(“除数(除数,被除数)”)或“父”?
  • 我正在编写一个处理数据库记录的类。类的每个实例都基于一条记录。我需要该类中几个方法名称的术语——这些是检索相关记录的方法。
  • 每个用户只有一个项目,还是项目对用户多对一?
  • 每个item有一个user,但是一个user可以有多个item
  • 是“标签”metadata tags,就像 "database" 标记这个问题所用的标签一样吗?

标签: database terminology relational-database


【解决方案1】:

如果类是特定于项目的,您可以将项目的用户称为“所有者”,而标签简称为“标签”。

如果该类是通用记录处理程序(例如 active recorddata mapper),则适用的英文单词并不多。 “Relative”和“relatives”是两个,尽管它们可能不会为方法名称增加太多意义。项目和用户之间存在函数关系,其中项目是参数/输入,用户是值/输出,但这些术语描述不佳。我怀疑大多数通用术语都会遇到描述能力低的问题。

codomain (of a function) 一词中汲取灵感,您可以尝试使用前缀“co-”。

在 OO 世界中,项目和标签之间的关系是aggregation,这表明您可以在方法名称中将标签称为“聚合”。

【讨论】:

  • 很好的答案!感谢您抽出宝贵的时间!我希望我能多点赞。
  • 我喜欢所有者。我在想,基于此,我可以将 belingingspossessions 用于一对多的项目。使用该示例 - 如果 useritem 的所有者,则 items 应该是 user 的所有物。 tags 应该是 item 的所有物。你觉得有道理吗?
  • 有一定道理。然而,“所有权”是比“一对多”更强的关系,并且可能暗示某些属性。我喜欢"possession"(尤其是考虑到legal difference),它比“所有权”弱一点,对应的“拥有者”而不是“所有者”。
  • 这很有意义。再次感谢!
【解决方案2】:

我会说“相应的记录”。

【讨论】:

  • 如果你必须区分一对一一对多对应的记录呢?
  • 单字词有机会吗?我想它必须是基于隐喻的东西。
  • @Emanuil - 我不知道用英语表示“一对一”关系的单词。
猜你喜欢
  • 1970-01-01
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多