数据库团队开发标准

数据库团队开发标准

说明:本标准以T-SQL为标准举例,是团队实际应用中的简化框架版。由于详细标准原文不适合对外公布,请多多原谅!欢迎大家多提宝贵的意见与建议。作者:快乐一生(QQ:42166145)

1、  数据表脚本标准:

--======================================================

--类别——编号、表实义名称说明

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

--[删除已有表]

IF EXISTS(SELECT name FROM sysobjects WHERE name=N’表逻辑名称’AND type=’U’)

     DROP TABLE 表逻辑名称

GO

--[新建表定义]

CREATE TABLE 表逻辑名称

(--字段名    字段类型    字段约束,             --字段注解,限范围字段要说明所表示含义

ID           bigint identity(1,1) primary key, --编号,主键约束

KeyId        varchar(32) default(‘’),        --关键字标识

Status       tinyint     default(0) check(Status=0 or Status=1),--状态,0=接收,1=发送

……

CTime        datetime    default(getdate())  --创建日期时间

)

GO

2、  视图脚本标准:

--======================================================

--类别——编号、实义名称说明

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

--[删除已有视图]

IF EXISTS(SELECT table_name FROM information_schema.views WHERE table_name=N’视图逻辑名称’)

     DROP VIEW  视图逻辑名称

GO

--[新建视图定义]

CREATE VIEW  视图逻辑名称

AS

Select * from 表名

WITH CHECK OPTION    --视图响应操作时是否检测值的完整性

GO

3、  存储过程脚本标准:

--======================================================

--过程类别——编号、过程实义名称说明

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

--[删除已有过程方法]

IF EXISTS(SELECT name FROM sysobjects WHERE name=N’过程名称’AND type=’P’)

     DROP PROCEDURE 过程名称

GO

--[新建过程代码定义]

CREATE PROCEDURE 过程名称

--[标准输入参数]

@inParam1 varchar(20)=’默认值’,    --说明:参数@inParam1varchar(20)类型,忽略=’默认值

--[标准输出参数]

@outParam2 varchar(30) output   --转出参数无默认值班,且必须有关键字output标识

AS

    Select @outParam2=’Hello ’+@inParam1

GO

4、  扩展函数脚本标准:

--======================================================

--函数类别——编号、实义名称说明

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

--[删除已有函数方法]

IF EXISTS(SELECT name FROM sysobjects WHERE name=N’函数名称’)

     DROP FUNCTION 函数名称

GO

--[新建函数代码定义]

CREATE FUNCTION 函数名称

(--[输入参数]

@Param1 int=0,   --参数说明:格式(参数名 类型=默认值),部分函数可无参数

@Param bit=0)

RETURNS table    --返回值班类型:inttablevarchar(n)bitdecimalfloat

AS

--填写运算代码

--并返回table数据

RETURNS select 1 as Result

GO

5、  索引脚本标准:

--======================================================

--类别——编号、实义名称说明

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

--[删除已有索引方法]

IF EXISTS(SELECT name FROM sysindexes WHERE name=N’索引名称’)

     DROP INDEX 索引名称

GO

--[新建索引代码定义]

CREATE INDEX 索引名称

ON 表名称(1  升序或降序,列2升序或降序[,……])  --排序: asc||desc

GO

6、  升级脚本标准:

--======================================================

--升级说明:XXXXXX

--升级条件:xxxxxx

--版 本 号:x.x.x.x  负责人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--其它注释:xxxxxx

--======================================================

 

--脚本详细代码

 

--[脚本规则]

A、初始化脚本:用来向表中插入基本动作的初始数据,一般50100条记录应该加入go提交。

   例:insert into (1,列2…,列n) values(1,值2…,值n)

   注:内容有分类的,按分类提交亦可,不必受50条记录限制。

 

B、升级脚本:由多SQL版本或多数据平台及软件系统升级等原因修改的内容,

具体采用以下格式:

--xxxxxxxx xxxx升级原因:xxxxx,更新:xxxxx,条件:xxxxx

Update set =新值 where <更新条件>

Go

注:在设定更新条件前,一定要预看待更新的记录是否符合要求

    Select *  from where <更新条件>

 

C、升级文件命名:

1yyyy-MM-dd-内容-升级脚本.sql

2、内容-yyyy-MM-dd-升级脚本.sql

以上两种命名形式可据实际需要来定。(可附加版本号)

 

7、  版本修订规则

--======================================================

--版本号:x.x.x.x  修订人:xxx

--修订日期:xxxxxxxx

--修订原因:xxxxxx

--修订内容:xxxxxx

--相关影响:xxxxxx

--其它注释:xxxxxx

--======================================================

 

A、每次修改脚本前,要先添加修改说明,才允许修改代码。

B、除“其它注释”项可不填写外,其它六项为必填内容。

Cxxxx表示实际内容,如果无内容要填写“无”。

D、不允许空项不填或删除项。

8、  初始数据规则:

A、 所有初始数据不允许直接填写到数据表中,必须采用Insert方法填加(保留脚本)

B、 所有升级脚本中修改字段时,必须暂停数据访问,采用脚本命令修改,且修改前至改后要采用

Select 等相关方式验证效果。

       C、所有数据库脚本升级,在执行脚本前必须备份当前数据库并暂停数据访问。

9、  名称定义规则:

A、常用大分类:s=系统,d=数据,log=日志,v=视图,p=存储过程,fn=函数,idx=索引

B、命名规则:大分类_小分类与对象名

C、表名、字段名、类型、约束定义()

其它规则与使用范围、方法暂略

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值