Schlüssel erhalten bedeutet, dass 1 Schlüsselwert an 1 Tabelle geht. Die Angabe von Gegenbeispielen kann Ihnen dabei helfen, dieses Konzept besser zu verstehen.
Beispiel 1:
Ihre Ansicht enthält Aggregation. Angenommen, Sie haben die folgende Ansichtsstruktur.
GroupID, AverageSalary
1 , 10000
2, 12000
3, 14000
In diesem Beispiel: Ihre Werte stammen aus mehr als einer Zeile. Wenn Sie versuchen, AverageSalary in dieser Ansicht zu aktualisieren, kann die Datenbank die zu aktualisierenden Zeilen nicht finden.
Beispiel2:
Ihrer Ansicht werden Werte aus mehreren Tabellen . In Ihrer Ansicht werden Werte aus den Tabellen PERSON und PERSON_CONTACT_DETAILS (ID, PersonID, ContactType, ContactValue) angezeigt.
Beispielzeilen:
1,1,email,ddd@example.com
1,1,phone,898-98-99
Sie nehmen an dieser Tabelle teil und zeigen mehr geschäftsfreundliche Informationen an.
Personen-ID, Name, Nachname, Telefon1, E-Mail1
Hier möchten Sie Phone1 und Email1 aktualisieren. Ihre personID ist jedoch zwei verschiedenen Zeilen zugeordnet. In diesem Beispiel sind möglicherweise mehrere Zeilen vorhanden. In dieser Ansicht kann die Datenbank die zu aktualisierenden Zeilen nicht finden.
Hinweis: Wenn Sie Ihre Ansicht sql einschränken und klarstellen, welche Zeilen aktualisiert werden sollen, funktioniert dies möglicherweise.
Diese beiden Beispiele sind erste Beispiele, die mir in den Sinn kommen. Sie können erhöht werden. Aber das Konzept ist klar. Die Datenbank muss 1 Schlüsselwert auf 1 Tabelle abbilden. Zum Beispiel haben Sie eins zu eins PERSON, PERSON_DETAILS Tabellen. Hier wird das Anzeigen und Aktualisieren funktionieren, da es eins zu eins ist.