数据库命名约定

数据库命名约定

1.数据库表的约定:
 总是使用单数名称——Product而不是Products,这是一个普遍适用的约定,因为我们必须给客户解释某种数据库模式,从语法上看,“Product表包含产品”要比“Products表包含产品”好得多。但Northwind数据库并没有遵循这一约定。
 给表中的字段采用某种型式的命名约定,我们采用的是表的主键码为<Table>_ID(假定主键码是一个列),字段采用Name,这是考虑到记录的用户友好性,记录本身的文本信息采用Description。采用好的命名约定,则只要看一下数据库中的表,就知道其中的字段主要是干什么的。
2.数据库列的约定:
 使用单数名称,而不是复数名称。
 链接到另一个表中的列名与该表的主键码名相同,所以,链接到Product表的列名为Product_ID。链接到Sample表的列名为Sample_ID,这并不总是可行的,如果一个表有另一个表的多个引用,这个命名约定就无效了。此时应使用其他方式命名。
 日期字段应有一个_ON后缀,例如Modified_ON,按照这种命名约定,如果读取一些SQL输出,很容易从列的名称中知道该列的含义。
 记录用户的字段名应有一个_By后缀名,例如Modified_By,这将有助于阅读。
3.约束的约定
 如果可能,在约束名中包含表名和列名,例如CK_<TABLE>_<FIELD>。对于person表中的Sex列,其检查约束可以是CK_PERSON_SEX,而product和supplier表之间的外键码可以是FK_PRODUCT_SUPPLIER_ID。
 约束类型的前面加一个前缀,例如Age列上的CK_PERSON_AGE_GT0表示年龄应大于0。
 如果必须限制约束名的长度,可以在其中包含表名,而不包含列名。在发现有违反约束的情况时,通常很容易知道哪个表出现错误,但有时不容易检查出是哪个列出现了问题。Oracle允许名称的长度为30而这种限制很容易被打破。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值