Tôi nghĩ rằng một khóa nước ngoài có nghĩa là một hàng duy nhất phải tham chiếu một hàng duy nhất, nhưng tôi đang xem xét một số bảng mà điều này chắc chắn không phải là trường hợp. Bảng 1 có cột1 với ràng buộc khóa ngoài trên cột2 trong bảng 2, NHƯNG có nhiều bản ghi trong bảng 2 có cùng giá trị trong cột2. Ngoài ra còn có chỉ mục không duy nhất trên cột2. Điều đó có nghĩa là gì? Ràng buộc khoá ngoại có đơn giản có nghĩa là ít nhất một bản ghi phải tồn tại với các giá trị đúng trong các cột bên phải không? Tôi nghĩ rằng nó có nghĩa là phải có chính xác một bản ghi như vậy (không chắc chắn như thế nào nulls phù hợp với hình ảnh, nhưng tôi ít quan tâm về điều đó vào lúc này).Một khóa ngoại có thể tham chiếu đến một chỉ mục không duy nhất không?
cập nhật: Rõ ràng, hành vi này là cụ thể đối với MySQL, đó là những gì tôi đã sử dụng, nhưng tôi đã không đề cập đến nó trong câu hỏi ban đầu của tôi.
Bạn đang nói về cơ sở dữ liệu nào? –
Loại cơ sở dữ liệu có quan trọng không? Tôi đã giả định nó là một quy tắc SQL chung. – bortzmeyer