1. Typed DataSet 誤用
在 Typed DataSet 中,在Adapter中的方法,若回傳不同的欄位數,要使用不同的DataTable,才不會常發生「無法啟用條件約束」的問題!!
亂 JOIN 表格,導致執行效能太差
資料量大的資料表不適合用 Typed DataSet
2. 名稱亂無章法,甚至寫錯誤的英文名稱!
如:SiteNode (正確) => SiteNote (錯誤)
建議:
1. 使用英文命名,一律使用單數
2. 使用英文命名,務必確認單字正確
3. 不知道怎麼命名請用中文!
3. 強型別資料集 (Typed DataSet) 規劃技巧
一般技巧
盡量不要在 Typed DataSet 裡做 Table Join,若要 Join 請使用檢視表(View)
不同的 Select 欄位數,要新增不同的 DataTable 儲存回傳的資料
管理介面用
命名範例:
dsAdminNews.GridViewDataTable
dsAdminNews.DetailsViewDataTable
dsAdminDistributor
前台介面用
善用檢視表
設定資料顯示的時間區間 (開始時間 ~ 結束時間)
命名範例:
dsFrontNews
dsFrontDistributor
5. 管理介面開發技巧
先做好一些常用到的 UserControl 以因應表格間關連的資料顯示
先做好一些好用的 UserControl 以因應常見的表單輸入需求
- 年份
- 月日 ( 月 / 日 )
- 日期 ( 年 / 月 / 日 ) ( 含 Calendar 互動選單 )
- 時間 ( 時 / 分 )
- 數字 ( 含格式驗證 )
- 電子郵件 ( 含格式驗證 )
- 網站網址 ( 含格式驗證 ) ( 一定要 http:// 或 https:// 開頭,且網址要正確 )
- 下拉選單 ( 是否第一項包含 null ? ) ( 可直接傳入 SQL Command 即可回傳下拉選單 )
- 台灣地址 ( 縣市 / 鄉鎮市區 / 郵遞區號 / 地址 )
- 台灣縣市 ( 下拉選單 )
- 台灣地區 ( 下拉選單 ) ( 北區 / 中區 / 南區 / 東區 / 離島地區 )
6. 資料庫規劃技巧
善用 View 並妥善命名
適時的使用 Stored Procedure 降低系統複雜度
適時的使用 Trigger 降低系統複雜度