Khóa được bảo tồn có nghĩa là 1 giá trị khóa đi đến 1 bảng. Đưa ra các ví dụ truy cập có thể giúp bạn hiểu khái niệm này tốt hơn.
Ví dụ 1:
Quan điểm của bạn chứa tập hợp. Giả sử bạn có cấu trúc xem sau.
GroupID, AverageSalary
1 , 10000
2, 12000
3, 14000
Trong ví dụ này: các giá trị của bạn đến từ nhiều hơn một hàng. Nếu bạn cố cập nhật AverageSalary trong chế độ xem này, cơ sở dữ liệu không có cách nào để tìm hàng WHICH để cập nhật.
Ví dụ2: Khung
nhìn của bạn hiển thị các giá trị từ nhiều hơn một bảng. Chế độ xem của bạn hiển thị các giá trị từ bảng PERSON và PERSON_CONTACT_DETAILS (ID, PersonID, ContactType, ContactValue).
Hàng ví dụ:
1,1,email,ddd@example.com
1,1,phone,898-98-99
Bạn tham gia 2 bảng này và hiển thị thêm thông tin thân thiện với doanh nghiệp.
PersonId, Tên, Họ, Điện thoại1, Email1
Tại đây bạn muốn cập nhật Phone1 và Email1. Nhưng personID của bạn ánh xạ tới hai hàng khác nhau, có thể là nhiều hàng hơn, trong ví dụ này. Theo quan điểm này, một lần nữa, cơ sở dữ liệu không có cách nào để tìm các hàng WHICH để cập nhật.
Lưu ý: Nếu bạn hạn chế chế độ xem sql của bạn và làm cho nó rõ ràng để tìm hàng nào để cập nhật nó có thể hoạt động.
Hai ví dụ này là ví dụ đầu tiên xuất hiện trong tâm trí của tôi. Chúng có thể được tăng lên. Nhưng khái niệm là rõ ràng. Cơ sở dữ liệu cần ánh xạ 1 giá trị chính vào 1 bảng. Ví dụ: bạn có một đến một bảng PERSON_DETAILS. Ở đây xem và cập nhật sẽ hoạt động vì nó là một.