mysql schema命名规范_数据库设计 命名及编码规范

http://blog.csdn.net/seusoftware/archive/2010/04/24/5524414.aspx

引用

一、综述

命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。

(1)避免使用中文,尽量使用全拼音或全英文,以方便国际化;

(2)避免拼音和英文的中西合璧,如:CAOZUO_TIME;

(3)避免在命名中包括空格及特殊字符;

(4)避免使用保留字;

(5)避免名称太长,注意缩写的使用,缩写规则为单词前4个字母,合成词取每个单词前两位组成4位缩写,对于约定束成的缩写不必遵守取4位的规则,比如:NO代表NUMBER,如果取NUMB反而让人费解。

二、命名规范

2.1、数据库

前缀:使用与数据库业务对象相对应的英文单词或英文缩写;

名称:使用与数据库业务性质相对应的英文单词或英文缩写;

举例:BHO_STATISTIC

注意:

(1)名称一律使用单数形式;

(2)动词一律保持动宾结构,通常增、删、改、查、统计的动作,使用ADD、DEL、UPD、QRY、STA作为缩写,以降低命名的长度;

2.2、数据库文件及文件组

(1)数据库文件存放路径:D:\DATA、E:\LOG;

(2)数据库文件组命名:主文件组 PRIMARY,次文件组 FG_业务模块_数据分类,如:FG_CONFIG_ACCOUNT;

(3)数据库主数据文件命名:DBNAME_DATA.MDF,如:BHO_STATISTIC_DATA.MDF;

(4)数据库从数据文件命名:DBNAME_DATA_XX.NDF,XX为两位整数,不足两位第1位用0补齐,如:BHO_STATISTIC_DATA_01.NDF;

(5)数据库日志文件命名:DBNAME_LOG_XX.LDF,XX为两位整数,不足两位第1位用0补齐,如:BHO_STATISTIC_LOG_01.LDF;

2.3、数据库逻辑对象

2.3.1、架构

通常使用业务模块名作为架构名,如:配置模块(CONFIG)。

(1)方便数据库对象分类;

(2)方便权限管理。

2.3.2、表

前缀、名称、后缀均以下划线(_)间隔,字母均使用大写。

(1) 实体表

前缀:ETB(E表示ENTITY)

名称:架构名.ETB_名词

举例:PUBLIC.ETB_LEAGUE

(2)关系表

前缀:RTB(R表示RELATION)

名称:架构名.RTB_实体英文单词缩写_实体英文单词缩写[_实体英文单词缩写…]

举例:PUBLIC.RTB_HOPA_LEAG(即CONFIG.RTB_HOMEPAGE_LEAGUE)

(3)事实表

前缀:FACT

名称:架构名.FACT_动宾结构

举例:CONFIG.FACT _ADD_USER

(4)报表

前缀:RPT(REPORT的简写)

名称:架构名.RPT_动宾结构

举例:CONFIG.RPT_ ADD_USER

(5)字段

名称:词_词,全部大写

举例:FIRST_NAME

注意:

a)避免字段名中包含表名,如:EMPLOYEE_FIRST_NAME;

b)避免使用数字,如:COLUMN_1、COLUMN_2;

c)避免字段名包含数据类型,如:COLUMN_CHAR、COLUMN_NUMBER;

c)冗余字段可考虑加上前缀X或R,如:X_COL_NAME

(6)索引

前缀:IX,用两个字母是为了和约束一致起来,约束:PK、FK、UQ、CK、DF、NL;

名称:表名_列名1[_列名2…],为避免索引名太长,也可以使用表名_N,N为自然数;

举例:IX_ CONFIG _FACT_ADD_USER_FACT_ID、IX_ CONFIG _FACT_ADD_USER_1;

2.3.3、视图

前缀:V

名称:架构名.V_动宾结构

举例:CONFIG .V_QRY_USER

2.3.4、存储过程

前缀:P

名称:架构名.P_动宾结构

举例:CONFIG .P_ADD_USER

2.3.5、触发器

前缀:Tr

名称:架构名.Tr_动宾结构

举例:CONFIG.Tr_ADD_USER

2.3.6、函数

前缀:F

名称:架构名.F_动宾结构

举例:CONFIG.F_QRY_USER

其他未列举的数据库逻辑对象,可参考以上规则进行命名。

三、编码规范

3.1、外部参数

(1)对使用频繁、关键性的变量,请在定义时加上注释标明其含义;

(2)尽量少用单字母变量,禁止使用诸如i、j等作为变量名;

(3)注意小写字母l和数字1之间的区别使用;

