此规范包括表名命名规范,索引命名规范,外键命名规范和字段名命名规范。
一、表名命名规则
1.数据库表的命名以是名词的复数形式且都为小写,如cities, categories, friends等等
2.如果表名由几个单词组成,则单词间用下划线(“_”)分割,如subscribed_pois,poi_categories等
3.表名尽量用全名
4.表名限制在30个字符内。当表的全名超过30字符时,可用缩写来减少表名的长度,如description –> desc;information –> info;address –> addr等
二、表字段名命名规则
1.字段名为小写
2.字段名为有意义的单词,或单词的缩写
3.如果字段由几个单词组成,则单词间用下划线(“_”)分割,如client_id,post_code等
4.字段名限制在30个字符内。当字段名超过30字符时,可用缩写来减少字段名的长度,如description –> desc;information –> info;address –> addr等
三、索引命名规则
1.索引须按照IDX_table_<column>_<column>,其中<table>是建立索引的表名,<column>是建立索引的字段名
2.索引名限制在30个字符内。当索引名超过30字符时,可用缩写来减少索引名的长度,如description –> desc;information –> info;address –> addr等
四、主键、外键命名规则
1.主键按照PK_<table>的规则命名,其中<table>为数据库表名
2.唯一键按照UK_<table>_<column>的规则命名,其中<table>为数据块表名,<column>为字段名
3.外键按照FK_<pppp>_<cccc>_<nn>的规则命名,其中<pppp>为父表名,<cccc>为子表名,<nn>为序列号
对象名 |
前缀 |
范例 |
表(table) | tbl_/t_(或不加前缀) | userinfo/t_user_info/tbl_user_info |
视图(view) | v_/v | v_user_info/vuserinfo |
序列(sequence) | seq_ | seq_user_info |
簇(cluster) | c_ | c_user_info |
触发器(trigger) | trg_ | trg_user_info |
存储过程(procedure) | sp_/p_ | sp_user_info/p_user_info |
函数(function) | f_/fn_ | fn_user_info/f_user_info |
物化视图(materialized view) | mv_ | mv_user_info |
包和包体(package & package body) | pkg_ | pkg_user_info |
类和类体(type & type body) | typ_ | typ_user_info |
主键(primary key) | pk_ | pk_user_info |
外键(foreign key) | fk_ | fk_user_info_fieldname |
唯一索引(unique index) | uk_ | uk_user_info_fieldname |
普通索引(normal index) | idx_ | idx_user_info_fieldname |
位图索引(bitmap index) | bk_ | bk_user_info_fieldname |
同义词(synonym) | 依据所分配的表所属模块/模式 | |
数据库链接(database link) | 无特殊要求 |
表格来自:http://www.uml.org.cn/sjjm/201305065.asp
数据库规范化设计的一些基本要求: