MySQL是世界上最流行的開源數據庫之一。它可以管理大型數據集,因此在大型企業中廣泛使用。一個數據庫中的表之間存在關系。本文將通過示例說明MySQL中的關系。
在MySQL中,關系有三種:
- 一對一(one to one)
- 一對多(one to many)
- 多對多(many to many)
下面是一對一示例:
CREATE TABLE person ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); CREATE TABLE passport ( id INT PRIMARY KEY, person_id INT UNIQUE, passport_number VARCHAR(20), FOREIGN KEY (person_id) REFERENCES person(id) );
在這個示例中,person表和passport表之間是一對一關系。意味著每個人只有一個護照,一個護照只能屬于一個人。
下面是一對多示例:
CREATE TABLE department ( id INT PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(50), department_id INT, FOREIGN KEY (department_id) REFERENCES department(id) );
在這個示例中,employee表和department表之間是一對多關系。一個部門可以有多個員工,而一個員工只能屬于一個部門。
下面是多對多示例:
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE course ( id INT PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE student_course ( student_id INT, course_id INT, FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id), PRIMARY KEY (student_id, course_id) );
在這個示例中,student表和course表之間是多對多關系。一個學生可以選修多個課程,一個課程可以被多個學生選修。
通過以上示例,我們可以看到MySQL中的關系是如何運作的。在實際開發中,正確地利用這些關系可以大大提高我們的數據管理效率。