代码之家  ›  专栏  ›  技术社区  ›  Lotus Notes

“多对多”关系的同义词(关系数据库)

  •  1
  • Lotus Notes  · 技术社区  · 16 年前

    addParent()和addChild()对于多对一/一对多和addSuperclass()对于一对一继承来说似乎非常符合逻辑,但是addmanytomy()对于面向对象的程序员来说听起来非常不直观。addSibling()或AddCouncise()也没有真正意义。

    有什么建议吗?在您将其视为非编程问题之前,请记住,一致的命名方案和封装对于编程来说是不可或缺的:)

    7 回复  |  直到 16 年前
        1
  •  4
  •   Amber    16 年前

    也许 addFriend() ? 其他的选择可能是 addLinked() addRelated() .

        2
  •  1
  •   nvogel    16 年前

    在关系数据库术语中,一般情况称为包含依赖,即:A是B的子集,其中A和B是某些(不一定是不同的)关系上的投影。“外键”是包含依赖的特例,其中B是候选键。

        3
  •  0
  •   Brendan Heywood    16 年前

    CakePHP称之为“拥有并属于许多”协会

    http://book.cakephp.org/view/85/Saving-Related-Model-Data-HABTM

        4
  •  0
  •   Oded    16 年前

    addList addChildern addParents addParentsAndChildren

        5
  •  0
  •   Jon Black    16 年前

    在这个例子中 http://pastie.org/938704 您不创建一个名为:

        6
  •  0
  •   James Anderson    16 年前

    狡猾!似乎没有一个通用的术语适合“relatexoy()”是我能想到的最好的。

    然而,对于任何实际的“真实”数据模型,通常都有一个明显的“动词”可以使用。例如,对于国家和航空公司之间的多对多关系,可以使用AddRouteTo(CountryId,AirlineId)或traveledousing(CountryId,AirlineId)方法。

        7
  •  0
  •   Daren Thomas    16 年前

    这条思路呢:

    • connect(X, Y)
    • link(X, Y)
    • bind(X, Y)

    对象往往存在于层次结构中。。。

    看看是否能找到这样一个关系的容器-检查库使用的方法名。

    推荐文章