(4)参数命名约定:@名称_名称,变量名称全部用小写,以示与表中大写字段区别,如:@user_name;

3.2、内部参数

同外部参数

3.3、关键字及系统内置对象

(1)关键字、系统函数、系统变量等,全部大写;

(2)数据类型使用小写,以与参数一致;

3.4、代码块

(1)使用TAB来缩进,设置TAB = 4,并将TAB自动转换为空格;

(2)每行控制在列边界80以内;

(3)注释全部另起一行,不要和代码合在一行,单行注释采用--,,多行注释采用/* 注释内容 */。另外注释内容尽量使用英文,中文注释在英文版的DBMS中可能会导致错误。

(4)多个Begin…End语句嵌套时采用如下方式

BEGIN /*1*/

...

BEGIN /*1.1*/

...

BEGIN /*1.1.1*/

...

END /*1.1.1*/

BEGIN /*1.1.2*/

...

END /*1.1.2*/

END /*1.1*/

END /*1*/

其中1表示第一级嵌套,1.1表示第二级嵌套,1.1.1表示第三级嵌套,1.1.2表示第三级的第二个嵌套… ,一般不要超过三级嵌套。

(5)在保证缩进格式的前提下,可以通过对齐关键字来提高代码的可读性,如下:

SELECT *

FROM SCHEMA_NAME.TABLE_NAME

WHERE COL_NAME = 'XXX'

3.5、可编程对象

3.5.1、代码模板

推荐使用SQL  SERVER开发工具中的模板来生成格式,再根据个人习惯进行适当修改即可。

3.5.2、全文注释

/******************************************************************

用   途:

作   者:

创建日期:

调用举例:

修订记录:

  :修改内容简要说明

******************************************************************/

/******************************************************************

Function:

Author:

Createdate:

execute e.g:

modify record:

:description

******************************************************************/

3.5.3、返回值

存储过程中的返回值,分两种:RETURN和OUTPUT参数。

(1)RETURN值作为存储过程的执行状态,0为正常结束,非0为异常结束。

(2)使用OUTPUT参数返回错误编号和错误文本,以供弹出提示;

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-01-21 13:14

浏览 1325

评论

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么检测mysql主从正常_使用pt-table-checksum检查主从复制是否正常

其实对于一个小小的DBA来说,有时候是无法避免这些问题的。于是我们就需要一个工具,来检查主从复制是否正常,是否出现了错误。pt-table-checksum。相关阅读:MySQL 主从复制事件校验 MySQL Replic…

java 自动类型_java类型自动转换

