Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Relaciones en phpMyAdmin

Estas en el tema de Relaciones en phpMyAdmin en el foro de Mysql en Foros del Web. Hola a todos, mi consulta es la siguiente: he creado bases de datos en SQL Server 7.0, estas con sus correspondientes relaciones y todo eso. ...
  #1 (permalink)  
Antiguo 13/08/2007, 11:56
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Relaciones en phpMyAdmin

Hola a todos, mi consulta es la siguiente:

he creado bases de datos en SQL Server 7.0, estas con sus correspondientes relaciones y todo eso.

Pero en phpMyAdmin no sé como hacer las relaciones, alguno de ustedes, me podría explicar un poco sobre como hacerlas...

Gracias de ante mano
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #2 (permalink)  
Antiguo 13/08/2007, 18:38
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Relaciones en phpMyAdmin

phpMyAdmin es simplemente una herramienta para administrar de forma gráfica MySQL.

Lo que necesitas es especificar qué versión de MySQL estas usando, bajarte el manual de la página oficial o colocar en internet (Google por ejemplo) "relaciones MySQL".
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 14/08/2007, 07:59
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Relaciones en phpMyAdmin

Hola, puedes utilizar el dbdesigner para hacer las tablas con sus relaciones etc etc, y luego generar el codigo sql, que lo realiza el mismo dbdesigner, copiarlo y pegarlo desde la pestaña que dice SQL de phpmyadmin. Y listo.

Saludos
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 16/08/2007, 08:37
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Cita:
Iniciado por BrujoNic Ver Mensaje
phpMyAdmin es simplemente una herramienta para administrar de forma gráfica MySQL.

Lo que necesitas es especificar qué versión de MySQL estas usando, bajarte el manual de la página oficial o colocar en internet (Google por ejemplo) "relaciones MySQL".
Hola estimado, la versión es:

phpMyAdmin 2.6.2

Gracias
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #5 (permalink)  
Antiguo 16/08/2007, 09:15
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Relaciones en phpMyAdmin

Hola jpzapatas
Lo que BrujoNic pregunta es la versión de mysql, no la versión del phpMyAdmin.
Sobre las relaciones, solo las tablas tipo InnoDB soportan relaciones, y si quieres trabajar visualmente puedes descargarte una herramienta gráfica, tales como navicat, mysqlfront, hedisql, sqlyog, etc.

Saludos!
  #6 (permalink)  
Antiguo 16/08/2007, 14:50
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Cita:
Iniciado por Genetix Ver Mensaje
Hola jpzapatas
Lo que BrujoNic pregunta es la versión de mysql, no la versión del phpMyAdmin.
Sobre las relaciones, solo las tablas tipo InnoDB soportan relaciones, y si quieres trabajar visualmente puedes descargarte una herramienta gráfica, tales como navicat, mysqlfront, hedisql, sqlyog, etc.

Saludos!
Muchas gracias por su aporte, y sorry por dar la versión equivocada.

Por otro lado ya capté como hacerlo, les agradezco enormemente a todos por vuestros comentarios...

Les dejo un link que me pareció muy bueno, espero les guste

saludos a todos

http://www.mysql-hispano.org/page.php?id=27&pag=4
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #7 (permalink)  
Antiguo 18/08/2007, 16:41
Avatar de lyoung  
Fecha de Ingreso: noviembre-2005
Ubicación: Montevideo, la gran capit
Mensajes: 139
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Estoy cureoseando por el foro en busca de información acerca de mysql, y si bien este tema no me solucionó mucho, creo que el link delMysql hispano me va a servir en un futuro no muy lejano.
Gracias.
__________________
Todo se ve mejor si le miramos el lado positivo.
  #8 (permalink)  
Antiguo 22/08/2007, 14:01
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Estimados todos, ahora tengo otro problemita al tratar de crear una tabla, pero no puedo captar cual es el problema, me pueden dar una manito...????

Gracias

Cita:
CREATE TABLE Usuario
(
Id_user VARCHAR(50) NOT NULL,
Nombre_user VARCHAR(30),
Apellido_user VARCHAR(30),
Direccion_user VARCHAR(70),
Fono_user VARCHAR(15),
Id_pais INT NOT NULL,
Id_ciudad INT NOT NULL,
Correo_user VARCHAR(30),
PRIMARY KEY(Id_user),
INDEX (Id_pais,Id_ciudad),
FOREIGN KEY (Id_pais) REFERENCES Pais(Id_pais),
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad),
)TYPE=INNODB
El error que me tira es el siguiente

Cita:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ')TYPE=INNODB' at line 15
Gracias de nuevo
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #9 (permalink)  
Antiguo 22/08/2007, 15:20
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Relaciones en phpMyAdmin

Hola
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad),
borra esa coma al final de la ultima linea

quedaría así
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad)


Saludos!
  #10 (permalink)  
Antiguo 22/08/2007, 15:34
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Cita:
Iniciado por Genetix Ver Mensaje
Hola
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad),
borra esa coma al final de la ultima linea

quedaría así
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad)


Saludos!
Estimado, gracias por vuestra ayuda, le saqué la coma y al parecer la cosa funca, pero ahora me tira el siguiente error

Cita:
#1005 - Can't create table './qujadmin_QujDB/Usuario.frm' (errno: 150)
investigué sobre ese error y me dice lo siguiente

