ER圖和關係模型到MySQL數據庫表

本篇主要介紹了MySQL數據庫表從ER圖到關係模型,再到數據庫表的創建過程及其表結構的修改。通過本篇的學習,可以掌握以下內容:

● 應用ER圖和關係模型創建數據庫表

● 數據庫表結構的修改

 

1、mooc數據庫表的ER圖和關係模型

在創建數據庫表之前,首先需要設計數據庫表。設計數據庫表的主要工具是ER圖,使用ER圖設計數據庫表詳見《數據庫實體聯繫模型與關係模型》一文。mooc數據庫表的ER圖如下。

 

圖 1 mooc數據庫ER圖

 

ER圖給出了mooc數據庫表的圖形化描述,但還缺乏建立數據庫表必要的字段名稱、字段類型等信息。還需要把ER圖歸納爲滿足一定約束條件二維表的形式,纔可以開始創建數據庫表。mooc數據庫二維表見下表。

 

 

 

2、MySQL數據庫常用字段數據類型

表結構是由多個字段構成的,定義字段時需要定義字段的名稱、數據類型、數據大小及其數據格式等內容。MySQL提供了一組預定義的數據規則,用於描述數據類型、數據大小及格式。當我們定義字段數據類型時,需要遵循這些規則。MySQL預定義的數據規則大體分爲日期和時間、數值和字符串,下面分別給予說明。

(1)日期和時間

 

(2)整型數值

 

(3)浮點數值

 

浮點數值類型帶有附加參數,m表示數值總的位數,d表示小數佔的位數。例如,float(7,3) 表示數值總位數不會超過 7 位數字,小數點後面帶有 3 位數字。對於小數點後面的位數超過允許範圍的值,MySQL 會自動將它四捨五入爲最接近它的值,因此使用浮點類型的時候,數值的精度會影響到查詢操作。

(4)字符串

 

其中,char類型佔用固定的存儲空間,與char類型的字段值大小無關。varchar類型的存儲空間是動態變化的,佔用存儲空間的大小與存儲的內容相關。這裏需要注意的是,char和varchar的長度是指可存儲字符的個數,並不代表字節個數。

 

3、新建mooc數據庫表

有了mooc數據庫二維表,就可以開始創建數據庫表了。使用MySQL命令或Navicat等數據庫管理工具都可以創建數據庫表。這裏重點介紹使用MySQL命令創建數據庫表,Navicat等數據庫管理工具基本都是圖形用戶界面程序,操作相對容易掌握,這裏就不再介紹了。

創建數據庫表的MySQL命令語句如下:

create table table_name (column_name column_type [約束條件] [, column_name column_type [約束條件]…]);

其中,create table爲命令串,table_name爲創建表的名稱,column_name爲字段名稱,column_type爲字段數據類型,約束條件是字段約束項,可以允許有多個字段約束項,每個字段約束項之間用英文空格分隔。可以允許有多個字段,每個字段之間用英文逗號分隔。

下面的語句分別創建course表、teacher表、student表、student_course表。

 

其中,命令中not null是字段約束項,表示該字段不能爲空。primary key用於定義哪個字段作爲主鍵,可以定義多個主鍵,每個主鍵之間用英文逗號分隔。

 

3 、修改mooc數據庫表結構

表創建完成後,由於各種原因可能需要修改表的結構。例如,在原有的表中增加字段或者刪除字段,修改字段的數據類型等。

添加字段

MySQL添加字段的命令語句如下:

alter table 表名 add 字段1[, 字段2…]

例如,需要在course表增加時間字段和類型字段,可以使用下面的命令:

alter table course

add create_time date not null,

add type varchar(10);

修改字段

MySQL修改字段的命令語句如下:

alter table 表名稱 change 字段名稱 字段名稱 字段類型 [是否允許非空];

例如,需要修改course表type字段的名稱和類型,字段名稱修改爲course_type,數據類型修改爲int。可以使用下面的命令:

alter table course

change type course_type int;

刪除字段

MySQL修改字段的命令語句如下:

alter table 表名稱 drop column 字段名稱[, drop column 字段名稱…]

例如,要刪除course表的create_time字段和course_type字段,可以使用下面的命令:

alter table course

drop column create_time,

drop column course_type;

 

■ 課程小結

(1)在創建數據庫表之前,首先要進行表的設計,設計表的主要工具就是ER圖,ER圖給出了數據庫表的圖形化描述,但還缺乏建立數據庫表必要的字段名稱、字段類型等信息。因此還需要把ER圖歸納爲滿足一定約束條件的二維表的形式,纔可以開始創建表。

(2)MySQL提供了一組用於創建和管理數據庫表的命令,通過這些命令可以建立新表、修改表原有的結構。當然也可以使用Navicat等工具可視化地管理數據庫表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章