猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
数据库、表和列命名约定?
数据库、表和列命名约定?
每当我设计一个数据库时,我总是想知道在我的数据库中是否有最好的命名方法。我经常问自己以下问题:
表名应该是复数吗?
列名应该是单数吗?
我应该在表或列前加上前缀吗?
我应该在命名项目时使用任何案例吗?
数据库中的项目命名是否有推荐的指导方针?
繁星coding
浏览 465
回答 3
3回答
慕标5832272
迟答,但简而言之:我的偏好复数是表*通常*没有前缀是最好的。柱*没有。表和列:PascalCase。阐述:(1) 你必须做的事。很少有你必每一次都以某种方式去做,但也有一些。把你的名字命名为主键使用“[singularOfTableName]ID”格式。也就是说,您的表名是否是客户或客户,主键应该是顾客ID.此外,外键必一致命名在不同的桌子上。殴打不这样做的人应该是合法的。我认为,虽然定义了外键约束,但经常重要的、一致的外键命名是总重要你的数据库一定有内部惯例..即使在后面的章节里你会看到我很灵活,内数据库命名必须非常一致。您的客户表是否被调用客户或客户不重要的是,您在同一数据库中以相同的方式执行此操作。你可以抛硬币来决定如何使用下划线,但是必须继续以同样的方式使用它们..如果你不这样做,你就是一个应该自卑的坏人。(2) 你应该怎么做。字段表示不同表上相同类型的数据。应同样的名字。在一张桌子上没有Zip,在另一张桌子上没有ZipCode。若要将表名或列名中的单词分隔开来,请使用Pascalcase。使用CAMELCase并不是本质上的问题,但这不是惯例,而且看起来很有趣。我一会儿再讨论下划线。(你不能像过去那样使用ALLCAPS。OBNOXIOUSTABLE.ANNOYING_CODE 20年前在DB2中是可以的,但现在不行。)不要人为地缩短或缩短单词。一个名字长而清晰,总比简短和令人困惑好。超短的名字是黑暗,更野蛮的时代的坚持。CuS_AddRef那到底是什么?保管人收信人推荐人?客户额外退款?自定义地址查询?(3) 你应该考虑什么。我真的认为你应该为桌子取复数名称;有些人认为单数。阅读其他地方的论点。不过,列名应该是单数。即使使用复数表名,表示其他表组合的表也可能是单数。例如,如果您有一个晋升和一个项目表中,表示作为促销活动一部分的项的表可以是Promos_Items,但也可以合法地称为Promotions_Items(反映一对多的关系)。始终使用下划线,并用于特定目的。只有普通表的名称在Pascalcase中应该足够清楚;您不需要用下划线来分隔单词。保存下划线(A)以表示关联表,或(B)用于前缀,我将在下一个项目中讨论。前缀不是好的也不是坏的。它通常不是最好的。在第一个或第二个数据库中,我不建议对表的一般主题分组使用前缀。表最终不太适合您的类别,而且它实际上可以使其满足您的要求。更难去找桌子。有了经验,你可以计划和应用一个前缀方案,它的好处大于伤害。我曾经在一个数据库中工作过,其中数据表是从TBL,配置表CTBL、观点维尤、proc‘sSP,以及UDF的新军,还有其他几个;它是精心的,始终如一地应用,所以它的效果还不错。惟一需要前缀的情况是,当您有真正独立的解决方案时,由于某种原因,这些解决方案驻留在同一个db中;在对表进行分组时,前缀可能非常有用。前缀也适用于特殊情况,比如您想要突出的临时表。很少(如果有的话)你会想要在列的前缀。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
MySQL
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续