標籤:
MySQL資料庫 常用資料類型:
int 整數型 4個位元組
Varchar 字串型 1個字是兩個字元
bit bool型
datetime 日期時間型 長度(位元組):8
decimal 小數型
float double 小數型
註:
varchar 規定長度,不管內容長度多少,實際長度小於等於規定長度
char規定長度,不管內容長度多少實際長度就是規定長度
建表應該注意的有:
【1】分類、分層、分步
【2】在資料庫圖表中的表之間建立關係:
一對多關聯性
一對多關聯性是最普通的一種關係。在這種關係中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之間具有一對多關聯性:每個出版社出版很多書,但是每本書名只能出自一個出版社。
只有當一個相關列是一個主鍵或具有唯一約束時,才能建立一對多關聯性。
多對多關係
在多對多關係中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要建立這種關係,需要定義第三個表,稱為結合表,它的主鍵由 A 表和 B 表的外部鍵組成。例如,authors 和 titles 表具有多對多關係,這是由於這些表都與titleauthors 表具有一對多關聯性。titleauthors 表的主鍵是 au_id 列(authors 表的主鍵)和 title_id 列(titles 表的主鍵)的組合。
一對一關聯性
在一對一關聯性中,A 表中的一行最多隻能匹配於 B 表中的一行,反之亦然。如果相關列都是主鍵或都具有唯一約束,則可以建立一對一關聯性。
這種關係並不常見,因為一般來說,按照這種方式相關的資訊都在一個表中。可以利用一對一關聯性來:
- 分割具有多列的表。
- 由於安全原因而隔離表的一部分。
- 儲存臨時的資料,並且可以毫不費力地通過刪除該表而刪除這些資料。
- 儲存只適用於主表的子集的資訊。
舉例一:
(1) 一對一: 班級與班長之間的聯絡:
一個班級只有一個正班長
一個班長只在一個班中任職
(2) 一對多:班級與學生之間的聯絡:
一個班級中有若干名學生,
每個學生只在一個班級中學習
(3) 多對多:課程與學生之間的聯絡:
一門課程同時有若干個學生選修
一個學生可以同時選修多門課程
舉例二:
員工姓名,員工性別,員工年齡,崗位,部門名稱,部門主管,部門職責。
如果它們都放在一起會產生冗餘,粘連。
所以要建兩個表:
員工(員工姓名,員工性別,員工年齡,崗位,部門代號)
部門(部門名稱,部門主管,部門職責,部門代號)
舉例三:
老師(代號,姓名,性別,年齡)
課程(代號,名稱,課時數)
課程安排表(老師代號,課程代號,時間段)
MySQL資料庫----------小知識點