015 資料庫設計思想

2021-10-02 17:49:22 字數 2173 閱讀 4412

資料庫的設計

參考文獻:

1、多表之間的關係

1.1、分類:

(1)、一對一(只做了解)

* 比如:某個人和它的身份證

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

(2)、一對多(或叫多對一)

* 如:部門和員工

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

(3)、多對多:

* 如:學生和課程

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

1.2、實現關係

(1)、一對一(只做了解)

* 比如:某個人和它的身份證

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

(2)、一對多(或叫多對一)

* 如:部門和員工

* 實現方式:在『多』的一方建立外來鍵,執行『一』的一方的主鍵,比如在員工表單中建立乙個外來鍵執行部門表單中的主鍵。

(3)、多對多:

* 如:學生和課程

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

2、正規化

(1)概念:要設計資料庫,必須遵循一定規範,應用後面的正規化必須遵循前面的正規化。

設計關係

資料庫時,遵從不同的規範

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

2)、分類

名詞解釋:

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

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

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

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

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

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

舉例:學號->系名,系名->系主任 ⑤

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

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

*非主屬性:除碼屬性組外的屬性。 目前

關聯式資料庫

有六種正規化:第一正規化(

1nf)、第二正規化(

2nf)、第三正規化(

3nf)、巴斯

-科德正規化(

bcnf

)、第四正規化

(4nf

)和第五正規化

(5nf

,又稱完美正規化)。 a

、第一正規化(

1nf)

。資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。資料庫表的每一列都是不可分割的原子資料項,而不能是集合,陣列,記錄等非原子資料項。

b、第二正規化(

2nf)。在第一正規化的基礎上,消除非主屬性對的部分函式依賴 c

、第三正規化(

3nf)。在

2nf基礎上消除

傳遞依賴。

海量資料庫設計思想

分割槽 1.範圍分割槽 a.通常按時間字段劃分 create table partition by range partition partition 1 values less than to date 01 02 2000 dd mm yyyy partition partition 2 val...

資料庫開發015檢視資料庫連線狀態

表 1 sqlconnection 初始化 sqlconnection 類的新例項。sqlconnection string 如果給定包含連線字串的字串,則初始化 sqlconnection 類的新例項。sqlconnection string,sqlcredential 在給定連線字串的情況下,初...

資料庫設計中引入OOD思想

例子 汽車銷售商要求對銷售車型的建立資料庫進行統計 考慮這樣幾種設計方案 1 轎車 id,顏色,車長,排量,最多乘坐人數,銷量,有無頂窗 卡車 id,顏色,車長,排量,最多乘坐人數,載重量,銷量 電單車 id,顏色,車長,排量,踏板或檔位車 2 車 id,顏色,車長,排量,最多乘坐人數,銷量,有無頂...