 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
jose Ens


Registrado: 12 Jul 2004Mensajes: 29Ubicación: La Rioja
|
Publicado: Vie 20 Ene, 2006 10:09 pm Asunto: Crear relaciones en Firebird |
|
|
¿Cómo podría crear relaciones entre 2 tablas una vez creadas en Firebird?
Utilizo "EMS Interbase/FireBird Manager" a través del cual creo las tablas y los campos de forma muy cómoda, pero me atasco a la hora de establecer campos Primarios y Foráneos, y la relación entre ellos.
¿Lo puedo realizar con esta aplicación o es más cómodo desde alguna otra?
Gracias a todos. _________________ LA INSPIRACIÓN EXISTE, PERO TIENE QUE ENCONTRARTE TRABAJANDO |
|
| Volver arriba |
|
 |
Buildero Master


Registrado: 23 Dic 2003Mensajes: 523Ubicación: Puebla, México
|
Publicado: Vie 20 Ene, 2006 11:00 pm Asunto: |
|
|
Es muy cómodo hacerlo con EMS, de hecho es la que yo utilizo.
Suponiendo que tienes dos tablas llamadas Clientes y Pedidos respectivamente. La relacion a crear es 1..m (Uno a muchos)... es decir, un cliente tiene muchos pedidos.
Bien, al hacer doble clic sobre cualquier tabla declarada, te aparecerá del lado derecho toda la información sobre esa tabla. la información se presenta a través de fichas (otros los llaman pestañas). Estas fichas son las siguientes: Campos, Restricciones, Indices, Dependencias, Disparadores, Datos, Descripción y DDL.
Para tu primer duda, sobre crear la llave principal, si se trata de un solo campo, lo pudesa hacer desde la declaración del mismo. Al momento de craer la tabla, te pide crear la primera columna o campo y en la parte derecha tiene dos opciones Not Null y Primary Key. Habilita la casilla de verifición "Primary Key" para que esa campo sea tu llave primaria.
Para el segundo caso, tomando como ejemplo las tablas de Clientes y Pedidos, el campo foráneo el el Id del cliente en la tabla de Pedidos por lo tanto se hace doble clic sobre la tabla interesada (en este caso Pedidos) y se selecciona la ficha Restricciones.
Al agregar una restricción te aparece la pantalla con tres fichas, una para cada tipo de restricción (LLave primaria, Llave foránea y restricción tipo Check). Selecciona la ficha "Foreing Key o llave foránea, segun el idioma de tu aplicación", te aparecen cuatro cuadros de lista, el primero muestra la lista de campos disponibles, selecciona el campo que te interese relacionar, en este caso supondremos que mi campo que hace referencia al cliente en la tabla pedidos se llama "IdCliente". Agrega el campo al la lista de campos incluidos para la realción. Posteriormente debes seleccionar la tabla sobre la cual existe el campo externo al que se va a relacionar, para esto utiliza el combo que indica las tablas restantes. En este caso selecciona la tabla que te interese (clientes en este caso) y aparecen los campos disponibles de la tabla, selecciona el campo campo que te interesa y agregalo a la lista de campos incluidos. Y listo!!!!
Puedes agregar reglas de integridad como por ejemplo que al eliminar un cliente se eliminen en cascada todos sus pedidos...o el caso contrario... no eliminar un cliente si es que este tiene pedidos registrados. Checate la opciones y elige la que mas te convenga. Estas reglas aplican tanto para el borrado como de acualización.
Saludos _________________ Quien hace una pregunta teme parecer un ignorante durante cinco minutos, quien no pregunta se mantiene ignorante toda la vida. |
|
| Volver arriba |
|
 |
jose Ens


Registrado: 12 Jul 2004Mensajes: 29Ubicación: La Rioja
|
Publicado: Jue 26 Ene, 2006 8:01 pm Asunto: Facilisimo |
|
|
Gracias Buildero.
Impresionante lo fácil que resultan las cosas cuando te indican el camino. Estoy intentando trasladar mi aplicación de gestión a Firebird, y voy poco a poco, así que amenazo con aparecer por el foro con temas de este estilo (espero que más complicados cada vez), pero me acojo a tu lema
Gracias de nuevo.  _________________ LA INSPIRACIÓN EXISTE, PERO TIENE QUE ENCONTRARTE TRABAJANDO |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|