zoukankan      html  css  js  c++  java
  • 数据库命名规范

    数据文件命名

    方式1:数据文件命名采用 系统名+_+文件类型.mdf,比如系统名为 ComSys,则数据库文件命名为
    ComSys_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文
    件,另一个是日志文件,那么他们的文件命名分别为 ComSys_database.mdf, ComSys_log.log。
    方式2:如果数据库采用文件系统,而不是裸设备,约定下列命名规则:
    1)数据文件以表空间名为开始,以.dbf为结尾,全部采用小写英文字母加数字命名。如该表空间有多个数据文件,则从第2个数据文件开始,在表空间名后加_。
    例:对system表空间的数据文件:system.dbf,system_2.dbf
    2)对Oracle数据库的控制文件,用control.ctl来表示。如control01.ctl,control02.ctl。
    3)对Oracle数据库的日志文件,在线日志文件用redo<组名><文件序列名>.dbf来表示。其中组名和文件序列名均用2位数字来表示。如第一组的两个文件表示位redo0101.dbf和redo0102.dbf。归档日志用arch_%t_%s.arc来表示。其中%t和%s均为Oracle约定的变量。

    数据库对象命名规范

    数据库对象包括表、视图(查询)、存储过程(参数查询)、函数、约束。对象名字由前缀和实际名字组成,长度不超过30。
    1)前缀:
    使用小写字母。如:
    表(Table)  tb_
    字段(Column)
    主键(Primary key)  pk_
    外键(Foreign key)  fk_
    Check约束(Check Constraint)  ck_
    Default 约束(Default Constraint)  df_
    视图(View)  vi_
    索引(Index)  idx_
    存储过程(Stored procedure)  sp_
    用户定义函数 (User-defined function)  fn_
    序列(Sequence)  seq_
    表空间(Tablespace)  ts_
    变量名(Variable)  @
    触发器(Trigger)  tr_
    2)实际名字:
    实际名字尽量描述实体的内容,由单词或单词组合,每个单词的首字母大写,其他
    字母小写,不以数字和_开头。如:
    表 User_Info
    视图 User_List
    存储过程 User_Delete
    3)示例:
    合法的对象名字类似如下:
    表 tb_User_Info tb_Message_Detail
    视图 vi_Message_List
    存储过程 sp_Message_Add

    表的命名

    表名由前缀和实际名字组成。前缀使用小写字母 tb_,表示表,格式为"tb_"+ 名称(名称尽量使用英文单词,每个单词的首字母大写),后面字段等等加表名的时候不需要加前缀。
    1) 对工作用表来说,表名可以加上前缀 WORK_ 后面附上采用该表的应用程序的名字。 在
    命名过程当中,根据语义拼凑缩写即可。注意,由于Oracle会将字段名称统一成大写或者 小写中的一种,所以要求加上下划线。
    举例:
    定义的缩写
    Sales: Sal 销售;
    Order: Ord 订单;
    Detail: Dtl 明细;
    则销售订单明细表命名为:tb_Sal_Ord_Dtl;
    2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。
    举例:
    定义的缩写
    Material:Ma 物品;
    物品表名为: tb_Material, 而不是 tb_Ma。
    但是字段物品编码则是:Ma_ID;而不是 Material_ID
    3) 所有的存储值列表的表前面加上前缀 Z,目的是将这些值列表类排序在数据库最后。
    4) 所有的冗余类的命名(主要是累计表)前面加上前缀 X
    冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表
    5) 关联类通过用下划线连接两个基本类之后,再加前缀 R 的方
    式命名,后面按照字母顺序罗列两个表名或者表名的缩写。
    关联表用于保存多对多关系。
    如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因, 建议都使用缩写。
    举例:表 Object 与自身存在多对多的关系,则保存多对多关系的表命名为: tb_R_Object; 表 Depart 和 Employee 存在多对多的关系;则关联表命名为 tb_R_Dept_Empl。

    字段(属性,列)命名

    1) 采用有意义的列名,表内的列要针对键采用一整套设计规则。

    主键

    主键的命名采用如下规则:
    主键名用pk_开头,后面跟该主键所在的表名,也就是 pk_TableName_ID。主键名长度不能超过30个字符。如果过长,可对表名进行缩写。缩写规则同表名的缩写规则。
    举例:销售订单的编号字段命名: pk_Sal_Ord_ID;如果还存在一个数据库生成的自动编号,
    则命名为:ID。

    外键

    外键的命名采用如下规则:
    外键名用fk_开头,后面跟该外键所在的表名和对应的主表名,也就是 fk_ 从表名_主表名。子表名和父表名自己用下划线 "_" 分隔。外键名长度不能超过30个字符。如果过长,可对表名进行缩写。缩写规则同表名的缩写规则。外键名用小写的英文单词来表示。
    2) 数据库字段名全部采用小写英文单词,单词之间用 "_" 隔开,
    命名规则是表别名+单词。
    如:user_name,user_pwd。(表别名规则,如果表名是一个单词,别名就取单词的前4个 字母;如果表名是两个单词,就各取两个单词的前两个字母组成4个字母长的别名;如果表 的名字由3个单词组成,则从头两个单词中各取一个然后从最后一个单词中再取出两个字 母,结果还是组成4个字母长的别名。)

    Check 约束命名

    "ck_"+"表名"+"_"+"字段名"
    e.g.: ck_tb_Company_Comp_Zip

    Default约束命名

    "df_"+"表名"+"_"+"字段名"
    e.g.: df_tb_News_News_Hit

    视图命名

    1) 视图名由前缀和实际名字组成,中间用下划线连接。前缀使用
    小写字母 vi,表示视图。
    合法的视图名类似如下:
    vi_User
    vi_UserInfo
    2) 命名应尽量体现各视图的功能。

    索引命名

    索引名 ="idx_"+表缩写+相关字段/索引含义
    索引空间:在相应的数据表空间的名字前加idx_。如对用户缺省表空间的索引空间,用ts_idx_default来表示。对代码表的索引表空间,用ts_idx_code来表示。

    存储过程命名

    存储过程名由前缀和实际名字加操作名字组成,中间用下划线连接。
    前缀:使用小写字母 sp,表示存储过程。
    操作名字: Insert|Delelte|Update|Caculate|Confirm
    合法的存储过程名类似如下:
    sp_User_Insert

    函数命名

    跟存储过程类似,fn_User_Insert

    序列命名

    数据库序列的命名采用如下规则:
    序列名用seq_开头,后面跟使用该序列的字段名。如果有几个字段用同一个序列,用下划线 "_" 连接几个字段的名称。如果不同表中相同的字段名需要使用不同的序列,则在字段名后加表的特征,用下划线 "_"连接。序列名长度不能超过30个字符。序列名用小写的英文单词来表示。

    表空间

    1:数据库系统表空间
    数据库系统表空间包括system表空间,临时表空间,回滚段的表空间。约定下列命名规则:
    1)system表空间由数据库直接限定,不能进行修改。
    2)临时表空间用temp来表示。如果有多个临时表空间,从第2个临时表空间开始,在temp后面加2来表示。
    3)回滚段表空间用undotbs来表示。如果有多个回滚段表空间,从第2个回滚段表空间开始,在undotbs后面加来表示。
    2:数据库的用户表空间
    数据库的用户表空间用ts_<表空间名>来表示。其中,表空间名分为:
    数据空间:对于用户的缺省表空间,用default来表示。对于其他的表空间,根据存放在表空间上的表的类别来表示。如放代码的表,用code来表示。放客户资料的表,用customer来表示。尽量用一个表空间来存放该类的表。如果某表特别大,可考虑单独使用一个表空间。

    变量名命名

    变量名采用小写,若属于词组形式,用下划线分隔每个单词,如@sys_err_no。

    触发器的命名

    触发器以 tr 作为前缀,触发器名为相应的表名加上后缀, Insert 触发器加 "_I", Delete
    触发器加 "_D", Update 触发器加 "_U", 如: tr_Customer_I, tr_Customer_D, tr_Customer_U。

    命名中其他注意事项

    1) 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符@)。
    2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字 符之间留空格。
    3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
    4) 保持字段名和类型的一致性, 在命名字段并为其指定数据类型的时候一定要保证一致 性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。
    5)所有的表、字段、存储过程等必须有注释,注释的语言是系统而定。

    程序设计

    以微软3.0文档为主
    1. 项目名称
    "公司名称"+"项目实际意义名称"
    e.g.:qikingYellowPage
    2. 页面命名
    规则 :每个单词的首字母大写,因为它是类。
    a. 父页面——使用名词进行描述
    b. 子页面 _列表—— "List" + "父页面"
    c. 子页面 _详细—— "Show" + "父页面""
    3. 页面传值
    "Id_" + "页面名称"
    4. 错误页面命名
    Error.aspx
    5. 用户登录
    UserLogin.aspx
    6. 文件夹命名
    单词首字母大写
    单数或复数,根据实际需要而定 .

  • 相关阅读:
    差分约束
    关系运算图。。。(差分约束)
    克鲁斯卡尔算法+并查集
    整体代换(数学)
    魔性の分块 | | jzoj1243 | | 线段树の暴力
    论人品 | | noip1015模拟考
    hash 表 | | jzoj 1335 | | 脑残+手残 | | 集合的关系
    凸轮大总结
    Floyd | | jzoj[1218] | | [Usaco2009 Dec]Toll 过路费 | | BZOJ 1774 | | 我也不知道该怎么写
    topsort | | jzoj[1226] | | NOIP2003神经网络
  • 原文地址:https://www.cnblogs.com/tufujie/p/5069240.html
Copyright © 2011-2022 走看看