Nota
El diagrama de modelo de base de datos solo está disponible en algunas versiones de Visio. Vea ¿No encuentra las características de modelado de base de datos? para obtener más información.
Comprender las reglas de integridad referencial
Las reglas de integridad referencial impiden que los usuarios de la base de datos dividan accidentalmente la asignación entre columnas relacionadas.
Supongamos que tiene una base de datos denominada Libros con dos tablas denominadas Títulos y Autores. A efectos de este ejemplo, cada título solo tiene un autor, pero cada autor puede tener varios títulos, lo que crea lo que se denomina una relación uno a varios. La tabla del lado "uno" de la relación se denomina tabla principal. La tabla del lado "varios" se denomina tabla secundaria.
Para recopilar información sobre cada libro y su autor, una consulta usa claves para hacer coincidir cada libro de la tabla Títulos con su autor en la tabla Autores. La tabla principal (Autores) debe tener una clave principal que identifique exclusivamente cada fila. La tabla Títulos debe tener una columna que contenga el Id. de autor para cada título. Esta columna se denomina clave externa. La clave principal identifica a cada autor y la clave externa identifica qué libros escribió cada autor.
Si un usuario cambia el Id. de autor en la tabla principal, sin actualizar el Id. de autor en la tabla Títulos, los libros de la tabla Títulos dejarán de tener un autor válido.
En lugar de tener que cambiar el Id. de autor en ambas tablas, puede establecer reglas de integridad referencial para realizar la acción que desee. Puede elegir que el modelo de base de datos realice acciones específicas cuando se cambia o elimina una clave en la tabla principal.
Nota
Los términos primario y secundario se usan para significar algo bastante diferente en las categorías, que se crean con las formas Padre a categoría, Categoría y Categoría a secundaria . Para obtener más información sobre las categorías, vea Definir categorías en un diagrama de modelo de base de datos.
Establecer acciones para integridad referencial
Haga doble clic en la relación para la que desea establecer una acción referencial.
En la ventana Propiedades Base de datos, en Categorías, haga clic en Acción referencial.
Haga clic en la acción que desea que la base de datos realice en el valor correspondiente de la tabla secundaria. Puede elegir entre las siguientes acciones:
- Ninguna acción Cuando se cambia o elimina un valor de la clave principal de una tabla principal, el valor correspondiente de la clave externa de la tabla secundaria no cambia.
- Cascada Cuando se cambia o elimina un valor de la clave principal de una tabla principal, se cambia o elimina el valor correspondiente de la clave externa de la tabla secundaria para que coincida con la clave principal.
- Establecer NULL Cuando se cambia o elimina un valor de la clave principal de una tabla principal, el valor correspondiente de la clave externa de la tabla secundaria se establece en NULL.
- Establecer como predeterminado Cuando se cambia o elimina un valor de la clave principal de una tabla principal, el valor correspondiente de la clave externa de la tabla secundaria se establece en el valor predeterminado que elija.
- No exigir Esta acción desactiva las reglas de integridad referencial para esta relación.
Nota
Si las opciones Establecer NULL y Establecer como predeterminado están deshabilitadas, es probable que la relación se establezca en Opcional en la pestaña Varios de la ventana Propiedades de base de datos para la relación.
Establecer un valor predeterminado para una columna
Para usar la acción Establecer como predeterminada , debe proporcionar un valor predeterminado para la columna.
- Haga doble clic en la tabla del diagrama para abrir el ventana Propiedades de base de datos.
- En Categorías, haga clic en Columnas, haga clic en la columna para la que desea crear un valor predeterminado y, a continuación, haga clic en Editar.
- En la pestaña Definición del cuadro de diálogo Propiedades de columna, escriba un valor para el valor predeterminado.
Mostrar integridad referencial mediante la notación
Puede configurar las Opciones de documento para ocultar o mostrar la notación de integridad referencial junto a las líneas de relación en el modelo.
¿Qué significan las letras de la notación de integridad referencial?
Notación de integridad referencial muestra las relaciones con dos letras separadas por dos puntos, en el formulario [acción realizada en la tabla principal]:[resultado en la tabla secundaria]. Por ejemplo, d:C significa que, cuando se elimina algo en la tabla principal, el cambio se realiza en cascada en la tabla secundaria.
Las acciones de la tabla principal se indican con una letra minúscula:
- u Los datos de la tabla principal se actualizan.
- d Los datos de la tabla principal se eliminan.
Los resultados de la tabla secundaria se indican con una letra mayúscula:
- R Ninguna acción No cambie la tabla secundaria.
- C Cascada Replique el cambio en la tabla secundaria.
- D Establecer como predeterminado Inserte el valor predeterminado que estableció anteriormente para esa columna en la tabla secundaria.
- N Set Null Establezca la tabla secundaria en NULL.
- (En blanco) No exigir integridad referencial en esta relación.
Nota
Esta configuración afecta a lo que ocurre en una base de datos real en lugar de en un modelo. En un modelo de ingeniería inversa de una base de datos existente, puede ver cómo se diseña la base de datos con respecto a la integridad referencial. En un modelo que cree desde cero, puede usar esta configuración para documentar cómo desea que se comporte la base de datos que está modelando.
Mostrar integridad referencial en Visio 2010
- En la pestaña Base de datos, en el grupo Administrar haga clic en Mostrar opciones.
- En la pestaña Relaciones , en Mostrar, active la casilla Acciones referenciales .
¿No encuentra las características de modelado de base de datos?
Algunas versiones de Visio no tienen la plantilla Diagrama de modelo de base de datos.
Visio Standard no incluye la plantilla Diagrama de modelo de base de datos.
Las ediciones de Visio Profesional y Premium admiten las características de ingeniería inversa de la plantilla Diagrama de modelo de base de datos (es decir, usa una base de datos existente para crear un modelo en Visio), pero no admite la ingeniería directa (es decir, utilizar un modelo de base de datos de Visio para generar código SQL).
Nota
Encontrará el conjunto completo de características de modelado de base de datos, como ingeniería inversa y directa, en Visio for Enterprise Architects. Visio for Enterprise Architects se incluye en MSDN Premium Subscription, disponible en las ediciones basadas en roles Visual Studio Professional y Visual Studio Team System.
Si usa Visio Plan 2 y desea obtener información sobre cómo convertir una base de datos existente en un modelo de base de datos, vea el tema Ingeniería inversa de una base de datos existente.