Crear relaciones entre las tablas

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Tutoriales > Base de datos "ZooDB" > Agregar tablas a la BD >

Crear relaciones entre las tablas

La BD del zoo ya tiene tablas y ahora podemos añadirle relaciones de clave foránea, bien desde el Editor de diseños, bien con ayuda de un script SQL. Una clave foránea es la relación entre dos tablas que sirve para garantizar que en ciertas columnas de una tabla se inserten solamente datos ya presentes en la otra tabla.

 

En nuestro ejemplo, lo que queremos es que solamente sea posible añadir un tipo de animal nuevo en la tabla tblAnimalTypes si ese tipo de animal ya existe como CategoryID en la tabla tblAnimalCategories. De este modo, solo se pueden añadir animales que pertenezcan a una categoría ya definida en tblAnimalCategories. Para añadir esta relación en la BD usaremos el Editor de diseños. Además, el tutorial viene con un script SQL con el que podrá agregar las demás relaciones de clave foránea en la BD.

 

Para definir una relación de clave foránea desde el Editor de diseños

1.Primero compruebe que la conexión ConexiónBDZoo está activa y después haga clic en el botón Editor de diseños ic_new-design-editor (Ctrl+D).
2.En la ventana Explorador haga clic en la tabla tblAnimalTypes, arrástrela y colóquela en la ventana del Editor de diseños.
3.Haga clic con el botón derecho en el diseño de tabla y seleccione Insertar nuevo/a | Clave | Clave foránea en el menú contextual.

En el diseño se crea una clave foránea, llamada <generado>, y su entrada está seleccionada para ser editada.

4.Si quiere, cambie el nombre de la clave por FK_CategoryID y pulse Entrar. Si deja <generado>, la base de datos generará automáticamente el nombre de la clave.
5.En la columna Referencia, haga doble clic en [seleccione la tabla a la que se hace referencia] y seleccione tblAnimalCategories en la lista desplegable. Bajo el nombre de la tabla aparece la primera columna, CategoryID, de la tabla a la que se hace referencia. Esto se puede dejar como está.
6.En la columna Columnas de la sección Clave, haga doble clic en la entrada AnimalTypeID que se insertó de forma predeterminada y seleccione Category en la lista desplegable.

 

design_create-foreign-key-col

 

7.Ahora, en la ventana Script de cambios de la estructura de la BD, haga clic en Ejecutar el script de cambios SQL generado ic_execute-sql para ejecutar el script de cambios y confirmar la nueva clave foránea en la BD.
8.Además, si quiere, haga clic con el botón derecho en la entrada FK_CategoryID del diseño de tabla y seleccione Agregar tablas relacionadas | Tablas a las que se hace referencia.

 

Agregar relaciones de clave foránea con scripts SQL

Para acelerar el proceso el tutorial viene con un script SQL que sirve para crear las demás relaciones de clave foránea de la BD del zoo. El script ya está asignado al proyecto.

 

1.Primero compruebe que la conexión ConexiónBDZoo está activa.
2.En la ventana Proyecto haga doble clic en el archivo create_ZooDB_relationships.sql. El archivo se abre en una ventana nueva del Editor SQL.

 

sql_create-zoodb-relationships

 

3.En la ventana Propiedades, en el campo Origen de datos de la sección General, elija ConexiónBDZoo.

El script SQL se conecta al origen de datos ConexiónBDZoo y en el Editor SQL se habilitan los comandos de ejecución.

4.Haga clic en Guardar el proyecto ic_save_project (Ctrl+S) en la ventana Proyecto para guardar la asignación de origen de datos en las propiedades del proyecto.
5.Haga clic en el Ejecutar ic_execute-sql (F5). En la BD del zoo se crean las relaciones de clave foránea.

 

Para obtener una vista gráfica de las relaciones que se acaban de crear haga clic con el botón derecho en la carpeta Tablas de usuario de la ventana Explorador y seleccione el comando Mostrar en editor de diseños.


© 2019 Altova GmbH