日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

从零开始编写自己的C#框架(9)——数据库设计与创建

發布時間:2025/5/22 C# 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始编写自己的C#框架(9)——数据库设计与创建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  對于千萬級與百萬級數據庫設計是有所區別的,由于本項目是基于中小型軟件開發框架來設計,記錄量相對會比較少,所以數據庫設計時考慮的角度是:與開發相結合;空間換性能;空間換開發效率;減少null異常......當然不同的公司與項目要求不同,初學者要學會適應不同的項目開發要求,使用本框架開發時,必須嚴格按照本章節的要求來設計數據庫,不然可能會產生不可控的異常。

?

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

數據庫設計規范

?

文件狀態:

[√] 草稿

[? ] 正式發布

[? ] 正在修改

文件標識:

C#框架

當前版本:

0.1

作??? 者:

陳煥(AllEmpty)

聯系方式:

1654937@qq.com

更新日期:

2014-04-26

?

版本/狀態

作者

參與者

起止日期

備注

0.1

陳煥(AllEmpty)

?

2014-04-26

創建

?

?

?

?

?

?

?

?

?

?

?

?

目??? 錄

一、?? ?文檔介紹?? ?3
1、文檔目的?? ?3
2、文檔說明?? ?3
3、讀者對象?? ?3
4、系統開發強度等級?? ?3
5、使用工具?? ?3
6、ExcelToSQLString2.91 for July軟件介紹?? ?3
二、?? ?創建數據庫?? ?4
1、?? ?數據表設計要求?? ?4
2、?? ?數據字典設計要求?? ?4
3、?? ?數據庫存儲過程創建規范?? ?5
4、?? ?生成SQL代碼?? ?5

?

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


2、文檔說明
本文主要講述數據庫設計的要求與規范,開發者必須嚴格按照本規范來設計,不然可能在開發中會產生不可控的異常。
本項目是基于中小型軟件開發框架來設計,記錄量相對會比較少,所以數據庫設計時考慮的角度是:與開發相結合;空間換性能;空間換開發效率;減少null異常。


3、讀者對象
本項目的開發人員。


4、系統開發強度等級
(強度分為:容易、中等、困難) 當前難度為:容易


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


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


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


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


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


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

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

?

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

?


3、?? ?數據庫存儲過程創建規范
在創建存儲過程時,頭部必須寫上功能、創建人、創建日期及修改情況。存儲過程主體必須寫上清晰的注釋說明。
例:

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

?

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


打開軟件,選擇《數據字典》文件路徑,設置好要生成的表格名稱,按圖中的選項全部打好勾。
然后點擊運行,生成對應的SQL語句。
?
將上面語句復制到SQL查詢分析器中直接運行就可以了。


附件下載

?

?

?

?版權聲明:

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

  發表本編內容,只要主為了和大家共同學習共同進步,有興趣的朋友可以加加Q群:327360708 ,大家一起探討。

  更多內容,敬請觀注博客:http://www.cnblogs.com/EmptyFS/

?

?

轉載于:https://www.cnblogs.com/EmptyFS/p/3690870.html

總結

以上是生活随笔為你收集整理的从零开始编写自己的C#框架(9)——数据库设计与创建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲av乱码一区二区 | 开心激情播播 | 先锋影音av在线 | 中文字幕亚洲综合 | www,日韩 | 色在线免费视频 | 国产成人精品电影 | 午夜免费成人 | 欧美18aaaⅹxx| 日日干日日干 | 在线观看色网 | 欧美aⅴ | 色香天天| 好吊一区二区三区视频 | 青青毛片 | 精品视频网| 日本a一级片| 国产手机在线视频 | 久久久久人妻精品一区二区三区 | 黄色国产免费 | 国产精品久久久久久久蜜臀 | 久久久久国产免费 | 亚洲激情五月婷婷 | 人妻少妇精品视频一区二区三区 | 亚洲第一二区 | 香港三级日本三级 | 中日韩精品一区二区三区 | 久久91精品 | 护士人妻hd中文字幕 | 蜜桃视频久久一区免费观看入口 | 国产麻豆精品视频 | 黄色福利在线观看 | 国产不卡av在线 | 97人人艹| 女人张开腿让男人桶爽 | 亚洲免费视频播放 | 91呦呦 | 欧美一级特黄aaaaaa | 欧美色亚洲色 | 午夜888| 浮妇高潮喷白浆视频 | 亚洲午夜小视频 | 操她视频在线观看 | 国产精品人人人人 | 久久亚洲AV成人无码国产野外 | 99久久久国产| 在线免费观看视频 | 国产亚州av | 99中文字幕 | 日韩在线播放一区二区 | 18女人毛片| 亚洲国产中文在线 | 国产日韩一级 | 日本天堂在线 | 日本少妇性高潮 | 国产福利视频一区二区 | 少妇av导航| 在线观看亚洲视频 | 日韩精品资源 | 欧美大波大乳巨大乳 | 毛片看看 | 日韩高清一区 | 偷拍亚洲另类 | 五月天视频 | 国产超碰 | 黄色喷水网站 | 97超碰色| 国产视频一区二区 | 午夜福利视频一区二区 | 黑名单上的人全集免费观看 | 一区二区美女 | 成人av影院 | 日本一级片免费看 | 久久精品亚洲一区二区 | 精品国产色 | 短篇山村男同肉耽h | 中文字幕少妇 | 亚洲国产欧美日韩 | 日韩欧美国产一区二区在线观看 | 一级做a爰片毛片 | 在线手机av | 波多野结衣毛片 | 女人的av | 国产免费一区,二区 | 伊人天天干 | 午夜免费福利视频 | 中文字幕国产一区 | 伊人久久视频 | 亚洲精品免费视频 | 新天堂网 | 国产福利一区视频 | 色综合久久久久无码专区 | 91精品国产一区二区三竹菊影视 | 日本人视频69式jzzij | 午夜爱爱网 | 午夜精品网 | 亚洲一级电影 | 啪啪综合网| 少妇一级淫片免费放2 |