数据库设计(6)_命名及编码规范_SQL SERVER
一、综述
命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。
(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)避免字段名中包含表名,如
相关文档:
sql日期转换参数
--日期转换参数,值得收藏
select CONVERT(varchar, getdate(), 120)
2004-09-12 11:06:08
select convert(varchar(10),getdate() ,120)
----------
2009-04-09
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608
select CONVERT( ......
set @sql = 'select * from OPENROWSET(''SQLOLEDB'',''SERVER='+@serverip+';uid=sa;pwd=sa;Database='+@databaseName+''',''SET FMTONLY OFF;set nocount on exec procName '''''+@yqid+''''''' ) as   ......
“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。
“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。
在说区别之前,得先介绍GROUP BY这个子句,而在说GROUP子句前 ......
以下是第一篇:
/*--比较两个数据库的表结构差异
--*/
/*--调用示例
exec p_comparestructure 'xzkh_model','xzkh_new'
--*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_comparestructure]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_comparestructure ......