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.
Descripción de las reglas de integridad referenciales
Las reglas de integridad de referencias evitan que los usuarios de la base de datos rompan accidentalmente la asignación entre columnas relacionadas.
Supongamos que tiene una base de datos denominada Libros con dos tablas denominadas Títulos y Autores. Para este ejemplo, cada título tiene un solo autor, pero cada autor puede tener varios títulos, creando lo que se denomina una relación uno a varios. La tabla situada en el 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 de forma única cada fila. La tabla Títulos debe tener una columna que contenga el AuthorID de cada título. Esta columna se denomina clave extranjera. La clave principal identifica a cada autor y la clave externa identifica qué libros fueron escritos por qué autor.
Si un usuario cambia el AuthorID del autor en la tabla principal, sin actualizar el AuthorID en la tabla Títulos, los libros de la tabla Títulos ya no tienen un autor válido.
En lugar de tener que cambiar el AuthorID 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 se elimina una clave en la tabla primaria.
Nota
Los términos primario y secundario se usan para significar algo muy diferente en las categorías, que se crean con las formas Principal 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 el ventana Propiedades Base de datos, en Categorías, haga clic en Acción referencial.
Haga clic en la acción que desea que realice la base de datos en el valor correspondiente de la tabla secundaria. Puede elegir entre las siguientes acciones:
- Sin acción Cuando se cambia o se elimina un valor de la clave principal de una tabla principal, el valor correspondiente de la clave externa de la tabla secundaria se deja sin cambios.
- Cascade Cuando se cambia o se elimina un valor de la clave principal de una tabla principal, el valor correspondiente de la clave externa de la tabla secundaria se cambia o se elimina para que coincida con la clave principal.
- Set NULL Cuando se cambia o se 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 valores predeterminados Cuando se cambia o se 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 aplicar Esta acción desactiva las reglas de integridad referencial para esta relación.
Nota
Si las opciones Establecer NULL y Establecer predeterminado están deshabilitadas, es probable que la relación se establezca en Opcional en la pestaña Varios de la ventana Propiedades de la base de datos para la relación.
Establecer un valor predeterminado para una columna
Para usar la acción Establecer valor predeterminado , debe proporcionar un valor predeterminado para la columna.
- Haga doble clic en la tabla del diagrama para abrir la ventana Propiedades de la base de datos.
- En Categorías, haga clic en Columnas, haga clic en la columna para la que desea establecer 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 notación
Puede establecer las Opciones de documento para ocultar o mostrar la notación de integridad referencial junto a las líneas de relación del modelo.
¿Qué significan las letras en la notación de integridad referencial?
La notación de integridad referencial muestra las relaciones con dos letras separadas por dos puntos, en la forma [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 aplica en cascada a 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 eliminarán.
Los resultados de la tabla secundaria se indican con una letra mayúscula:
- R Sin acción No cambie la tabla secundaria.
- C Cascade Replique el cambio en la tabla secundaria.
- D Establecer valor 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 exija la integridad referencial en esta relación.
Nota
Esta configuración afecta a lo que sucede en una base de datos real en lugar de en un modelo. En un modelo de ingeniería inversa a partir de una base de datos existente, puede ver cómo está diseñada la base de datos con respecto a la integridad de referencias. 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 quiere obtener información sobre cómo diseñar una base de datos existente en un modelo de base de datos, vea el tema Ingeniería inversa de una base de datos existente.