MySQL是一款流行的關系型數據庫管理系統,它支持表與表之間的關聯。在MySQL中,可以使用外鍵來實現主表與從表之間的關聯。
那么,主表中是否有外鍵呢?答案是肯定的。在MySQL中,主表必須有一個主鍵,并且可以將該主鍵設置為外鍵,與從表的主鍵進行關聯。這樣可以實現數據的完整性約束,避免了數據的冗余性和不一致性等問題。
CREATE TABLE `department` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
CREATE TABLE `employee` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`dept_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `dept_id` (`dept_id`),
CONSTRAINT `fk_employee_dept_id` FOREIGN KEY (`dept_id`) REFERENCES `department` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
以上是部門和員工表的建表語句,在員工表中含有一個dept_id字段,該字段與部門表中的id字段進行關聯。這里我們采用了外鍵約束,即通過FOREIGN KEY關鍵字將dept_id字段設置成了外鍵,并指定了該字段參照的表和字段。
總的來說,MySQL中主表必須含有主鍵,并且可以將主鍵設置成外鍵,與從表的主鍵進行關聯。這種關聯方式可以有效地保證數據的完整性和一致性。