【问题标题】:naming convention for module specific schema模块特定模式的命名约定
【发布时间】:2010-02-28 20:57:57
【问题描述】:

我们的项目由许多模块组成(例如,包含考勤、身份、报告等模块的人力资源管理系统......)

对于这里展示的所有表格,什么是好的命名约定..

您是否建议为所有模块使用相同的前缀(例如 hrms_ide_user、hrms_rep_reports ..)或类似 ide_user、rep_reports ...

我们的产品旨在支持所有主要数据库(Oracle、DB2、MySQL、Postgres)。所以我想小心表或列的限制(如果有的话)。

【问题讨论】:

    标签: sql database-design schema


    【解决方案1】:

    在所有表上使用相同的前缀(即 hrms)是重复的,并且仅在数据库将被共享时才有用。

    如果模块是插件并且非常流畅,给表格加上前缀可能是明智的,但如果你可以避免前缀,我认为它会使设计更易于阅读。

    我使用过前缀和非前缀,我更喜欢非前缀,因为它往往会带来更好的设计(避免 rep_user 和 ide_user 存储类似的数据)。

    如果您确实有前缀,我同意这些应该是固定数量的字符,并且 理想情况下与系统或子系统 ID 相关。

    最后一点是,我认为不要将复数表名与单数混合使用是明智的 - 根据您的喜好使用其中一个。 (即用户和报告或用户和报告)。

    【讨论】:

    • 我同意公共前缀添加到标记在表名上的冗余信息中。我们不使用多个表名,我们在每个地方都使用单数名称
    • 我只提到了单数名称,因为示例中的“hrms_ide_user, hrms_rep_reports”暗示不同。
    猜你喜欢
    • 1970-01-01
    • 2019-01-14
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-11
    • 1970-01-01
    • 2011-03-22
    相关资源
    最近更新 更多