Información general sobre la integridad referencial
La integridad referencial es un sistema de reglas que garantiza que las relaciones entre filas de tablas relacionadas son válidas y que no se eliminan o se cambian datos relacionados de forma accidental.
[!NOTA]
Hay una nueva versión del Diseñador de tablas para bases de datos con el formato de SQL Server 2012. En este tema se describe la versión anterior del Diseñador de tablas, que se utiliza con bases de datos de versiones anteriores de SQL Server.
En la nueva versión, las definiciones de tablas se pueden cambiar a través de una interfaz gráfica o directamente en un panel de scripts. Si se utiliza la interfaz gráfica, la definición de la tabla se actualiza automáticamente en el panel de scripts. Para aplicar el código SQL en el panel de scripts, elija el botón Actualizar. Para obtener más información sobre la nueva versión, vea Cómo: Crear objetos de base de datos usando el Diseñador de tablas.
Procedimiento
Puede establecer la integridad referencial cuando se cumplen todas las condiciones siguientes:
La columna coincidente de la tabla principal es una clave principal o tiene una restricción UNIQUE.
Las columnas relacionadas en la tabla externa tienen el mismo tipo de datos y el mismo tamaño.
Cuando se exige la integridad referencial, se deben observar las reglas siguientes:
No puede especificar un valor en la columna de clave externa de la tabla relacionada si ese valor no existe en la clave principal de la tabla relacionada.Sin embargo, puede especificar un valor nulo en la columna de clave externa.Por ejemplo, no puede indicar que se asigna un trabajo a un empleado que no está incluido en la tabla employee, pero puede indicar que un empleado no tiene trabajo asignado mediante la especificación de un valor nulo en la columna job_id de la tabla employee.
No puede eliminar una fila de una tabla de clave principal si existen filas que coinciden con ella en una tabla relacionada.Por ejemplo, no puede eliminar una fila de la tabla jobs si hay empleados asignados al trabajo representado por esa fila en la tabla employee.
No puede cambiar un valor de clave principal de la tabla de clave principal si esa fila tiene filas relacionadas.Por ejemplo, no puede cambiar el valor job_id de una fila en la tabla de trabajos si hay empleados con dicho job_id en la tabla de empleados.
Vea también
Referencia
Relaciones de clave externa (Cuadro de diálogo)