package com.kevin.basic;/** java类型自动转换方面的知识点* int类型 double类型 默认类型*/public class Test {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stub/* int类型是整数的默认类型。* (1)第一种:正确运行…

a java虚拟机_Java虚拟机

内存分配以及回收Java虚拟机运行时数据区,分为以下几个模块,包含所有线程共有的数据区和线程单独享有的数据区。程序计数器:字节码行号,通过这个计数器来选取下一条需要执行的指令,线程独有。虚拟机栈:线程…

java tostring的用处_JAVA的tostring()方法的作用是什么呢?

展开全部1.toString方法Object类具有一个toString()方法,你创建的每个类都会继承62616964757a686964616fe4b893e5b19e31333365666236该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需…

java软件工程_java复习

计算机一些物理装置按系统结构的要求构成一个有机整体为计算机软件运行提供物质基础。计算机硬件:CPU、主板(motherboard)、内存(memory)、电源、主机箱、硬盘、显卡、键盘、鼠标、显示器等IO:input输入(鼠标键盘)、output输出(显示器音响)冯诺依曼体系结…

java getparametermap_重写getParameterMap后,报错 ,

想做个参数过滤功能,如何修改,或者其他实现方式ServletExcludeHadler类在HttpServletRequestWrapper类里重写了getParameterMap现在报错java.lang.ClassCastException: org.apache.catalina.util.ParameterMap cannot be cast to java.util.HashMapat co…

java 抽样_Java编程实现二项分布的采样或抽样实例代码

本文研究的主要是Java编程实现二项分布的采样或抽样,下面是详细实现代码。如下程序为n100,p0.9的二项分布采样,共采样10000次package function;import org.apache.commons.math3.distribution.BetaDistribution;import org.apache.commons.ma…

java中什么是 伪共享_【Java】聊聊多线程中的伪共享现象

首页专栏java文章详情0聊聊多线程中的伪共享现象小强大人发布于 1 月 27 日什么是伪共享?讲伪共享之前,让我们先乘坐时光机,回到大学课堂,来重温下计算机组成原理的基础知识。我们知道,CPU和内存的运行速度相差很大&am…

新闻资讯java开发_新闻资讯app开发的功能与意义

获取新闻的目的因人而异,但对获取新闻的需求是一样的。现在是移动互联网的时代。人们不再想依靠传统的手段,而把便利作为获取服务的核心。因此,开发新闻咨询app是必要的。其到来不仅意味着获得新闻登上新的阶梯,还因为画出了圆满的…

php实时上传多张图片,PHP实现多张图片上传预览功能

PHP实现多张图片上传预览功能,支持左右移动图片切换位置、删除图片,限制图片上传的数量等-向左移动图片function reverse_left(obj) {var obj_li obj.parents("li");var obj_prev obj_li.prev("li");if (obj_prev.hasClass("…

centos php 默认安装目录,centos系统中的软件安装目录在哪

centos系统中软件的默认安装目录一般在/usr/local或者/opt中。我们还可以通过whereis命令来查看软件的实际安装路径。命令:whereis功能介绍:在特定目录中查找符合条件的文件。这些文件的烈性应属于原始代码,二进制文件,或是帮助文…

php atlas,apache atlas是什么

Atlas是一组可伸缩和可扩展的核心基础治理服务——使企业能够有效和高效地满足Hadoop中的遵从性需求,并允许与整个企业数据生态系统进行集成。Apache Atlas为组织提供开放的元数据管理和治理能力,以建立其数据资产的目录,对这些资产进行分类和…

php2588,搞清楚一下必胜2588z和2582z哪个好点?都有些什么区别?内幕评测分析

这二个必胜2588z和2582z区别不是很大的哈,款式和配置是差不多的,只是必胜2582Z 2052Z更强一些,看个人需要吧,不过家用的话,这两款都是可以的,我自己用的是必胜2582Z 2052Z,款式多大气的&#xf…

超表面透镜相位matlab,基于超透镜的小F数大景深镜头的设计方法及应用与流程...

本发明涉及基于超透镜的小f数大景深镜头的设计方法及应用。背景技术:监控系统中采用的透镜往往要求具有尽量高的成像分辨率和尽量大的景深,通常情况下,高分辨率的透镜一般具有较小f数,大的景深又要求焦距较短。但是利用传统透镜的…

php等级证书,php银行开放平台接口1:php 对cer证书处理

做一个银行接口要进行证书解析和签名,然后验证获token银行开放平台提供了2个证书public.cer 证书 :里面只有公钥200090491595.pfx证书 :里面有公钥和私钥这里专门做public.cer的说明和处理,.cer为扩展的证书,就是一个x…

oracle 9i hwm,Oracle 10g HWM原理及性能优化

摘 要: HWM(High Water Mark)是表中已经使用过的存储空间与未使用过的存储空间之间的分界线,HWM对全表扫描的性能有非常大的影响。当全表扫描时,Oracle会读取HWM下所有的块,即使这些块中有很多是空块,空块的存在,也即是…

五款救急的linux文件恢复软件,五款救急的Linux文件恢复软件

BKJIA快译】文件有备份,啥子也不愁!文件无备份,啥子也白搭。但是,面对突如其来的悲剧,文件恢复软件来帮忙时可以尽量最小化减小损失。下面Linux用户需知的5款文件恢复软件:#1,Ddrescue主页&…

linux 网络路径中网络协议栈有几种,linux网络路径中网络协议栈有几种

网络路径有很多种,其中的linux网络路径是最常用的,也是最需要关注的。linux网络路径中网络协议栈有几种?电脑新装系统漏洞应不应该修复?了解网络安全常识,首先就要了解计算机网络安全有哪些基本注意事项,下面佰佰安全网小编就带…

华硕T100 安装linux,【华硕T100TA3740评测】双硬盘组合 华硕T100TA挑战存储极限(全文)_华硕 T100TA3740_笔记本评测-中关村在线...

一直以来产品线的细化和完善完全是在于对于行业空白的填补而实现的,比如笔记本电脑的推出就为了弥补人们移动办公的空白,而平板电脑的推出是为了弥补智能手机和笔记本电脑市场的空白。2010年推出的iPad可谓创造了一个全新的品类——平板电脑,…

用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,单片机编程控制LED七段数码管作显示的篮球赛计时计分系统...

本次设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。系统应具有赛程定时设置,赛程时间暂停,及时刷新甲、乙双方的成绩以及赛后成绩暂存等功能。内容包括:显示、键盘、时钟等内容设计说明2.1需求分析2.1.1 计分系统分为“A队…