資料庫設計方法

2021-04-18 00:52:37 字數 2416 閱讀 5294

資料庫設計

1.為什麼要做資料庫設計?

好的資料庫結構有利於:

節省資料的儲存空間

能夠保證資料的完整性

方便進行資料庫應用系統的開發

設計不好的資料庫結構將導致

資料冗餘、儲存空間浪費

記憶體空間浪費

知識點:

1.資料完整性:

什麼是資料的完整性?

資料完整性(data integrity)是指資料的精確性(accuracy) 和可靠性(reliability)。它是應防止資料庫中存在不符合語義規定的資料和防止因錯誤資訊的輸入輸出造成無效操作或錯誤資訊而提出的。資料完整性分為四類:實體完整性(entity integrity)、域完整

性(domain integrity)、引用完整性、參照完整性(referential integrity)、使用者定義的完整性(user-definedintegrity)。

2.實體完整性:

什麼是實體完整性?

實體完整性規定表的每一行在表中是惟一的實體,不能出現重複的行。表中定義的unique primarykey 和identity 約束就是實體完整性的體現。

3.域完整性:

域完整性是指資料庫表中的列必須滿足某種特定的資料型別或約束。其中約束又包括取值範圍、精度等規定。表中的check、foreign key 約束和default、 not null定義都屬於域完整性的範疇。

4.引用完整性:

主鍵與外來鍵必須一致。

5.參照完整性:

參照完整性是指兩個表的主關鍵字和外關鍵字的資料應對應一致。它確保了有主關鍵字的表中對應其它表的外關鍵字的行存在,即保證了表之間的資料的一致性,防止了資料丟失或無意義的資料在資料庫中擴散。參照完整性是建立在外關鍵字和主關鍵字之間或外關鍵字和惟一性關鍵字之間的關係上的。在sql server 中,參照完整性作用表現在如下幾個方面:

禁止在從表中插入包含主表中不存在的關鍵字的資料行;

禁止會導致從表中的相應值孤立的主表中的外關鍵字值改變;

禁止刪除在從表中的有對應記錄的主表記錄。

6.使用者定義完整性:

不同的關係資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。使用者定義的完整性即是針對某個特定關聯式資料庫的約束條件,它反映某一具體應用所涉及的資料必須滿足的語義要求。sql server 提供了定義和檢驗這類完整性的機制,以便用統一的系統方法來處理它們,而不是用應用程式來承擔這一功能。其它的完整性型別都支援使用者定義的完整性。

總結:sql server 提供了一些工具來幫助使用者實現資料完整性,其中最主要的是:規則(rule)、預設值(default)、約束(constraint)和觸發器(trigger)。

2.設計資料庫

不管資料庫的大小和複雜程度如何,可以用下列基本步驟來設計資料庫:

收集資訊

標識物件

設計資料模型

標識每個物件的資訊型別

標識物件之間的關係

知識點:

1. 收集資訊:

與使用者接觸,了解他們想要實現的功能和需要解決的問題,例如:使用者需要做個論壇,論壇具體的功能是什麼等等

2. 物件:

3. 資料模型:

顯示了實體和物件之間的關係,例如:學生考試,學生與管理員的關係等等

4. 每個物件的資訊型別:

例如:學生是物件吧,學生的資訊如:姓名,性別等等,這些是物件的資訊型別,就是字段

3.設計資料庫五大步

1. 學習業務規則,與使用者交流,了解他們的需求。

3. 從第二步中找到實體物件,如:使用者,會員,商品,訂單,管理員等

4. 建立資料模型:

第一步:從上一步中,找到實體的屬性特徵,如:會員,會員號,會員姓名,性別,這些屬性的取捨根據你的實際業務需求標註,比如訂單:訂單我需要訂單號,這個訂單是誰的,也就是需要該會員的名字,還得有**,這樣以後檢視的時候就很清楚。所以說特徵的填寫是根據業務需要來標註的。

第二步:畫出實體關係圖e-r圖

5. 資料規範化

三正規化第一正規化:沒有重複的組,就是說,行和列交叉點中只有乙個值,並且設定了主鍵,則達到了第一正規化的要求

第二正規化:滿足第一正規化,沒有部分依賴,就是:乙個實體物件的屬性和另乙個實體物件沒有直接關係,例如:乙個表中有「工程名」「職員名」「職員年齡」等字段,職員年齡依賴於職員名,和工程名沒有關係,那麼這個表存在了部分依賴性,解決辦法就是,拆表,把職員名和年齡分成另乙個表

第三正規化:滿足第一第二正規化,並且沒有傳遞依賴,例如:乙個表中有「姓名」「職務」

「小時工資率」字段,職務依賴姓名,小時工資率依賴於職務,這就是傳遞以來,解決辦法:拆表,把職務和小時工資率在做乙個表,那個表去掉小時工資率就可以了

資料庫設計方法

資料庫設計 1 為什麼要做資料庫設計?好的資料庫結構有利於 節省資料的儲存空間 能夠保證資料的完整性 方便進行資料庫應用系統的開發 設計不好的資料庫結構將導致 資料冗餘 儲存空間浪費 記憶體空間浪費 知識點 1 資料完整性 什麼是資料的完整性?資料完整性 data integrity 是指資料的精確...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...

資料庫設計 設計資料庫之前

1.考察現有環境 在設計乙個新資料庫時,你不但應該仔細研究業務需求而且還要考察現有的系統。大多數資料庫 專案都不是從頭開始建立的 通常,機構內總會存在用來滿足特定需求的現有系統 可能沒有實 現自動計算 顯然,現有系統並不完美,否則你就不必再建立新系統了。但是對舊系統的研究 可以讓你發現一些可能會忽略...