讓你提前認識軟體開發(29):資料庫指令碼檔案的布局

來源:互聯網
上載者:User

第2部分 資料庫SQL語言

資料庫指令碼檔案的布局

 

       “沒有規矩,不成方圓”,規範資料庫指令碼檔案的代碼布局具有以下重要意義:

        (1) 可表現出代碼良好的邏輯結構,提高代碼的準確性、連續性、可讀性及可維護性。

        (2) 有利於提高產品的開發品質和效率,並降低開發成本。

        (3) 對於開發人員來說,養成良好的指令碼編寫習慣有助於提高個人的資料庫指令碼編程水平,進而提高指令碼編程效率。

        可見,統一的、良好的指令碼代碼布局和風格不僅僅是個人主觀美學或形式上的問題,而且影響到產品的品質,並涉及到自身指令碼編程能力的提高。

 

1. 指令碼布局順序概述

        在實際的軟體開發項目中,統一規範指令碼布局順序可方便對代碼的閱讀,利於後續的維護及測試修改。可採用以下兩種方式來布局指令檔內容:

        方式一:

檔案頭

初始化

使用者及存取權限的建立

資料表的建立

預存程序的建立

資料庫任務的建立

結束

 

        方式二:

檔案頭

初始化

資料表的建立

預存程序的建立

資料庫任務的建立

使用者及存取權限的建立

結束

 

         注意:

         (1) 一個普通的指令檔包含了方式一和方式二中的7個部分。為了便於區分和閱讀,各個部分要使用註解區塊隔離開來(注釋符使用“--”)。

         (2) “使用者及存取權限的建立”可以放在第三部分,也可以放在第六部分。

         (3) 各部分前統一使用標註說明,相關內容必須寫在對應部分,如果相關內容為空白,也必須保留該部分的標註說明。

 

2. 指令碼布局樣本

         採用方式一,基於Sybase資料庫實現的指令碼程式碼範例如下:

--*********************************************************************

--著作權 (C)2014, Zhou Zhaoxiong。

--資料庫版本: Sybase ASE Enterprise 15.0

--內容摘要:指令檔布局樣本

--作    者: Zhou Zhaoxiong

--完成日期: 20140616

--修改記錄1:

--    修改日期:

--    版本號碼:

--    修改人:

--    修改內容:

--**********************************************************************/

--**************************************************

-- initialization 初始化            

--**************************************************

use master

go

use xxx              -- 要使用的資料庫

go

checkpoint

go

 

dump tran xxx with no_log    -- 日誌截斷處理

go

 

--************************************************************

-- user and right creation使用者及許可權的建立     

--************************************************************

exec sp_addalias xxx, dbo

go

 

--***********************************************************************

-- table creation   資料表的建立

--***********************************************************************

--範例表tb_example

if exists(select 1 from sysobjects where id = object_id('tb_example'))

begin

    drop table tb_example

end

go

 

create table tb_example

(

    name    varchar(30)   not null,           --名字

    age     int           not null           --年齡

)

go

 

--建立索引

create index idx_tb_example1 on tb_example(name)

go

 

--************************************************************

-- procedure creation      預存程序的建立     

--************************************************************

--資訊查詢預存程序pr_selectinfo

--輸入參數:@v_name姓名,@v_age 年齡

--輸出參數:無

if exists (select 1 from sysobjects where id = object_id('pr_selectinfo'))

begin

    drop procedure pr_selectinfo

end

go

 

create procedure pr_selectinfo

    @v_name      varchar(30),         --姓名

    @v_age        int                --年齡

as

begin

    ......

end

go

 

print 'create procedure pr_selectinfo ok'

go

 

--**************************************************

-- task creation      資料庫任務的建立

--**************************************************

……

 

--**************************************************

-- finalization    結束

--**************************************************

……

 

        在實際的軟體項目中,對指令檔的布局都有其嚴格的規定,開發人員需要遵照編程規範來書寫指令碼代碼。這不僅有利於對代碼的閱讀和修改,也有利於團隊的技術交流與共用。

 

 

(本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,號:245924426,歡迎關注!)

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.