Xem thêm

Khóa ngoại trong SQL Server: Đảm bảo tính toàn vẹn dữ liệu

Huy Erick
Giới thiệu Trong bài viết này, chúng ta sẽ tìm hiểu về khóa ngoại trong SQL Server. Khóa ngoại là một thành phần quan trọng trong việc đảm bảo tính toàn vẹn của dữ liệu...

Giới thiệu

Trong bài viết này, chúng ta sẽ tìm hiểu về khóa ngoại trong SQL Server. Khóa ngoại là một thành phần quan trọng trong việc đảm bảo tính toàn vẹn của dữ liệu trong cơ sở dữ liệu. Chúng ta sẽ khám phá tác dụng của khóa ngoại, cách thao tác với nó, và cách tạo sơ đồ diagram để hiểu rõ hơn về mối quan hệ giữa các bảng trong cơ sở dữ liệu.

Khóa ngoại là gì?

Trong cơ sở dữ liệu, các bảng không tồn tại độc lập, mà chúng có mối quan hệ mật thiết với nhau trong việc lưu trữ dữ liệu. Mối quan hệ này được thể hiện thông qua ràng buộc giá trị dữ liệu, đảm bảo rằng giá trị xuất hiện trong một bảng phải có xuất hiện trước trong một bảng khác.

Mối quan hệ giữa các bảng trong cơ sở dữ liệu đảm bảo tính đúng đắn và hợp lệ của dữ liệu.

Điều kiện để tạo khóa ngoại

  • Khóa ngoại phải tham chiếu đến khóa chính của bảng khác, đảm bảo các ràng buộc UNIQUE, NOT NULL tương tự như khóa chính.
  • Khóa ngoại phải có cùng kiểu dữ liệu và cùng số lượng trường có sắp xếp tương ứng với khóa chính.

Tác dụng của khóa ngoại

Khóa ngoại đảm bảo tính toàn vẹn dữ liệu trong cơ sở dữ liệu. Nó ngăn chặn trường hợp tham chiếu đến dữ liệu không tồn tại.

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

Để thực hiện các thao tác với khóa ngoại, chúng ta sẽ sử dụng một cơ sở dữ liệu đơn giản có hai bảng: "BoMon" và "Lop".

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

Cú pháp:

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',
DiaChi NVARCHAR(100) DEFAULT N'Địa chỉ giáo viên',
NgaySinh DATE,
Sex BIT,
MaBM CHAR(10),
FOREIGN KEY(MaBM) REFERENCES dbo.BOMON(MaBM)
)

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

Cú pháp:

ALTER TABLE 
ADD FOREIGN KEY()
REFERENCES  ()

Ví dụ:

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

Đặt tên cho khóa ngoại

Tương tự khóa chính, ta cũng có thể đặt tên cho khóa ngoại bằng từ khóa 'CONSTRAINT'. Tên khóa ngoại sẽ có định dạng sau: FK.

Hủy khóa ngoại có đặt tên

Để hủy khóa ngoại có đặt tên, sử dụng cú pháp sau:

ALTER TABLE  DROP CONSTRAINT 

Sơ đồ diagram

Để hiểu rõ hơn về mối quan hệ giữa các khóa chính và khóa ngoại trong cơ sở dữ liệu, chúng ta có thể tạo sơ đồ diagram.

Bước 1: Chọn Database cần xem > chuột phải vào Database Diagrams > New Database Diagram.

Bước 2: Chọn các bảng cần hiển thị trong sơ đồ và tạo sơ đồ diagram.

Sơ đồ diagram của Database sẽ hiển thị một cách trực quan các thông tin cơ bản như Tên Table, Tên column, khóa chính, khóa ngoại,...

Kết

Trên đây là những kiến thức cơ bản về khóa ngoại trong SQL Server. Khóa ngoại đóng vai trò quan trọng trong việc đảm bảo tính toàn vẹn dữ liệu trong cơ sở dữ liệu. Trong 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 bạn có bất kỳ khó khăn hoặc thắc mắc, hãy để lại bình luận để nhận được sự hỗ trợ từ cộng đồng.

1