Câu hỏi phỏng vấn T-SQL
Câu hỏi

Bạn có thể giải thích sự khác biệt giữa Khóa Chính và Chỉ Mục Duy Nhất không?

Câu trả lời

Khóa Chính (Primary Key) và Chỉ Mục Duy Nhất (Unique Index) đều đóng vai trò quan trọng trong việc đảm bảo tính duy nhất của dữ liệu trong các bảng của cơ sở dữ liệu. Tuy nhiên, chúng có một số điểm khác biệt cơ bản:

  1. Khóa Chính (Primary Key):

    • Mỗi bảng chỉ có thể có một Khóa Chính.
    • Khóa Chính không chỉ đảm bảo rằng mỗi giá trị trong cột (hoặc các cột, nếu là khóa chính tổng hợp) là duy nhất mà còn đảm bảo rằng không có giá trị NULL nào được phép.
    • Khóa Chính thường được sử dụng để xác định mỗi hàng (record) một cách duy nhất trong bảng.
    • Theo mặc định, khi tạo Khóa Chính, một Chỉ Mục Duy Nhất (Unique Index) sẽ được tự động tạo để đảm bảo tính duy nhất và tăng tốc độ truy vấn dữ liệu.
  2. Chỉ Mục Duy Nhất (Unique Index):

    • Một bảng có thể có nhiều Chỉ Mục Duy Nhất.
    • Chỉ Mục Duy Nhất đảm bảo rằng tất cả các giá trị trong cột (hoặc các cột, nếu là chỉ mục tổng hợp) mà nó được áp dụng là duy nhất.
    • Khác với Khóa Chính, một Chỉ Mục Duy Nhất có thể chấp nhận giá trị NULL, tùy thuộc vào hệ quản trị cơ sở dữ liệu (DBMS) và cách thiết lập chỉ mục[.

Tóm lại, cả Khóa Chính và Chỉ Mục Duy Nhất đều đảm bảo tính duy nhất cho dữ liệu, nhưng Khóa Chính nghiêm ngặt hơn với quy định không cho phép giá trị NULL và mỗi bảng chỉ có thể có một Khóa Chính. Trong khi đó, Chỉ Mục Duy Nhất linh hoạt hơn, cho phép nhiều chỉ mục trên một bảng và có thể chấp nhận giá trị NULL.

Citation...

junior

junior

Gợi ý câu hỏi phỏng vấn

senior

Chỉ mục ClusteredNon Clustered thực sự có ý nghĩa gì?

expert

Từ góc độ T-SQL, làm thế nào bạn có thể ngăn chặn mã T-SQL được thực thi trên một máy chủ SQL sản xuất?

junior

Sự khác biệt giữa Ngôn ngữ Định nghĩa Dữ liệu (DDL) và Ngôn ngữ Thao tác Dữ liệu (DML) là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào