Cho lược đồ CSDL Quản lý HDBH:
HoaDon(SoHD, SoMH, TongTriGia)
DM_Hang(MaHang, TenHang, DonViTinh)
ChiTiet_HD(SoHD, MaHang, SoLuongDat, DonGia, TriGia)
Xác định kiểu ràng buộc toàn vẹn sau đây: Mỗi bộ của CHITIET_HĐ phải có mã hàng thuộc về danh mục hàng.
Trả lời:
Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về các loại ràng buộc toàn vẹn trong cơ sở dữ liệu. Ràng buộc toàn vẹn đảm bảo tính chính xác và nhất quán của dữ liệu trong CSDL.
Phân tích các phương án:
- A. Ràng buộc tham chiếu: Ràng buộc này đảm bảo rằng một giá trị trong một bảng (thường là khóa ngoại) phải tồn tại trong một bảng khác (thường là khóa chính). Trong trường hợp này, `MaHang` trong `ChiTiet_HD` phải tồn tại trong `DM_Hang`.
- B. Ràng buộc liên bộ: Ràng buộc này liên quan đến mối quan hệ giữa các bộ (hàng) khác nhau trong cùng một bảng hoặc giữa các bảng khác nhau. Ví dụ: tổng số lượng hàng trong một đơn hàng không được vượt quá một giá trị nào đó.
- C. Ràng buộc liên thuộc tính: Ràng buộc này liên quan đến mối quan hệ giữa các thuộc tính (cột) khác nhau trong cùng một bảng. Ví dụ: giá trị của một thuộc tính phải lớn hơn giá trị của một thuộc tính khác.
- D. Ràng buộc miền giá trị: Ràng buộc này giới hạn các giá trị mà một thuộc tính có thể nhận. Ví dụ: tuổi của một người không thể là số âm.
Trong trường hợp ràng buộc "Mỗi bộ của CHITIET_HĐ phải có mã hàng thuộc về danh mục hàng", ta thấy rằng giá trị `MaHang` trong bảng `ChiTiet_HD` phải tham chiếu đến một giá trị tồn tại trong bảng `DM_Hang`. Đây chính là định nghĩa của ràng buộc tham chiếu.