資料庫設計中的6個最佳實踐步驟

2021-09-11 10:07:58 字數 2255 閱讀 6628

在構建資料庫時,遵循以下最佳實踐將確保最終產品既有用又易於使用。

如果設計得當,資料庫是記錄、儲存、檢索和比較資料的強大工具。然而,乙個沒有經過精心設計和目的的資料庫不僅僅是無效的,它對那些使用它最多的人(開發人員)來說是乙個噩夢。在構建資料庫時——無論其最終目的如何——遵循以下最佳實踐將確保最終資料庫既有用又易於使用。

1. 明確資料表結構和用途

現在有許多技術可用,例如scrum和rad(快速應用程式開發),它們幫助it團隊快速開發資料庫。當機構利用速度和效率來強制快速構建資料庫時,人們很容易一頭紮進構建資料庫的過程中,而對結果需要什麼只有模糊的概念。

儘管人們常常覺得自己在強調效率,但實際上這只是一種錯覺。工作可能會更快地從起跑線開始,但是,快速前進將大大增加在資料庫問題上進一步出錯的機會。當這種情況發生時,開發人員將不得不花費大量的時間來分解和重塑已經完成的工作。

資料庫的目的不僅僅是儲存資訊。例如,考慮部署資料庫的位置。它是否支援pos系統,以便收集客戶行為的資料?還是幫助管理客戶關係?您的團隊越清楚地定義資料庫的用途,設計過程就越順利。

2. 選擇合適的資料建模軟體

系統設計的視覺化使得與同事交流計畫變得更加容易。如此廣泛的交流確保了參與資料庫構建的每個人從一開始就在同一起點上,這將有助於簡化整個開發過程。

3. 大綱的要求

清晰地勾勒出軟體專案和相應資料庫的可預見的未來。在允許靈活性的同時,盡可能多地使用圖形,特別是在剛剛開始的階段。

重要的是要超越簡單的技術需求。因此,需求應該包含更多的硬體和軟體。儘管這些東西很重要,但它們並不是產生良好資料庫設計的關鍵。在軟體和資料庫開發過程中,制定乙個計畫來支援變更和偏差。許多公司只在涉及到調整設計時才支援非破壞性的更改,而更改則只由自動化遷移機制支援。

與資料庫最終將支援的團隊、部門或組織合作,並徵求他們的意見。一定要和各個層次的人交談,從第一線的員工到經理。只有在這個反饋提供了完整的情況下,你才能對需求有乙個確切的了解。

不可避免地,您會遇到來自相同業務、團隊或部門的不同人員的衝突需求。當這種情況發生時,根據過去的經驗,使用您最好的判斷來嘗試並引入某種形式的妥協,以滿足所有各方——而不破壞資料庫的最終目的。

4. 以謹慎的方式對資料進行建模

資料建模的全面指南是值得撰寫幾篇文章的主題。然而,有幾個關鍵點,如果遵循這些要點,將允許您以最合適的方式建模資料。

根據資料庫的用途,您需要決定使用事務建模還是維度建模技術更合適。如果資料庫是聯機事務處理(oltp)資料庫,則使用事務建模。另一方面,如果資料庫是關聯式資料庫,則轉向維度建模。

所有資料庫資料建模都應該歸因於概念(cdm)、邏輯(ldm)和物理(pdm)資料模型。cdm是關於語義的;正是這個定義了最終資料庫的範圍。cdm沒有討論資料庫如何工作的詳細細節,而是描述了它將包括的實體和資料型別,以及它們之間的關係。

ldm可以被認為是cdm的實現,它將反過來幫助生產pdm。ldm幫助設計物理資料庫的路線圖;它通過定義業務資料實體以及管理它們之間關係的規則來實現這一點。這包括資料型別、關鍵狀態和屬性集詳細資訊等標準。

最後,pdm定義了資料物理儲存的方式。它是通過將ldm對映到所選的資料庫管理系統(dbms)平台而產生的。

5. 使用適當的資料型別

對於任何給定的屬性使用錯誤的資料型別可能會對完成的資料庫造成許多負面影響。它可能導致檔案膨脹、資料不準確、難以將資料表連線在一起以及難以與應用層同步屬性。

為屬性使用最適當的資料型別是域完整性的一部分。執行域完整性規則將確保屬性只能包含對該屬性有效的資料型別。例如,如果資料庫記錄了人們的年齡,那麼確保3位數的整數是最大值。

大多數資料建模軟體允許您建立和定義單獨的資料域。它們不僅可以用於確保使用了正確的資料型別,還可以用於確保必須給定值並拒絕空值。

6. 定義或採用乙個樣式指南

本節討論建立資料庫元資料命名約定。當涉及到表、索引、外來鍵、觸發器、函式等時,為所有儲存的資訊設定清晰一致的指導方針將在長期內為您節省時間、精力和金錢。

雖然在網際網路上有很多關於你應該和不應該遵守特定的命名規則的資訊,但是堅持遵循這四個規則,你就不會出錯:

任何形式的命名約定都比沒有好。

沒有所謂的「真正的」標準,每個人都有自己的喜好。

如果已經有了現成的規則,那就堅持執行這些規則,而不是去白費力氣。

在進行資料庫維護時,最佳實踐總是永續性。

通過遵循資料庫設計中最佳實踐的這6個步驟,您將確保構建的每個資料庫都適合使用。一旦這些規則成為第二天性,優秀的資料庫效能也將成為第二天性。雖然這聽起來似乎要實現很多,但是如果您從構建的第一天就建立了這些指導方針,那麼您將在將來避免一大堆麻煩。

原文:

資料庫設計的最佳實踐

資料庫設計的最佳實踐 1 使用定義明確的表或列名,並保持一致 例如,school studentcourse courseid 2 使用單數形式的表名 即,用studentcourse而非studentcourses 表代表了實體的合集,不需要複數形式。3 不要在表名中使用空格。否則你將在定義表時不...

20個資料庫設計最佳實踐

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...

20個資料庫設計最佳實踐

使用明確 統一的標明和列名,例如 school,schoolcourse,courceid。資料表名使用單數而不是複數,例如 studentcourse,而不是studentcourses。資料表名不要使用空格。資料表名不要使用不必要的字首或者字尾,例如使用school,而不是tblschool,或...