關於資料庫設計的思考(一)

2022-03-16 06:38:42 字數 1021 閱讀 6380

最近大半年由於公司上馬遊戲專案,自己轉向前台開發,專注於 flex 、flash、js 開發,很久沒有進行後台的開發了。但最後這個遊戲專案不了了之,這兩個月又重新轉回開發網頁程式。在這之前,自己進行後台開發都是一些比較小的專案,設計資料庫都是很隨意的,兩三個人溝通好就行了,溝通起來也很方便。今次公司重新開發新的辦公系統,專案算了比較大的了,資料庫設計工作也有專人來設計,資料庫的設計也相對比較規範,開發的人員也不只是兩三個人了,也多了一。通過這次專案我開始思索怎樣可以的設計乙個規範、便於維護、便於招展的資料庫呢?

資料庫的命名規則

1. 怎樣給資料表命名?分模組命名,同一模組的字首相同,前後的字元用「_」連線。盡量不要超過兩個「_」連線符。

例如:織夢的會員系統的字首用 member 來表示,會員空間的表名用字首 member 加上 空間的單詞 space 。最後命名就是member_space。但這還不是完整的命名,還要加上系統的字首名,這個字首名一般是使用者建立資料庫命名的。比如系統字首名是gd,那完整的表名就是 gd_member_space。織夢這樣的命名應該是考慮到安全因素,因為織夢是一套開源系統,如果沒有系統字首名,所有使用者的資料表名我們都可以一清三楚。

比較:我們現在做的新辦公系統基本上也採用這樣的方式。區別是我們沒有用到系統字首名。因為我們這套系統只針對本公司的人員使用。所有我們的命名規則是 大模組的字首(service) + 小模組的字首(technique) + 具體模組(flowlog),完整的表名就是service_technique_flowlog 。

2. 怎麼給字段命名?欄位由表的簡稱和實際名字組組成。如果此欄位關聯另外的字段,那麼加下劃線 「_」 連線關聯表字段的欄位名。

很多人沒有採用下劃線 「_」 聯接的方式,而是採用駝峰命名法。就我個人而言我覺得採用下劃線的方式更方便閱讀。

補充說明:

駝峰命名法就是當變數名或函式名是由乙個或多個單字鏈結在一起,而構成的唯一識別字時,第乙個單字以小寫字母開始;第二個單字的首字母大寫或每乙個單字的首字母都採用大寫字母,例如:myfirstname、mylastname,這樣的變數名看上去就像駱駝峰一樣此起彼伏,故得名。

關於資料庫的變更設計的思考隨筆

11資料庫中表結構的變更總是一件讓人感覺不舒服的事情。在新增加字段時,如何對以前的操作不產生影響或者將影響降至最低呢?一種方法 直接在表上增加乙個字段,給該字段設定乙個預設值,該預設值用於標記以前的資料,然後用新的值來標記以後的資料。如果說是標記的話,那麼為什麼不在設計的時候就專門建立乙個字段,來作...

資料庫主鍵設計的一點思考

今天做畢業 涉及到資料庫表的設計問題,是乙個簡單的網上訂票系統 jsp sql server2000 要求同乙個人 在同一天同一車次只能訂一次票.於是把 姓名,手機,發車日期,車次,數量,發站,到站,席別,票種,有效證件,證件類 別,取票地點 中的姓名發車日期 車次 定義為組合主鍵,不知道有沒有更合...

資料庫設計之外鍵的思考

關於是否使用外來鍵在業界也沒有統一的標準,大家爭論的焦點是資料一致性和效能上。支援使用外來鍵方,強調如果不使用外來鍵,資料一致性無法保證,效能消耗可以忽略。反對使用外來鍵方,資料一致性可以通過程式保證,效能有大問題,資料維護很麻煩,如果是大系統,整個外來鍵的關係就像編制的一張大網。再者開發人員很難真...