MySQL學習筆記 資料庫的設計

2021-10-08 23:43:28 字數 1248 閱讀 8475

1.資料庫的設計

1.多表之間的關係

①分類#一對一

#一對多(多對一)

示例:部門——員工

#多對多

示例:學生——課程

②實現關係

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

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

第三張表如圖所示

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

2.資料庫設計正規化

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

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

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

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

#幾個概念

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.碼:如果在一張表中,乙個屬性(屬性組)被其它所屬性(屬性組)所完全依賴,則稱這個屬性(屬性組)為該錶的碼。

6.主屬性:碼屬性組中的所有屬性

7.非主屬性:除碼屬性組中的所有屬性

3.資料庫的備份和還原

1.命令列

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

還原:1.登入資料庫

2.建立資料庫

3.使用資料庫

4.執行檔案 語法: source 檔案路徑

2.圖形化工具

到此**自行檢視。

mysql 學習筆記 資料庫維護

第二十九章 資料庫維護 備份資料 檢查表鍵 analyze table orders 檢查表鍵是否存在錯誤 檢查表是否存在錯誤 check table orders,orderitems check table orders,orderitems quick quick只進行快速掃瞄 check t...

學習筆記 資料庫

目前internet 上流行的 構架方式是lamp linux apache mysql php 即使用 linux 作為作業系統,apache 作為web 伺服器,mysql 作為資料庫,php作為伺服器端指令碼直譯器 由於這四個軟體都是免費或開放原始碼軟體 floss 因此使用這種方式不用花一分...

學習筆記 資料庫基本

必須字母開頭,不要用漢字 必須在1 30個字元之間 必須只能包含a z,a z,0 9,和 不能重名 create table student stuid int not null,stuname varchar 20 not null,char 2 not null,sid int not nul...