資料庫的設計

2022-09-06 16:24:14 字數 1810 閱讀 3552

1. 多表之間的關係

1. 分類:

1. 一對一(了解):

* 如:人和身份證

* 分析:乙個人只有乙個身份證,乙個身份證只能對應乙個人

2. 一對多(多對一):

* 如:部門和員工

* 分析:乙個部門有多個員工,乙個員工只能對應乙個部門

3. 多對多:

* 如:學生和課程

* 分析:乙個學生可以選擇很多門課程,乙個課程也可以被很多學生選擇

2. 實現關係:

1. 一對多(多對一):

* 如:部門和員工

* 實現方式:在多的一方建立外來鍵,指向一的一方的主鍵。

2. 多對多:

* 如:學生和課程

* 實現方式:多對多關係實現需要借助第三張中間表。中間表至少包含兩個字段,這兩個字段作為第三張表的外來鍵,分別指向兩張表的主鍵

3. 一對一:

* 如:人和身份證

* 實現方式:一對一關係實現,可以在任意一方新增唯一外來鍵指向另一方的主鍵。

2. 資料庫設計的正規化

* 概念:設計資料庫時,需要遵循的一些規範。要遵循後邊的正規化要求,必須先遵循前邊的所有正規化要求

設計關聯式資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的正規化,各種正規化呈遞次規範,越高的正規化資料庫冗餘越小。

目前關聯式資料庫有六種正規化:第一正規化(1nf)、第二正規化(2nf)、第三正規化(3nf)、巴斯-科德正規化(bcnf)、第四正規化(4nf)和第五正規化(5nf,又稱完美正規化)。

* 分類:

1. 第一正規化(1nf):每一列都是不可分割的原子資料項

2. 第二正規化(2nf):在1nf的基礎上,非碼屬性必須完全依賴於碼(在1nf基礎上消除非主屬性對主碼的部分函式依賴)

* 幾個概念:

1. 函式依賴:a-->b,如果通過a屬性(屬性組)的值,可以確定唯一b屬性的值。則稱b依賴於a

例如:學號-->姓名。  (學號,課程名稱) --> 分數

2. 完全函式依賴:a-->b, 如果a是乙個屬性組,則b屬性值得確定需要依賴於a屬性組中所有的屬性值。

例如:(學號,課程名稱) --> 分數

3. 部分函式依賴:a-->b, 如果a是乙個屬性組,則b屬性值得確定只需要依賴於a屬性組中某一些值即可。

例如:(學號,課程名稱) -- > 姓名

4. 傳遞函式依賴:a-->b, b -- >c . 如果通過a屬性(屬性組)的值,可以確定唯一b屬性的值,在通過b屬性(屬性組)的值可以確定唯一c屬性的值,則稱 c 傳遞函式依賴於a

例如:學號-->系名,系名-->系主任

5. 碼:如果在一張表中,乙個屬性或屬性組,被其他所有屬性所完全依賴,則稱這個屬性(屬性組)為該錶的碼

例如:該表中碼為:(學號,課程名稱)

* 主屬性:碼屬性組中的所有屬性

* 非主屬性:除過碼屬性組的屬性

3. 第三正規化(3nf):在2nf基礎上,任何非主屬性不依賴於其它非主屬性(在2nf基礎上消除傳遞依賴)

## 資料庫的備份和還原

1. 命令列:

* 語法:

* 備份: mysqldump -u使用者名稱 -p密碼 資料庫名稱 > 儲存的路徑

* 還原:

1. 登入資料庫

2. 建立資料庫

3. 使用資料庫

4. 執行檔案。source 檔案路徑

資料庫 資料庫的物理設計

資料庫在物理裝置上的儲存結構與訪問方法稱為資料庫的物理結構,它依賴於給定的計算機系統。為乙個給定的邏輯資料模型選取乙個最合適應用要求的物理結構的過程,稱為資料庫的物理設計。物理設計的目的是有效地實現邏輯模式,確定所採取的儲存策略。此階段是以邏輯設計的結構作為輸入,並結合具體dbms的特點與儲存裝置特...

資料庫的設計

什麼是資料庫設計?資料庫設計就是規劃和結構化資料庫中的資料物件以及這些資料物件之間關係的工程。在需求分析階段 收集資訊 標識物件 實體 標識每個物件需要儲存的詳細資訊 屬性 標識物件 實體 之間的關係。在概要設計階段 繪製e r 實體 關係 圖 在詳細設計階段 規範化e r圖 把e r圖轉換為多張表...

資料庫的設計

資料庫的設計 1.學習e r圖的繪製 實體entity用矩形,關係relationship用菱形表示,屬性attribute用橢圓表示 理解資料庫正規化,掌握如何規範的設計資料庫。確定業務需求 標識關鍵實體 標識每個實體的屬性 確定實體之間的關係 和物件導向的程式設計一樣,在建立資料庫之前也是設計過...