Anahtar korunuyor, 1 anahtar değerinin 1 tabloya gittiği anlamına gelir. Karşı örnekler vermek bu kavramı daha iyi anlamanıza yardımcı olabilir.
Örnek 1:
Görünümünüzde toplama var. Aşağıdaki görünüm yapınız olduğunu varsayalım.
GroupID, AverageSalary
1 , 10000
2, 12000
3, 14000
Bu örnekte: değerleriniz birden fazla satırdan geliyor. AverageSalary'yi bu görünümde güncellemeye çalışırsanız, veritabanının güncellenecek WHICH satırlarını bulmanın bir yolu yoktur.
Örnek2:
Görünümünüz birden fazla tablodaki değerleri gösterir. Görünümünüz, PERSON ve PERSON_CONTACT_DETAILS (ID, PersonID, ContactType, ContactValue) tablosundaki değerleri gösterir.
Örnek satırlar:
1,1,email,ddd@example.com
1,1,phone,898-98-99
Bu 2 tabloya katılıp daha fazla iş dostu bilgi görüntülüyorsunuz.
PersonId, Adı, Soyadı, Telefon1, E-posta1
Burada Phone1 ve Email1'i güncellemek istiyorsunuz. Ancak personID'niz iki farklı satıra eşlenir, bu örnekte daha fazla satır olabilir. Bu görünümde yine, veritabanının güncellenecek olan WHICH satırlarını bulmanın bir yolu yoktur.
Not: Görünüm sql'nizi kısıtlarsanız ve hangi satırların güncelleneceğini bulmanızı kolaylaştırabilir.
Bu iki örnek aklıma gelen ilk örneklerdir. Bunlar arttırılabilir. Ancak kavram açıktır. Veritabanı 1 anahtar değerini 1 tabloya eşlemelidir. Örneğin, bire bir PERSON, PERSON_DETAILS tablolarınız var. Burada görünüm ve güncelleme birebir olduğu için çalışacaktır.