Bài tập

Khóa ngoại trong SQL Server

Huy Erick

Trong bài viết này, chúng ta sẽ tìm hiểu về khóa ngoại trong SQL Server và vai trò quan trọng của nó trong việc duy trì tính toàn vẹn dữ liệu. Dẫn nhập Ở bài...

Trong bài viết này, chúng ta sẽ tìm hiểu về khóa ngoại trong SQL Server và vai trò quan trọng của nó trong việc duy trì tính toàn vẹn dữ liệu.

Dẫn nhập

Ở bài trước, chúng ta đã tìm hiểu về khóa chính và cách tạo, xóa, đặt tên cho khóa chính trong một table. Ngoài ra, chúng ta cũng đã được giới thiệu về khái niệm khóa ngoại.

Trong bài này, chúng ta sẽ đi sâu vào tìm hiểu về khóa ngoại và cách thao tác với nó trong SQL Server.

Khóa ngoại là gì?

Trước khi đi vào chi tiết về cách thao tác với khóa ngoại, chúng ta cần hiểu khái niệm cơ bản về nó. Khóa ngoại là một thành phần quan trọng trong quan hệ giữa các table trong một database. Nó đảm bảo tính đúng đắn và hợp lệ của dữ liệu trong database.

Một khóa ngoại tham chiếu đến khóa chính của một table khác và đảm bảo rằng giá trị trong cột khóa ngoại phải tồn tại trong cột khóa chính của table tham chiếu. Điều này giúp đảm bảo tính toàn vẹn dữ liệu và ngăn chặn việc tham chiếu đến dữ liệu không tồn tại.

Thao tác với khóa ngoại

Để làm việc với khóa ngoại, chúng ta có thể sử dụng các câu lệnh SQL CREATE TABLE và ALTER TABLE.

Tạo khóa ngoại trong lúc tạo bảng

Khi tạo bảng, chúng ta có thể thêm các khóa ngoại ngay từ đoạn code tạo bảng. Cú pháp như sau:

CREATE TABLE  (   ...   FOREIGN KEY ()   REFERENCES  () )

Ví dụ:

CREATE TABLE GiaoVien (   MaGV CHAR(10) NOT NULL,   Name NVARCHAR(100) DEFAULT N'Tên giáo viên',   ...   MaBM CHAR(10),   FOREIGN KEY (MaBM)   REFERENCES dbo.BOMON(MaBM) )

Tạo khóa ngoại sau khi tạo bảng

Nếu chúng ta đã tạo bảng mà chưa thêm khóa ngoại, có thể sử dụng câu lệnh ALTER TABLE để thêm khóa ngoại. Cú pháp như sau:

ALTER TABLE  ADD FOREIGN KEY () REFERENCES  ()

Ví dụ:

ALTER TABLE dbo.HocSinh ADD FOREIGN KEY (MaLop) REFERENCES dbo.Lop(MaLop)

Hủy khóa ngoại

Nếu chúng ta muốn xóa khóa ngoại, có thể sử dụng câu lệnh ALTER TABLE. Cú pháp như sau:

ALTER TABLE  DROP CONSTRAINT 

Ví dụ:

ALTER TABLE dbo.HocSinh DROP CONSTRAINT FK_KS

Sơ đồ diagram

Để xem mối quan hệ giữa các khóa chính và khóa ngoại trong database, chúng ta có thể sử dụng sơ đồ diagram. Sơ đồ diagram cung cấp cái nhìn trực quan về các liên kết giữa các table và khóa.

Để tạo sơ đồ diagram, chúng ta có thể làm theo các bước sau:

  1. Chọn database cần xem sơ đồ, chuột phải vào "Database Diagrams" và chọn "New Database Diagram".
  2. Cửa sổ "Add Table" hiển thị, chúng ta chọn các bảng cần thêm và nhấn "Add" sau đó "Close".

Sơ đồ diagram sẽ hiển thị các ký hiệu vô cùng trỏ về table có chứa khóa ngoại và ký hiệu chìa khóa trỏ về table có chứa khóa chính. Các liên kết biểu diễn quan hệ tham chiếu của khóa ngoại từ table này đến khóa chính của table khác.

Kết

Trên đây là những kiến thức cơ bản về khóa ngoại trong SQL Server. Hi vọng qua bài viết này, bạn đã hiểu rõ về vai trò và cách thao tác với khóa ngoại. Bài viết tiếp theo, chúng ta sẽ tìm hiểu về truy vấn cơ bản trong SQL. Nếu có bất kỳ câu hỏi hoặc ý kiến, hãy để lại bình luận để chúng ta cùng thảo luận và phát triển kiến thức.

1