MySQL是一款常用的關系型數據庫系統,具有廣泛的應用范圍。其中一個重要的特征是可定義自己的數據結構,即數據庫在存儲數據時可以按照特定規則來組織數據表,這個規則即稱為“模式”。
MySQL的模式包括物理模式和邏輯模式。物理模式是指數據庫存儲在磁盤上的文件結構,包括表、字段、索引等;而邏輯模式則是指數據庫表和字段的抽象表示,用于說明表之間的關系及其約束條件等。
創建數據庫時,需要指定其物理模式,以便MySQL能夠正確地存儲數據。一般情況下,物理模式的設計應盡可能地符合邏輯模式,即保證表的結構與其它表的關系相一致,這有助于提高查詢效率。
CREATE DATABASE testdb; CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), age INT, gender CHAR(1), address VARCHAR(100) ); CREATE TABLE course ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), teacher VARCHAR(50), credit FLOAT, summary VARCHAR(200) ); CREATE TABLE score ( id INT PRIMARY KEY AUTO_INCREMENT, student_id INT, course_id INT, score FLOAT, FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );
上述代碼展示了一個簡單的MySQL模式的示例。我們創建了一個名為testdb的數據庫,并在其中定義了三個表:student、course和score。這些表的結構符合邏輯模式的要求,即實現了相應表之間的關系。