Clave preservada significa que 1 valor clave va a 1 tabla. Dar ejemplos contrarios puede ayudarlo a comprender mejor este concepto.
Ejemplo 1:
Su vista contiene agregación. Suponga que tiene la siguiente estructura de vista.
GroupID, AverageSalary
1 , 10000
2, 12000
3, 14000
En este ejemplo: sus valores provienen de más de una fila. Si intenta actualizar AverageSalary en esta vista, la base de datos no tiene forma de encontrar CUÁLES filas para actualizar.
Ejemplo2:
su vista muestra valores de más de una tabla. Su vista muestra valores de la tabla PERSON y PERSON_CONTACT_DETAILS (ID, PersonID, ContactType, ContactValue).
Filas de ejemplo:
1,1,email,ddd@example.com
1,1,phone,898-98-99
Usted se une a esta tabla 2 y muestra más información amigable para los negocios a la vista.
PersonId, Nombre, Apellido, Teléfono1, Correo electrónico1
Aquí desea actualizar Phone1 y Email1. Pero su personID se asigna a dos filas diferentes, en este ejemplo puede haber más filas. En esta vista, una vez más, la base de datos no tiene forma de encontrar CUÁLES filas para actualizar.
Nota: Si restringe su vista sql y deja en claro qué filas actualizar, puede funcionar.
Estos dos ejemplos son los primeros ejemplos que me vienen a la mente. Se pueden aumentar. Pero el concepto es claro. La base de datos necesita asignar 1 valor clave a 1 tabla. Por ejemplo, tiene tablas PERSON, PERSON_DETAILS de uno a uno. Aquí ver y actualizar funcionará ya que es uno a uno.