采用26个英文字母(区分大小写)和0 -9这十个自然数,加上下划线_组成,共63个字符。不能出现其他字符(注释除外)。
据库对象命名规则
数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。前缀:使用小写字母。例如:
表 tb 视图 vi 存储过程 sp 函数 fn
实际名字
实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他字母小写,不以数字和_开头。
例如:
表 User_Info 视图 UserList 存储过程 UserDelete
因此,合法的对象名字类似如下。
表 tbUser_Info、tbMessage_Detail 视图 vi_MessageList 存储过程 sp_MessageAdd
数据库表命名规则
字段由前缀和实际名字组成。实际名字中首单词一个系统尽量采取同一单词。
前缀:使用小写字母tb,表示表。
例如: tbMember
tbMember_Info
tbForum_Board
tbForum_Thread1
字段命名规则
数字、字符、日期/时间、lob(大对象)、杂项,字段由表的简称、下划线,实际名字加后缀组成。
后缀:使用小写字母,代表该字段的属性。
例如: User_Idint
User_Namestr
User_RegDatedtm
视图命名规则
字段由前缀和实际名字组成,中间用下划线连接。
前缀:使用小写字母vi,表示视图。
例如: vi_User
vi_UserInfo
存储过程命名规则
字段由前缀和实际名字组成,中间用下划线连接。
前缀:使用小写字母sp,表示存储过程。
例如: sp_User
数据库设计文档规则
所有数据库设计要写成文档,文档以模块化形式表达。大致格式如下:
'-------------------------------------------
' 表名: tbUser_Info
' 建立人:UAM_Richard
' 日期: 2004-12-17
' 版本: 1.0
' 描述: 保存用户资料
' 具体内容:
' UserId int,自动增量 用户代码
' UserName char(12) 用户名字
' ......
'--------------------------------------------
sql语句规则
所有sql关键词全部大写,比如SELECT,UPDATE,FROM,ORDER,BY等。后记:
良好的命名对于软件开发起着至关重要的作用,能够对资源进行合理的命名,可以达到事半功倍的效果。无论是哪种命名规则,无论是对哪种资源进行命名,其核心思想都是“用最少的字母进行最全面的描述 ”。正如本文开始时强调的,“唯一性+描述性 ”是命名的灵魂。所以,在您对程序的各个方面进行命名的时候,不妨去参照着这两大原则去进行,切记不可图一时之快,却为日后的修改或维护带来巨大的困难。
2.3 表
字段由前缀和实际名字组成。实际名字中首单词一个系统尽量采取同一单词。
词根表:
名称
词根
备注(缩写)
同义词
代码
Code
Code
桩号
Peg
Peg
路线
Route
Route
属性
Attribute
Attr
特征
Character
Cha
分类
Staple
Stap
材料
Stuff
Stuff
概况
Survey
Surv
结构
Fabric
Fab
组合
Weave
Weave
现状
Actuality
Actu
数量
Number
Num
宽度
Width
Width
里程
Mile
Mile
指数
Exponent
Expo
情况
Circs
Circs
系数
Quotiety
Quo
名称
Name
Name
形式
Form
Form
设施
Establishment
Esta
位置
Position
Pos
路段
Sect
Sect
等级
Rate
Rate
坐标
Coordinate
Coo
路口
crossing
crossing
管理
Manage
Man
设备
Fixture
Fix
单位
Unit
Unit
日期
Date
Date
性质
Quality
Qual
2.3.1 数据库表的命名
下划线命名法,这种方法我在使用中是按[模组]+[子模块]+[表名]+[附加项],可以看出明显的层次结构。缺点就是比较长,但是你可以在分模块时,定义一些明确的缩写,来强制使用。
1) 表名称不应该取得太长(一般不超过三个英文单词)。
2) 在命名表时,用单数形式表示名称。例如,使用 Employee,而不是 Employees。英文单词之间用下划线连结,且每个单词皆为单数.例:Barcode_Station。
3) 数据库表名前缀定义
数据库表类型
前缀号
备注
代码表存储类别资料
BM$
业务表:
业务编号
流水(业务)信息表:
T
汇总表(报表)
S+业务编号+自己名称
如:
S_Cust_Info
S_Scust_Info_City(fk)
S_Scust_Info_Area(fk)
S_Scust_Info_Modified
S_Scust_Info_Deleted
S_Scust_Info_Stop
4) 表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词要大写。
5) 多个单词间用下划线(_)进行连接。若库中有多个系统,表名采用模块名称+单词或多个单词,系统名是开发系统的缩写,如VNET。
6) 表中含有的单词建议用完整的单词。如果导致表名长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写。(如果没有约定的缩写,则采用该单词前4个字母来表示)。
7) 后缀的定义资料表用来存储历史资料,命名以History结尾.例:Barcode_History,资料表用来存储日志资料,命名以LOG结尾.例:Enduser_Log。
2.3.2 数据库字段的命名
1) 数据库字段名全部采用小写英文单词,单词之间用”_”隔开,字段长度不能超过30个字符。表中含有的单词建议用完整的单词。如果导致表名长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写。(如果没有约定的缩写,则采用该单词前4个字母来表示)。
2) 采用有意义的字段名。字段的名称必须是易于理解,能表达字段功能的英文单词或缩写英文单词,单词首字母必须大写,一般不超过三个英文单词。例如:人员信息表中的电话号码可命名为:Telephone或Tel。产品明细表中的产品名称可用Product_Name表示。(推荐一般用完整的英文单词)。
3) 系统中所有属于内码字段(仅用于标示唯一性和程序内部用到的标示性字段),名称取为:“fd_objectid”,采用整型或长整型数,具体根据可能的数据量确定,增加记录时取最大值加1,该字段通常为主关键字,现有的系统表中采用VACHAR不用做修改。
4) 在命名表的列时,不要重复表的名称;例如,在名为 Employee 的表中避免使用名为 Employee_Lastname 的字段。
5) 不要在列的名称中包含数据类型,如INT,FLOAT,CHAR等。
6) 字段后缀的定义
字段
后缀定义
备注
存储数量
_Num
存储类别,代码
_Code
存储名称
_Name
存储描述
_Desc
存储日期
_Date
存储时间
_Time