Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

SQL khóa ngoại:Mọi thứ bạn cần biết về hoạt động khóa ngoại

Trong thị trường ngày nay, nơi nhiều công ty đa quốc gia sử dụng cơ sở dữ liệu quan hệ để xử lý dữ liệu, điều rất quan trọng là phải hiểu cách mỗi và mọi bảng có thể liên quan với nhau. Vì vậy, trong bài viết này về SQL khóa ngoại, tôi sẽ thảo luận về khóa ngoại trong các bảng để bạn hiểu mối quan hệ giữa các bảng.

Các chủ đề sau sẽ được đề cập trong bài viết này:

  1. Ràng buộc khóa ngoại là gì?
  2. Quy tắc cho Khoá ngoại
  3. Hoạt động Khóa Ngoại:
    • Khóa ngoại SQL trên Tạo bảng
    • Khóa ngoại SQL trên bảng thay thế
    • Bỏ khóa ngoại

Ràng buộc Khoá ngoại là gì?

Khóa ngoại là một loại khóa dùng để liên kết hai bảng trong cơ sở dữ liệu. Vì vậy, khóa ngoại là một thuộc tính hoặc một tập hợp các thuộc tính trong một bảng tham chiếu đến khóa chính trong một bảng khác.

Ví dụ, nếu Bảng A và Bảng B có liên quan đến nhau, thì nếu Bảng A bao gồm khóa chính, bảng này sẽ được gọi là bảng tham chiếu hoặc bảng mẹ. Tương tự, nếu Bảng B bao gồm một khóa ngoại, thì bảng đó được gọi là bảng tham chiếu hoặc bảng con. Tham khảo hình ảnh bên dưới:

Bây giờ bạn đã biết khóa ngoại là gì, tiếp theo trong bài viết này về SQL khóa ngoại, chúng ta hãy hiểu các quy tắc của khóa ngoại.

Quy tắc cho Khóa ngoại

Quy tắc của Khóa ngoại như sau:

  1. Bảng có khóa ngoại được gọi là bảng con và bảng được tham chiếu bởi khóa ngoại được gọi là bảng mẹ.
  2. Cho phép giá trị rỗng trong khóa ngoại
  3. Các khóa ngoại có thể được sao chép
  4. Có thể có nhiều hơn một khóa ngoại trong bảng
  5. Mối quan hệ được thiết lập giữa các bảng được gọi là tính toàn vẹn tham chiếu

Bây giờ bạn đã biết các quy tắc của khóa ngoại là gì, tiếp theo trong bài viết này về SQL khóa ngoại, chúng ta hãy xem các hoạt động của khóa ngoại.

Hoạt động chính ở nước ngoài:

Để hiểu các thao tác khác nhau trên Khóa ngoại, hãy xem xét hai bảng sau:

Bảng khách hàng:

ID khách hàng Tên khách hàng Số điện thoại
1 Rohan 9876543210
2 Sonali 9876567864
3 Ajay 9966448811
4 Geeta 9765432786
5 Shubham 9944888756

Bảng khóa học:

CourseID

Tên khóa học

CustomerID

c01

DevOps

2

c02

Học máy

4

c03

RPA

1

c04

Tableau

3

c05

AWS

2

Bây giờ, nếu bạn quan sát, cột customerID trong bảng khóa học đề cập đến cột customerID trong bảng khách hàng. Cột ID khách hàng từ bảng khách hàng là Khóa chính và cột ID khách hàng từ bảng khóa học là Khóa ngoại của bảng đó.

Bắt đầu với thao tác đầu tiên:

Khóa ngoại trên Tạo bảng

Bạn có thể sử dụng cú pháp sau để tạo khóa ngoại trên cột "customerID" khi tạo bảng "khóa học":

#For SQL Server/ MS Access/ Oracle
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int FOREIGN KEY REFERENCES customers(customerID)
);
#For MySQL
CREATE TABLE courses (
courseID varchar NOT NULL PRIMARY KEY,
courseName varchar NOT NULL,
customerID int
PRIMARY KEY (courseID),
FOREIGN KEY (customerID) REFERENCES customers(customerID)
);

Áp dụng khóa ngoại trên nhiều cột

Để áp dụng khóa ngoại trên nhiều cột trong khi tạo bảng, hãy tham khảo ví dụ sau:

CREATE TABLE courses (
courseID varchar NOT NULL,
courseName varchar NOT NULL,
customerID int, PRIMARY KEY (courseID),
CONSTRAINT FK_CustomerCourse FOREIGN KEY (customerID)
REFERENCES customers(customerID)
);

Tiếp theo, trong bài viết này về SQL khóa ngoại, chúng ta hãy xem cách sử dụng khóa ngoại trên Alter Table.

Khóa ngoại trên Bảng thay thế

Bạn có thể sử dụng cú pháp sau để tạo khóa ngoại trên cột “customerID” khi bảng “các khóa học” đã được tạo và bạn chỉ muốn thay đổi bảng:

ALTER TABLE courses
ADD FOREIGN KEY (customerID) REFERENCES customers(customerID);

Nếu bạn muốn thêm tên vào ràng buộc Khoá ngoại và xác định tên đó trên nhiều cột, hãy sử dụng cú pháp SQL sau:

ALTER TABLE courses
ADD CONSTRAINT FK_CustomerCourse
FOREIGN KEY (customerID) REFERENCES Customers(customerID);

Tiếp theo, trong bài viết này về SQL khóa ngoại, chúng ta hãy hiểu cách bỏ khóa ngoại

Bỏ khóa ngoại

Để bỏ khóa ngoại, bạn có thể tham khảo ví dụ sau:

#For SQL Server/ MS Access/ Oracle
ALTER TABLE courses
DROP CONSTRAINT FK_CustomerCourse;
For MYSQL
ALTER TABLE courses
DROP FOREIGN KEY FK_CustomerCourse;

Với điều này, chúng ta kết thúc bài viết này. Tôi hy vọng bạn đã hiểu cách sử dụng Khóa ngoại trong SQL. Nếu bạn muốn tìm hiểu thêm về MySQL và tìm hiểu cơ sở dữ liệu quan hệ nguồn mở này, sau đó xem Đào tạo chứng chỉ MySQL DBA đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn đạt được thành thạo về chủ đề này.

Bạn có câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của bài viết này về “SQL khóa ngoại” và tôi sẽ liên hệ lại với bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL GIỮA-Các mẹo thông minh để quét tìm một loạt các giá trị

  2. SQL CHỌN TỐI ĐA

  3. ODBC 4.0

  4. Cách sử dụng COUNT trong SQL?

  5. Cách tham gia nhiều (3+) bảng trong một câu lệnh