【问题标题】:Table and entity naming convention表和实体命名约定
【发布时间】:2017-12-12 05:48:15
【问题描述】:

我阅读了类似的问题 (Relational table naming convention),但很遗憾我找不到问题的答案。

我有产品。产品可以有图像和 cmets。它们是一对多的关系。

表和实体名称如下:

  • 产品(产品)
  • product_comment (ProductComment)
  • product_image (ProductImage)

产品是独立的,评论和图像取决于产品。到目前为止没有问题。

但我需要将产品分类(一对多)。

Category可以独立存在,它是独立的,所以我不能使用product_category(ProductCategory)命名(表示产品可以有category)。

不带前缀的命名(category(Category))也不好,因为数据库中可能还有其他的分类(用户分类等)。

所以在我看来,唯一的解决方案是:

  • 类别(Category)
  • category_product (CategoryProduct)
  • category_product_Comment (CategoryProductComment)
  • category_product_Image (CategoryProductImage)

但我也不满意。它表示类别可以有产品...

非常感谢任何帮助!

谢谢!

【问题讨论】:

    标签: sql entity naming-conventions naming


    【解决方案1】:

    有点晚了,但也许可以帮助其他人在命名方面遇到困难......

    考虑独立于实际数据库关系的表/实体名称可能会有所帮助。如果这种“类型”的类别仅适用于产品,那么它就是现实世界中的“产品类别”,因此将表命名为 product_category 是有意义的。如果您有用户类别类型,那么您拥有的是“用户类别”,逻辑表名称将是user_category。您的产品图片和 cmets 也是如此。

    因此,在命名实体时,请尝试考虑实体是什么,而不是它与其他实体的关系。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 2014-11-12
      • 1970-01-01
      相关资源
      最近更新 更多