乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      從零開始編寫自己的C#框架(9)——數(shù)據(jù)庫設(shè)計(jì)與創(chuàng)建

       昵稱10504424 2014-04-28
       對于千萬級與百萬級數(shù)據(jù)庫設(shè)計(jì)是有所區(qū)別的,由于本項(xiàng)目是基于中小型軟件開發(fā)框架來設(shè)計(jì),記錄量相對會比較少,所以數(shù)據(jù)庫設(shè)計(jì)時(shí)考慮的角度是:與開發(fā)相結(jié)合;空間換性能;空間換開發(fā)效率;減少null異常......當(dāng)然不同的公司與項(xiàng)目要求不同,初學(xué)者要學(xué)會適應(yīng)不同的項(xiàng)目開發(fā)要求,使用本框架開發(fā)時(shí),必須嚴(yán)格按照本章節(jié)的要求來設(shè)計(jì)數(shù)據(jù)庫,不然可能會產(chǎn)生不可控的異常。

      從零開始編寫自己的C#框架

      數(shù)據(jù)庫設(shè)計(jì)規(guī)范

      文件狀態(tài):

      [√] 草稿

      [ ] 正式發(fā)布

      [ ] 正在修改

      文件標(biāo)識:

      C#框架

      當(dāng)前版本:

      0.1

      作 者:

      陳煥(AllEmpty)

      聯(lián)系方式:

      1654937@qq.com

      更新日期:

      2014-04-26

      版本/狀態(tài)

      作者

      參與者

      起止日期

      備注

      0.1

      陳煥(AllEmpty)

      2014-04-26

      創(chuàng)建

      目 錄

      一、 文檔介紹 3
      1、文檔目的 3
      2、文檔說明 3
      3、讀者對象 3
      4、系統(tǒng)開發(fā)強(qiáng)度等級 3
      5、使用工具 3
      6、ExcelToSQLString2.91 for July軟件介紹 3
      二、 創(chuàng)建數(shù)據(jù)庫 4
      1、 數(shù)據(jù)表設(shè)計(jì)要求 4
      2、 數(shù)據(jù)字典設(shè)計(jì)要求 4
      3、 數(shù)據(jù)庫存儲過程創(chuàng)建規(guī)范 5
      4、 生成SQL代碼 5

      一、文檔介紹
      1、文檔目的
      本文檔是《從零開始編寫自己的C#框架》項(xiàng)目后臺管理系統(tǒng)的開發(fā)指引說明。


      2、文檔說明
      本文主要講述數(shù)據(jù)庫設(shè)計(jì)的要求與規(guī)范,開發(fā)者必須嚴(yán)格按照本規(guī)范來設(shè)計(jì),不然可能在開發(fā)中會產(chǎn)生不可控的異常。
      本項(xiàng)目是基于中小型軟件開發(fā)框架來設(shè)計(jì),記錄量相對會比較少,所以數(shù)據(jù)庫設(shè)計(jì)時(shí)考慮的角度是:與開發(fā)相結(jié)合;空間換性能;空間換開發(fā)效率;減少null異常。


      3、讀者對象
      本項(xiàng)目的開發(fā)人員。


      4、系統(tǒng)開發(fā)強(qiáng)度等級
      (強(qiáng)度分為:容易、中等、困難) 當(dāng)前難度為:容易


      5、使用工具
      Excel + ExcelToSQLString2.91 for July軟件。


      6、ExcelToSQLString2.91 for July軟件介紹
      這個(gè)軟件是我身邊的大神July開發(fā)的,將指定格式的數(shù)據(jù)字典(Excel格式)轉(zhuǎn)為SQL執(zhí)行語句,減輕開發(fā)工作量。
      經(jīng)得July同意,現(xiàn)在無嘗共享出來,后面代碼中也會使用到大神開發(fā)的一些功能非常強(qiáng)大的函數(shù)或類,所以在這里也為他宣傳一下,以對他無嘗奉獻(xiàn)的精神表示感謝。


      July有十多年的開發(fā)經(jīng)驗(yàn),在我們的小圈子里的全能型開發(fā)人員(除了美工設(shè)計(jì)不會)。ASP、ASP.NET、PHP都有十年左右的開發(fā)經(jīng)驗(yàn),經(jīng)手過的大中小型項(xiàng)目幾十個(gè)(估計(jì)快上百個(gè)了),前后端(包括WinFrom開發(fā)各種進(jìn)銷存軟件與應(yīng)用、微信開發(fā)、WAP站開發(fā))開發(fā)都非常擅長,非常精通前端切圖、JS、CSS,在他手上沒有解決不了的瀏覽器兼容問題。開發(fā)速度效率非常高,承接各種類型的外包開發(fā)。想聯(lián)系他的話請加群327360708找July。


      二、 創(chuàng)建數(shù)據(jù)庫
      1、 數(shù)據(jù)表設(shè)計(jì)要求
      1. 數(shù)據(jù)庫表名與字段名應(yīng)遵守Pascal風(fēng)格,包含一到多個(gè)單詞,每一個(gè)單詞第一個(gè)字母大寫,其余字母均小寫。(具體命名要求請查看第3章節(jié))
      2. 如果是關(guān)聯(lián)表,則命名規(guī)則為R_表A_表B,如R_ProductInfo_Tag等。
      4. 對于視圖命名,規(guī)則為View_表A,視圖由多個(gè)表產(chǎn)生,就用下劃線連接幾個(gè)表名,如View_ProductInfo_ProductClass。
      5. 存儲過程,命名規(guī)則為P_表名_存儲過程功能名稱。如P_ProductInfo_Add;如果該存儲過程是很多表共用的,命名為:P_All_存儲過程功能名稱
      6. 數(shù)據(jù)字段命名,也使用Pascal風(fēng)格。當(dāng)字段引用的是其他表字段時(shí),使用表名_其他表字段名稱,間用下劃線隔開,命名規(guī)則:表名_單詞。如ProductInfo表與ProductClass表關(guān)聯(lián)的字段:ProductClass_Id,ProductClass_Name等。與外表的主鍵或相關(guān)字段引用時(shí)(包括狀態(tài)值),須加同時(shí)添加外表所引用主鍵(或狀態(tài)值)對應(yīng)的名稱,以方便查詢時(shí)減少多表關(guān)聯(lián)語句的編寫,提高代碼執(zhí)行效率,詳細(xì)請看《數(shù)據(jù)字典》中的設(shè)計(jì)。


      2、 數(shù)據(jù)字典設(shè)計(jì)要求
      必須使用附件中的Excel表并按里面設(shè)計(jì)格式來設(shè)計(jì)數(shù)據(jù)庫(如下圖)。


      可能有的朋友會說,既然要按軟件工程開發(fā)規(guī)范來做,為什么不用建模工具呢?
      呃……其實(shí)對于中小型項(xiàng)目來說,我覺得不必要用建模工具來處理,那樣很麻煩且更費(fèi)時(shí)間,而使用本文介紹的工具,操作起來方便快捷,直接查看數(shù)據(jù)字典也很直觀明了。


      在設(shè)計(jì)字段名時(shí),除了上面要求外,還有一些特殊的命名規(guī)則要求,這將會影響邏輯層生成的函數(shù),當(dāng)然有些函數(shù)如果名稱與下面要求一致,而它卻不是你想要的功能定義時(shí),你可以忽略該生成函數(shù),不去調(diào)用即可。具體如下:
      1) 主鍵Id必須命名為“Id”,將會生成UpdateValue()函數(shù),用來更新指定Id的記錄;
      2) 字段名包涵Name這個(gè)字串的,會生成GetXxxName()函數(shù),可以直接讀取該字段值;
      3) 字段名包涵_Id這個(gè)字串的,會默認(rèn)為該字段是外鍵Id,將會生成DeleteByXxx_Id()函數(shù),用來刪除當(dāng)前表值為指定外鍵的所有記錄;還會生成UpdateValue_For_Xxx_Id()函數(shù),用來更新當(dāng)前表值為指定外鍵的記錄值;
      4) 字段類型為tinyint的字段,會被默認(rèn)為狀態(tài)字段,會生成UpdateXxx()函數(shù),用來更新該狀態(tài)值;
      5) 字段名包涵Key這個(gè)字串且該字段為string類型的,會生成GetModelByXxxKey()函數(shù),主要功能是通過Key這個(gè)字段值來獲取當(dāng)前記錄實(shí)體;
      6) 字段名包涵Count這個(gè)字串且該字段為int型的,默認(rèn)為訪問計(jì)數(shù)字段,會生成UpdateXxxCount()函數(shù),用來執(zhí)行該字段值累加功能;
      7) 字段名包涵Img這個(gè)字串且該字段為string類型的,默認(rèn)為圖片路徑存儲字段,會生成DeleteXxx函數(shù),用來執(zhí)行圖片刪除功能;
      以上規(guī)則大家在開發(fā)中可以根據(jù)需要自己在T4模板中任意添加或修改,使用這種規(guī)則生成后,將會大大減輕開發(fā)人員的代碼量與出錯(cuò)次數(shù)(主要減少重復(fù)代碼的開發(fā)),提高開發(fā)效率。

      另外單獨(dú)說明一下《數(shù)據(jù)字典》中“上傳管理”與“上傳配置明細(xì)”這個(gè)工作表,它們是July開發(fā)的上傳組件所要使用的相關(guān)配置表,只要配置好相要生成的圖片大小與路徑,那么就可以通過簡單的調(diào)用得取想要的效果,在后面代碼編輯章節(jié)會有詳細(xì)例子介紹說明。


      3、 數(shù)據(jù)庫存儲過程創(chuàng)建規(guī)范
      在創(chuàng)建存儲過程時(shí),頭部必須寫上功能、創(chuàng)建人、創(chuàng)建日期及修改情況。存儲過程主體必須寫上清晰的注釋說明。
      例:

      復(fù)制代碼
      ---------------------------------------------------------
      --功能說明:刪除用戶使用日志
      
      
      --操作歷史
      ------操作    操作人        日期
      ------創(chuàng)建    Empty        2013-11-20
      ------修改            
      ---------------------------------------------------------
      CREATE PROCEDURE [dbo].[P_Userlog_Delete] 
      
      AS
      BEGIN
          --定義臨時(shí)變量
          DECLARE @UseLogReserveTime INT
          --獲取系統(tǒng)設(shè)置的操作日志保留日期
          SELECT TOP 1 @UseLogReserveTime = UseLogReserveTime FROM WebConfig
          --如果設(shè)置為無限制,則不執(zhí)行刪除程序
          IF @UseLogReserveTime <= 0
              RETURN 0
      
          --執(zhí)行日志刪除程序
          DELETE FROM UseLog WHERE DATEDIFF(d, AddDate, DATEADD(d, -@UseLogReserveTime, CONVERT(VARCHAR(10),GETDATE(),110))) >= 0
      
      END
      復(fù)制代碼

      4、 生成SQL代碼
      在數(shù)據(jù)字典(Excel表)里設(shè)計(jì)好數(shù)據(jù)庫架構(gòu)后,用ExcelToSQLString2.91生成相應(yīng)的SQL代碼,然后打開SQL查詢分析器運(yùn)行后生成相應(yīng)的數(shù)據(jù)表。
      在Excel表中設(shè)計(jì)好數(shù)據(jù)庫架構(gòu),設(shè)置好主鍵與排序標(biāo)識,生成的SQL語句就會自動(dòng)創(chuàng)建對應(yīng)的主鍵和綁定排序列。(主意事項(xiàng):主鍵Id設(shè)計(jì)時(shí),名稱必須為Key、Id、表名 + Id或 表名 + _Id,不然使用SubSonic3.0插件時(shí)會出錯(cuò))
      打開ExcelToSQLString2.91軟件


      打開軟件,選擇《數(shù)據(jù)字典》文件路徑,設(shè)置好要生成的表格名稱,按圖中的選項(xiàng)全部打好勾。
      然后點(diǎn)擊運(yùn)行,生成對應(yīng)的SQL語句。

      將上面語句復(fù)制到SQL查詢分析器中直接運(yùn)行就可以了。


      附件下載

      版權(quán)聲明:

        本文由AllEmpty原創(chuàng)并發(fā)布于博客園,歡迎轉(zhuǎn)載,未經(jīng)本人同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責(zé)任的權(quán)利。如有問題,可以通過1654937@qq.com 聯(lián)系我,非常感謝。

        發(fā)表本編內(nèi)容,只要主為了和大家共同學(xué)習(xí)共同進(jìn)步,有興趣的朋友可以加加Q群:327360708 ,大家一起探討。

        更多內(nèi)容,敬請觀注博客:http://www.cnblogs.com/EmptyFS/

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多