`
izuoyan
  • 浏览: 8948701 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SQL SERVER数据库命名编码规范

阅读更多
出处:http://szp930.blog.163.com/blog/static/89688252007106104857647/

版本记录:
当前版本:
作 者:
完成日期:
签 收 人:
文件状态:
[ ] 草稿
[√] 正式发布
[ ] 正在修改
签收日期:
1、 编写目的
使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和
继承。
2、 适用范围
本规范适用于公司范围内所有以SQL SERVER 2000 作为后台数据库的应用系统和项目
开发工作。
3、 对象命名规范
3.1 数据库名
数据库名定义为系统名+_+模块名,
如“yd_df” 表示用电系统的电费处理模块数据库。
数据库名全部采用小写。
3.2 数据库文件
数据文件命名采用数据库名+_+文件类型+[文件序号]+文件后缀,
[文件序号]为1、2、3…9 等数值,当数据库中某一文件类型的文件有多个时加上文
件序号以区别。只有一个时可不加。
第2/8页
文件后缀:主数据文件为.mdf,其它数据文件为.ndf,日志文件为.ldf
文件名全部采用小写。
比如系统名为“yd_df”,则数据库数据文件命名为“yd_df_data.mdf”,日志文件命
名为“yd_df_log.ldf”。
3.3 表
表命名要遵循以下原则:
Ø 采用“系统名+t_+模块名+_+表义名” 格式构成
Ø 若数据库中只含有单个模块,命名可采用“系统名+t_+表义名”格式构成
Ø 整个表名的长度不要超过30 个字符
Ø 系统名、模块名均采用小写字符
Ø 模块名或表义名均以其汉语拼音的首字符命名,但常用词也可使用英文单词命名
(如 UserType、UserInfo 等),表义名中汉语拼音均采用小写,且字符间不加分割
符;单词命名的表表义名中单词的首字符大写,其它字符小写,多个单词间也不加
任何分割符,单词全部采用单数形式
Ø 表别名命名规则:取表义名的前3 个字符加最后一个字符。如果存在冲突,适当增
加字符(如取表义名的前4 个字符加最后一个字符等)
Ø 表的命名如
dft_gy_cbap:系统名(电费 df)+t_+模块名(高压 gy)+_+表义名(抄表安排 cbap)
dft_cbbj: 系统名(电费 df)+t_+表义名(抄表标记 cbbj)
Ø 关联表命名为Re_表A_表B,Re 是Relative的缩写,表A 和表B均采用其表义名或
缩写形式。
3.4 属性(列或字段)
属性命名遵循以下原则:
Ø 采用有意义的列名,为实际含义的汉语拼音的首字符,且字符间不加任何分割符。
Ø 属性名前不要加表名等作为前缀。
Ø 属性后不加任何类型标识作为后缀。
Ø 不要使用“ID”作为列名。
Ø 关联字段命名以 “cd+_+关联表的表义名(或缩写)+_+字段名”进行
第3/8页
3.5 主键
Ø 任何表都必须定义主键
Ø 表主键命名为:“pk+_+表名(或缩写)+_+主键标识”
如“pk_YHXX_IDKH”等
3.6 外键
表外键命名为: “fk+_+表名(或缩写)+_主表名(或缩写)+_+主键标识”
如“fk_YHLX_YHXX_idcard”等
3.7 索引
索引的命名为:“表名(或缩写)+_+列名+_idx”。
其中多单词组成的属性列列名取前几个单词首字符,加末单词组成
如yd_kh 表khid 上的index: yd_kh_khid_idx
3.8 Default 标识
由“df+_+<default 标识名>”组成
3.9 Rule 标识
由“ru+_+<Rule 标识名>”组成
3.10 自定义数据类型
自定义数据类型由“ud+_+<自定义数据类型标识>+_+<数据类型>”组成
3.11 触发器
Ø AFTER型触发器
系统名+tr_+<表名>_+<i,u,d的任意组合>
其中i,u,d 分别表示insert、update和delete
Ø INSTEAD OF型触发器
第4/8页
系统名+ti_+<表名>+_+<i,u,d的任意组合>
其中i,u,d 分别表示insert、update和delete
3.12 视图
视图命名以系统名v_+模块名作为前缀,其他命名规则和表的命名类似
3.13 存储过程
存储过程命名由“系统名+sp+_+存储过程标识(缩写)”组成
存储过程标识要以实际含义的汉语拼音的首字符或以动宾形式构成,并用下划线分割各个
组成部分。
如增加代理商的帐户的存储过程为“sfsp_Ins_Agent_Account”。
3.14 函数
函数命名由“系统名+f+_+函数标识”组成
3.15 变量名
Ø 参数变量命名采用“i (o或io)+_+ 名称”形式,前缀i 或o 表输入还是输出参数
Ø 过程变量命名采用“l+_+ 名称”形式
Ø 变量名采用小写,若属于词组形式,用下划线分隔每个单词
3.16 角色
Ø 全部使用小写字符命名
Ø 由“系统名称+_+role+_+名词(或缩写)或名词短语(或缩写)”组成
如用电系统的查询角色:yd_role_query
3.17 用户
Ø 全部使用小写字符命名
Ø 由“系统名称+_+user+_+名词(或缩写)或名词短语(或缩写)”组成
如用电系统的管理用户:yd_user_sa
第5/8页
3.18 命名中的其它注意事项
Ø 命名都不得超过30 个字符。变量名长度不要超过29个字符(不包括标识字符@)
Ø 不要在对象名的字符之间留空格
Ø 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突
4、 编码规范
4.1 一般性注释
注释可以包含在批处理中。在触发器、存储过程中包含描述性注释将会大大增加文本
的可读性和可维护性。
4.1.1 注释尽可能详细、全面。
4.1.2 创建每一数据对象前,应具体描述该对象的功能和用途。
4.1.3 传入参数的含义应该有所说明。如果取值范围确定,也应该一并说明。取值有特定含义
的变量(如boolean类型变量),应给出每个值的含义。
4.1.4 注释语法包含两种情况:单行注释、多行注释
单行注释:注释前有两个连字符(--),最后以行尾序列(CR-LF)结束。一般,对变
量、条件子句可以采用该类注释。
多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。
4.1.5 注释应当简洁,同时应描述清晰。
4.2 函数头注释
编写函数文本--如视图、函数、触发器、存储过程以及其他数据对象时,必须为每个
函数增加适当注释。该注释以多行注释为主,主要结构如下:
/************************************************************************
*name : --函数名
*function : --函数功能
*input : --输入参数
*output : --输出参数
*author : --作者
第6/8页
*CreateDate : --创建时间
*UpdateDate : --函数更改信息(包括作者、时间、更改内容等)
*************************************************************************/
CREATE PROCEDURE dfsp_xxx

4.3 大小写约定
SQL语句的所有表名、字段名全部小写,系统保留字、内置函数名、sql 保留字大写。
4.4 代码缩进约定
4.4.1 一行有多列,超过80个字符时,基于列对齐原则,采用下行缩进
4.4.2 where 子句书写时,每个条件占一行,语句另起一行时,以保留字或者连接符开始,连
接符右对齐。
4.5 多表连接时,使用表的别名来引用列
4.6 常用SQL 语句的编写规范
常用SQL 语句的编写示例如下
4.6.1 CREATE 语句
CREATE TABLE publishers
(
pub_id char(4) NOT NULL --标识
CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED
CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756')
OR pub_id LIKE '99[0-9][0-9]'),
pub_name varchar(40) NULL, --名称
city varchar(20) NULL, --城市
state char(2) NULL, --州
country varchar(30) NULL --国家
DEFAULT('USA')
)
4.6.2 SELECT语句
SELECT <选择列列表>
[ INTO <新表名> ]
FROM <要选择的表名>
第7/8页
[ WHERE <搜索条件> ]
[ GROUP BY <分组条件> ]
[ HAVING <搜索条件> ]
[ ORDER BY <排序规则> [ ASC | DESC ] ]
4.6.3 INSERT语句
INSERT INTO <要插入的表名>
(<列1>, <列2>, .., <列n-1>, <列n>)
VALUES (<列1值>, <列2值>, .., <列n-1值>, <列n值>)
4.6.4 UPDATE语句
UPDATE <要更新的表名>
SET <要更新的列> = <列值>
4.6.5 DELETE语句
DELETE FROM authors
WHERE au_lname = 'McBadden'
4.7 条件执行语句(IF)编写规范
条件执行语句IF…ELSE 按以下格式编写
IF <条件表达式>
BEGIN
<命令行或程序块>
END
[ELSE IF <条件表达式>
BEGIN
<命令行或程序块>
END]
注:<1>上式若BEGIN…END 之间只包含单独一命令行,为使代码紧凑,BEGIN和END边界
也常省略
<2>IF…ELSE 语句可以嵌套,为提高代码的可读性,嵌套层次不应多于5 层。当嵌套
层次太多时应考虑使用CASE 语句。
4.8 条件选择语句(CASE)编写规范
条件选择语句CASE…WHEN 按以下格式编写
CASE <运算式>
WHEN <运算式> THEN <运算式>

第8/8页
WHEN <运算式> THEN <运算式>
[ELSE <运算式>]
END

CASE
WHEN <条件表达式> THEN <运算式>

WHEN <条件表达式> THEN <运算式>
[ELSE <运算式>]
END
4.9 循环执行语句(WHILE)编写规范
循环执行语句WHILE…CONTINUE…BREAK按以下格式编写
WHILE <条件表达式>
BEGIN
<命令行或程序块>
[BREAK]
[CONTINUE]

<命令行或程序块>
END



本文出自:CSDN技术中心 数据库对象命名规范
分享到:
评论

相关推荐

    SQL SERVER数据库命名编码规范.pdf

    SQL SERVER数据库命名编码规范.pdf

    MSSQLServer命名及编码规范

    编写本文档的目的是在使用MS SQL Server数据库的过程中,使用统一的命名和编码规范,使数据库命名及编码风格标准化,以便于阅读、理解和继承。

    SQL Server 设计、命名、编码规范

    SQL Server 数据库 设计 命名 编码 规范 word档

    数据库设计规范-编码规范.docx

    4 设计概要 4.1 设计环境 a) ORACLE 11G R2 数据库 ORACLE 11G R2 操作系统 LINUX 6以上版本,显示图形操作界面 b) MS SQL SERVER 2005 数据库设计规范-编码规范全文共25页,当前为第2页。数据库设计规范-编码规范...

    SQL数据库设计命名规范.pdf

    附录 2 SQL Server 数据库命名与编码规范 一.数据库对象命名基本规范 1. 总体命名规范 名称的长度不超过 32 个字符。 名称采用英文单词、英文单词缩写和数字,单词之间用"_"分隔。 说明:除非用户提供文档化的行业...

    SQL Sever编码规范

    SQL Sever的编码规范说明文档 数据库对象命名基本规范 Transact-SQL编程基本规范

    Microsoft SQL Server 2005 Express Edition SP3

    SQL Server Express 可以根据协议重新进行发布,并可作为客户端数据库以及基本服务器数据库使用。SQL Server Express 是独立软件供应商 (ISV)、服务器用户、非专业开发人员、Web 应用程序开发人员、网站宿主以及...

    sql 您不知道的一切

    MySQL入门学习(一)安装篇.doc SQL Server 设计、命名、编码规范.doc SQL Server数据库开发的二十一条军规.doc SQL操作全集+.doc SQL优化34条.doc

    进销存系统数据库设计报告.doc

    数据库的命名:全部由英文小写字母组成,单词之间使用下划线分割 如:PSS进销存系统后台数据库命名:pss。 2. 数据库表命名:表义名(可以使用缩写) 表义名:首字母大写的英文单词,单词之间以下划线分割。 3. 数据库...

    电商项目数据库设计文档.docx

    本文档的主要读者包括: 本系统的设计人员:包括模块设计人员 本系统的系统设计人员:包括数据库开发,编码人员 本系统的测试人员 数据库环境说明 数据库采用Micrsoft SQL Server数据库管理系统建立并维护。...

    《ASP.NET程序设计实用教程》配套资料-cd, ppt

    内容提要 &lt;br&gt; 本书系统地介绍了ASP.NET程序设计开发,全书案例程序使用C#编写,并遵守C#的编码规范。所有案例程序均来自课堂教学和工程实践,注重知识的兼容性和规范性。  依照ASP.NET编程体系,本书...

    小区物业管理系统 小区物业管理系统

    数据库命名标准与规范 2.4.3.2 逻辑设计 2.4.3.3 物理数据库的设计 表、视图汇总 各表、视图设计详解 2.4.4 界面设计 2.4.4.1 输入界面设计 1界面设计思想 2界面设计原则 3界面设计样式 4常见提示信息样式 5常见...

    JAVA医院挂号系统毕业设计源码+选题介绍+功能需求+技术要求分析等内容

    遵循程序设计编码规范,标识符应命名规范、代码注释充分、排版风格良好;要求系统具有良好的安全性,能有效防止非法登录用户访问需授权网页;系统具有良好的人机交互界面,界面应布局清晰、简洁大方;

    数据库中存储过程的自动化生成VC源代码

    设计时的自动化加快了编码,并保证所有过程都用相同的命名规范和结构来生成。为了在大型 SQL 项目中尽量提高编码的效率,作者编写了一系列的设计时 (design-time)存储过程,用它们来生成运行时(run-time)存储...

    JSp 医院预约挂号系统源码+数据库

    5. 遵循程序设计编码规范,标识符应命名规范、代码注释充分、排版风格良好; 6. 使用JS对表单提交的数据及格式进行校验(是否为空、是否为数字等等) 7. 要求系统具有良好的安全性,能有效防止非法登录用户访问需...

    oracle各种文档

    数据仓库建模技术.pdf 在数据库中实现base64编码和解码.doc 触发器使用教程和命名规范.doc TransactSQL.doc Schema常用脚本.doc rsultset.doc oracle傻瓜手册 ORACLE 中存储过程定期分割表.doc ORACLE 物理文件大小...

    asp.net知识库

    Oracle编程的编码规范及命名规则 Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的一些基础知识 在组件之间实现事务和异步提交事务(NET2.0) 其它 在.NET访问MySql数据库时的...

    软件工程答辩题.docx

    参考A:采用B/S模式设计,利用ASP.NET作为前台的应用程序开发语言,利用SQL Server创建后台的数据库,Visual Studio 2010的开发环境下进行开发。 可能Q:论文中如何体现软件生命周期?系统从设计到实现经历了哪些...

    Javashop开发规范V2.2

    xml Mysql Oracle SqlServer int int NUMBER smallint int(1) smallint(1) NUMBER(2) int memo text CLOB text datetime datetime TIMESTAMP datetime long bigint NUMBER bigint decimal decimal NUMBER(20,2) ...

Global site tag (gtag.js) - Google Analytics