Posted on 2006-09-29 10:16
繁星滿空 閱讀(5527)
評論(2) 編輯 收藏 所屬分類:
其它技術
設計原則
?
符號三大范式(每一列表達一個意思,每一行代表一個實例/每一行有唯一鍵/表內沒有其它表的非主鍵信息)
?
每個表應該有的3個有用字段(記錄創建或更新時間/記錄創建者/記錄版本)
?
避免保留字
?
表應避免可為空的列
?
命名規范
?
表
表名如Order/UserAccout
符合以下規范:
1.????
統一采用單數形式,反對Orders
2.????
首字母大寫,多個單詞的話,單詞首字母大寫,反對order/Useraccout/ORDER
3.????
避免中文拼音,反對AgentBaoCi
4.????
避免下劃線連接,反對User_Accout(下劃線適用Oracle數據庫)
5.????
避免名稱過長,反對WebsiteInfomationModifyRecord
6.????
多對多關系表,以Mapping結尾,如UserRoleMapping
7.????
避免保留字
?
字段
字段名如userID/userName/userType
符合以下規范:
1.????
首個字母小寫,多個單詞的話,單詞首字母大寫,反對UserID/Userid
2.????
必須有一主鍵,主鍵不直接用ID,而是表名+ID,如userID/orderID
3.????
常用的字段name,不直接用name,而是表名+Name,如userName/orderName
4.????
常用的字段desc,不直接用desc,而是表名+Desc,如userDesc/orderDesc
5.????
大寫字母前必須包含至少兩個小寫的字母,反對uID/oID
6.????
避免中文拼音
7.????
避免下劃線連接
8.????
避免名稱過長
9.????
避免保留字??
?
對象
1.????
存儲過程以SP_為前綴
2.????
觸發器以TR_為前綴
3.????
函數以FN_為前綴
4.????
主鍵以PK_為前綴
5.????
索引以IX_為前綴
6.????
前綴后的首字母大寫,多個單詞的話,單詞首字母大寫,如SP_CountFee
7.????
所有的關鍵字的所有字母必須大寫,如SELECT userID,username FROM User
SQL Server保留字請參考聯機文檔