Hola, me gustaría saber si con MySQL se pueden establecer relaciones, de las de 1:1, 1:N, M:N.
De ser así, ¿cómo? tengo diseñado un modelo relacional, con diferentes tablas relaciondas entre sí, y por ello me gustaría saberlo.
| |||
Relaciones con MySQL? Hola, me gustaría saber si con MySQL se pueden establecer relaciones, de las de 1:1, 1:N, M:N. De ser así, ¿cómo? tengo diseñado un modelo relacional, con diferentes tablas relaciondas entre sí, y por ello me gustaría saberlo. |
| |||
Mysql hasta la versión 4.1.x que todavía está en fase "alpha" o "beta" no va a soportar claves foráneas como para establecer tus relaciones de forma automática y controlada como lo hacen otros manejadores de BD (motores: MS SQL Server, Oracle, PostgreSQL .. etc). Sólo si usas tablas tipo Innodb puedes realizar ese tipo de relaciones "automáticas" y controladas. Pero .. de todas formas "a mano" puedes hacer tus relaciones .. eso sí .. la "integridad referencial" la tendras que controlar tu bajo tu programación, es decir; si deseas borrar un registro en cascada (que esté relacionado con otras tablas en la relación que "definas") debes hacerlo y controlarlo por médio de tu programación haciendo las consultas y validaciones necesarias "a mano". En www.mysql-hispano.com tienes tutoriales y artículos que hablan sobre el tema orientado a Mysql .. Revisalos. Por ejemplo .. este trata el tema concreto de "integridad referencial en Mysql": http://www.mysql-hispano.org/page.php?id=27 Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Algunos GUI para Mysql (windows) que puedes usar para implementar tu modelo relacional "de forma visual" (y automática si usas tablas InnoDB) son: Mysql Studio (Navicat) www.mysqlstudio.com EMS Mysql Manager www.mysqlmanager.com (dicen estar preparados para Mysql 4.1.x por si te animas a probar las versiones "beta" de Mysql ..) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
El tutorial de MySQL hispano sobre la integridad referencial me ha servido mucho para refrescarme los conceptos de integridad referencial y clave foránea, o extranjera. Así que muchas gracias. Probaré los GUI que me deciais. De todas formas tengo una duda: phpMyAdmin (que es lo que tengo instalado) no tiene nada parecido a ello, no? al GUI, me refiero. |
| |||
pero como narices poneis el formato de tablas innodb? :( mi versión de mysql deberia admitirlo.. pero nada.. no tengo la linea del skip-innodb en el my.cnf y las lineas que tengo sobre inndb si las descomento, da un error en el my.socket y no lo crea |
| |||
Yo lo que tengo instalado es el phpMyAdmin, y ahi, teniendo la versión 4.0.16nt (tal como me pone arriba del todo en la pág. inicial de phpMyAdmin), me da la opción de elegir qué tipo de tabla quiero, pudiendo poner InnoDB. Por lo demás, he estado mirando en softonic.com información sobre MySQL Front (versión 2.5), MySQL Manager (version 2.6.5.1), y finalmente PremiumSoft MySQL Studio (5.2.5), y la impresión que tengo es que para mi gusto, está mejor (ojo, sin probarlos), el último. Aun así tengo la pregunta de si, teniendo instalado phpMyAdmin, me hace falta GUI para lo que quiero, que es lo de relacionar tablas (visualmente claro, en plan tal como lo tiene el MS Access, pq hacerlo "a pelo" ya ponía en el tutorial de mysql hispano cómo hacerlo) |