sql >> Base de Datos >  >> RDS >> Sqlserver

Descripción de las reglas de actualización y eliminación para relaciones en SSMS 2008

La clave externa define una relación padre-hijo entre dos tablas. La clave principal en la tabla principal es la clave externa en las filas de la tabla secundaria hasta n.

Ahora, si esa clave principal en la tabla principal se ACTUALIZA, se activa la REGLA DE ACTUALIZACIÓN. O todas las filas secundarias también se actualizan, se establecen en NULL o lo que sea. Sin embargo, la mejor práctica es tener una clave principal que NUNCA cambie (una ID fija o algo así), por lo que esa es la regla menos importante.

La más importante es la regla DELETE:¿qué sucede si se elimina la fila principal (por ejemplo, se elimina el pedido)? También puede eliminar todas las filas secundarias (todas las líneas de pedido) con CASCADE DELETE, o puede establecer su clave externa en NULL (ya no tienen un padre), eso depende totalmente de su escenario concreto.

En el escenario Pedido/líneas de pedido, podría ser totalmente útil eliminar las líneas de pedido cuando se elimine el pedido completo, pero probablemente no desee eliminar un producto, solo porque se eliminó un pedido que hace referencia a él; no hay una sola respuesta CORRECTA:depende de su escenario y su aplicación.

Marc