Câu hỏi phỏng vấn MySQL
Câu hỏi

Ràng buộc khóa là gì? Có những loại ràng buộc nào khác nhau trong MySQL?

Câu trả lời

Ràng buộc khóa trong cơ sở dữ liệu, đặc biệt là trong MySQL, là một quy tắc được áp dụng cho các cột của bảng để đảm bảo tính toàn vẹn và độ chính xác của dữ liệu. Các ràng buộc này giúp quản lý cách dữ liệu được lưu trữ, cập nhật và xóa, đồng thời đảm bảo rằng dữ liệu trong cơ sở dữ liệu là đáng tin cậy và không mâu thuẫn.

Có nhiều loại ràng buộc khác nhau trong MySQL, bao gồm:

  1. Ràng buộc NOT NULL: Đảm bảo rằng một cột không thể chứa giá trị NULL. Điều này có nghĩa là mỗi khi một bản ghi được thêm hoặc cập nhật trong bảng, cột này phải có một giá trị hợp lệ[13][14].

  2. Ràng buộc UNIQUE: Đảm bảo rằng tất cả các giá trị trong một cột là duy nhất trong toàn bảng. Điều này ngăn chặn việc hai bản ghi có giá trị giống nhau trong cột được đánh dấu là UNIQUE[5][18].

  3. Ràng buộc PRIMARY KEY: Kết hợp giữa NOT NULL và UNIQUE. Một cột được đánh dấu là PRIMARY KEY sẽ không chấp nhận giá trị NULL và tất cả giá trị trong cột này phải là duy nhất. Mỗi bảng chỉ có thể có một PRIMARY KEY, và nó thường được sử dụng để định danh duy nhất cho mỗi bản ghi trong bảng[9][10].

  4. Ràng buộc FOREIGN KEY: Tạo một mối quan hệ giữa hai bảng. Một cột hoặc nhóm các cột trong một bảng (bảng con) được định nghĩa để tham chiếu đến PRIMARY KEY của bảng khác (bảng cha). Ràng buộc này đảm bảo tính toàn vẹn tham chiếu, nghĩa là chỉ có thể thêm vào bảng con những giá trị đã tồn tại trong bảng cha[1][12].

  5. Ràng buộc CHECK: Cho phép định nghĩa một điều kiện mà tất cả giá trị trong cột phải thỏa mãn. Ví dụ, có thể sử dụng ràng buộc CHECK để đảm bảo rằng một cột số phải nằm trong một phạm vi nhất định[20].

  6. Ràng buộc DEFAULT: Đặt một giá trị mặc định cho cột nếu không có giá ...

middle

middle

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

expert

SAVEPOINT trong MySQL được sử dụng để làm gì?

senior

Các loại phân vùng nào được MySQL hỗ trợ?

senior

Replication kiểu master-slave trong MySQL là gì? Nó có những ưu điểm gì?

Bình luận

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

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