MySQL是一種關系型數據庫管理系統,是開源的,支持多用戶多線程,適用于各種規模的應用。在MySQL數據庫中,主表和從表是常見的概念。
主表(Master Table)又稱為父表,是一個擁有自身完整數據的表。主表的每一條記錄都有一條唯一的索引鍵。主表在與從表進行關聯查詢時,作為主導表存在。主表中的數據記錄不能被從表直接修改或刪除,只有在主表中對數據記錄進行修改或刪除之后,從表才能進行對應的操作。
CREATE TABLE master_table ( id INT NOT NULL PRIMARY KEY, master_name VARCHAR(50) NOT NULL, master_age INT NOT NULL, master_address VARCHAR(100) NOT NULL );
從表(Slave Table)又稱之為子表,是只包含主表部分數據的表。在從表中,主表的主鍵(index)作為一個外鍵(foreign key)來存在,從而保證每條記錄與主表中唯一的數據記錄一一對應。從表中的數據可以進行修改、刪除操作,但是這些操作不會影響到主表的數據,從表中的數據修改也不會影響到與主表有關聯的其它數據表。
CREATE TABLE slave_table ( id INT NOT NULL PRIMARY KEY, slave_name VARCHAR(50) NOT NULL, slave_age INT NOT NULL, slave_address VARCHAR(100) NOT NULL, master_id INT NOT NULL, CONSTRAINT fk_master_id FOREIGN KEY (master_id) REFERENCES master_table(id) );
從表與主表之間的關聯關系,通過建立外鍵(foreign key)實現。在關聯數據查詢時,通過join語句將兩個表關聯在一起,從而實現對主表和從表的同時查詢。