MySQL關係型資料庫設計思路

2021-10-09 18:18:20 字數 1372 閱讀 7781

正規化化和反正規化化對比

其中,二維表很容易理解,二維即指行和列,不做細述,以下將詳細討論四個正規化和工作中的業務問題。

當表中字段存在可再分情況時,對其進行拆分,不滿足第一正規化。

首先是 1nf,另外包含兩部分內容,一是表必須有乙個主鍵;二是沒有包含在主鍵中的列必須完全依賴於主鍵,而不能只依賴於主鍵的一部分。

首先是 2nf,另外非主鍵列必須直接依賴於主鍵,不能存在傳遞依賴。即不能存在:非主鍵列 a 依賴於非主鍵列 b,非主鍵列 b 依賴於主鍵的情況。

滿足以上三正規化後的最終表為

e表示entry,實體,設計實體就像定義乙個類一樣,指定從哪些方面描述物件,乙個實體轉換為資料庫中的乙個表

r表示relationship,關係,關係描述兩個實體之間的對應規則,關係的型別包括包括一對

一、一對多、多對多關係也是一種資料,需要通過乙個字段儲存在表中

1.實體a對實體b為1對1,則在表a或表b中建立乙個字段,儲存另乙個表的主鍵值。

2.實體a對實體b為1對多:在表b中建立乙個字段,儲存表a的主鍵值。

3.實體a對實體b為多對多:新建一張表c,這個表只有兩個字段,乙個用於儲存a的主鍵值,乙個用於儲存b的主鍵值。

型別優點

缺點正規化化

減少了資料冗餘,資料表更新操作快、占用儲存空間少

查詢時需要對多個表進行關聯,查詢效能降低,更難進行索引優化

反正規化化

可以減少表關聯,可以更好進行索引優化

存在大量冗餘資料,資料維護成本更高(刪除異常,插入異常,更新異常)

關係型資料庫設計

1.五級正規化 一般滿足 即可 第一正規化的定義 如果乙個表中沒有重複組 即行與列的交叉點上只有乙個值,而不是一組值,例如 姓名 性別 字段,但 愛好 欄位不符合1nf 且定義了關鍵字 所有非關鍵屬性都依賴於關鍵字,則這個表屬於第一正規化 常記成1nf 第二正規化的定義 如果乙個表屬於1nf,且不包...

關係型資料庫 非關係型資料庫

關係型資料庫,是指採用了關係模型來組織資料的資料庫。關係模型是在1970年由ibm的研究員e.f.codd博士首先提出的,在之後的幾十年中,關係模型的概念得到了充分的發展並逐漸成為主流資料庫結構的主流模型。簡單來說,關係模型指的就是二維 模型,而乙個關係型資料庫就是由二維表及其之間的聯絡所組成的乙個...

關係型資料庫 非關係型資料庫

2019 02 25 20 38 36 關係型資料庫和非關係型資料的比較 一 關係型資料庫 關係型資料庫最典型的資料結構是表,由二維表及其之間的聯絡所組成的乙個資料組織 優點 1 易於維護 都是使用表結構,格式一致 2 使用方便 sql語言通用,可用於複雜查詢 3 複雜操作 支援sql,可用於乙個表...