Cita:
1005 (ER_CANT_CREATE_TABLE)

Cannot create table. If the error message refers to errno 150, table creation failed because a foreign key constraint was not correctly formed
puedo captar que me indica que estoy creando mal la clave foranea, pero no puedo ver el problema
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #11 (permalink)  
Antiguo 22/08/2007, 15:39
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Relaciones en phpMyAdmin

Por el error al parecer no esta correctamente referenciando a las tablas
verificas que las tablas y columnas que esten en FOREIGN KEY existan y que esten correctamente escritos

Saludos!
  #12 (permalink)  
Antiguo 23/08/2007, 12:49
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Cita:
Iniciado por Genetix Ver Mensaje
Por el error al parecer no esta correctamente referenciando a las tablas
verificas que las tablas y columnas que esten en FOREIGN KEY existan y que esten correctamente escritos

Saludos!
al crear las tablas a las que hago referencia en las foreign key, lo hice asi...

y la verdad no logro ver el problema

Cita:
CREATE TABLE Pais
(
Id_pais INT NOT NULL AUTO_INCREMENT,
Nombre_pais VARCHAR(30),
PRIMARY KEY (Id_pais),
) TYPE = INNODB;

CREATE TABLE Ciudad
(
Id_ciudad INT NOT NULL AUTO_INCREMENT,
Id_pais INT NOT NULL,
Nombre_ciudad VARCHAR(30),
PRIMARY KEY(Id_ciudad),
INDEX (Id_pais),
FOREIGN KEY (Id_pais) REFERENCES Pais(Id_pais),
) TYPE = INNODB;
pero al tratar de crear la tabla usuarios de esta forma

Cita:
CREATE TABLE Usuario
(
Id_user VARCHAR(50) NOT NULL,
Nombre_user VARCHAR(30),
Apellido_user VARCHAR(30),
Direccion_user VARCHAR(70),
Fono_user VARCHAR(15),
Id_pais INT,
Id_ciudad INT,
Correo_user VARCHAR(30),
PRIMARY KEY(Id_user),
INDEX (Id_pais,Id_ciudad),
FOREIGN KEY (Id_pais) REFERENCES Pais(Id_pais),
FOREIGN KEY (Id_ciudad) REFERENCES Ciudad(Id_ciudad)
) TYPE = INNODB;
me tira este error

Cita:
#1005 - Can't create table './qujadmin_QujDB/Usuario.frm' (errno: 150)
Pucha, les agradecería si me pueden ayudar....

Gracias de ante mano...
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #13 (permalink)  
Antiguo 23/08/2007, 13:34
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Algo curioso, en el server (Un webhosting) tienen la versión 4.0.25-standard de MySQL, y no me funca, por que se me cae debido a lo que escribí mas arriba.

Pero lo ejecuto en forma local (en mi PC) y funciona a la perfección, claro que aca en mi pc tengo la versión 5.0.27

hay alguién que me pueda dar una manito...?

__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #14 (permalink)  
Antiguo 23/08/2007, 13:45
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Relaciones en phpMyAdmin

Verifica que tu base de datos en tu hosting soporte las tablas de typo innoDB
  #15 (permalink)  
Antiguo 23/08/2007, 13:46
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Si las soporta por que ya cree un par de ellas con ese tipo...
__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
  #16 (permalink)  
Antiguo 28/08/2007, 13:54
Avatar de jpzapatas  
Fecha de Ingreso: octubre-2006
Ubicación: Chile
Mensajes: 87
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Relaciones en phpMyAdmin

Por Fin lo he logrado, despues de bajar y ojear un hermoso manual de aproximadamente 1.800 hojitas, he dado con la solución a mi problema

Por ejemplo para crear mi tabla empresas quedaría mas o menos asi:

Cita:
CREATE TABLE Empresa(
Id_empresa INT NOT NULL AUTO_INCREMENT ,
Nombre_empresa VARCHAR( 30 ) ,
Id_categoria INT NOT NULL ,
Id_subcat INT NOT NULL ,
Id_pais INT NOT NULL ,
Id_ciudad INT NOT NULL ,
PRIMARY KEY ( Id_empresa ) ,
INDEX ( Id_categoria ) ,
FOREIGN KEY ( Id_categoria ) REFERENCES Categoria( Id_categoria ) ,
INDEX ( Id_subcat ) ,
FOREIGN KEY ( Id_subcat ) REFERENCES SubCategoria( Id_subcat ) ,
INDEX ( Id_pais ) ,
FOREIGN KEY ( Id_pais ) REFERENCES Pais( Id_pais ) ,
INDEX ( Id_ciudad ) ,
FOREIGN KEY ( Id_ciudad ) REFERENCES Ciudad( Id_ciudad )
) TYPE = INNODB
El problema era que yo indexaba todas las claves de una, y luego aplicaba los foreing key de todas juntas.

Era solo un problema de orden de las instrucciones, bueno por fin lo he logrado gracias a todos ustedes.

BrujoNic, muy sabias palabras esa de partir buscando el manual, de verdad no lo quería hacer de puro flojo y lo admito, pero creo que reconocerlo es un gran paso para algún día llegar a ser como ustedes...

De nuevo se los agradezco montones...

Saludos a Todos





__________________
El ignorante afirma, el sabio duda y reflexiona.
Aristóteles
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:57.