Ahora Ayuda con MySQL
#1
Escrito 19 noviembre 2009 - 09:47
Y ahora vengo con dudas acerca de MySQL como tal, como ya les dije en el post anterior, recien comienzo con MySQL y tengo mis dudas. Instale la version 5 (5.1.3.0 Server y 5.0.11 Cliente)
Como son tantas, me disculpan por poner varias en el mismo post, pero son dudas que no les he encontrado respuestas leyendo el Manual de Usuario
- Como es que se hace para ubicar las tablas que creo, en la ubicacion del HDD que yo quiera, pues predeterminadamente las guarda en C:\Archivos de Programas\.....
- Que tipo de Table Engine me recomiendan usar
- Como es que se enlazan y configuran las llaves entre dos tablas relacionadas, trate de hacerlo pero me da el error
MySQL Error number 1005
Que no puede crear la tabla (errno 150)
#2
Escrito 19 noviembre 2009 - 09:55
Saludos.
#3
Escrito 19 noviembre 2009 - 10:10
- Como es que se hace para ubicar las tablas que creo, en la ubicacion del HDD que yo quiera, pues predeterminadamente las guarda en C:\Archivos de Programas\.....
Durante la instalación puedes definir donde quieres que se almacenen los directorios de datos.
- Que tipo de Table Engine me recomiendan usar
Si deseas usar llaves foráneas, transaccionalida, procedimientos almacenados y demás linduras el engine que debes usar es InnoDb
- Como es que se enlazan y configuran las llaves entre dos tablas relacionadas, trate de hacerlo pero me da el error
Para eso debes asegurarte que ambos campos a enlazar como llaves deben tener la misma definición, tanto en tipo de dato como tamaño (lo ideal es que nombre también pero esto es más de buenas prácticas de diseño que restricción del motor). Si estás usando el mysql administrator, allí en la pestaña de indices puedes crear tanto llaves foraneas como índices de la tabla.
Saludos,
#4
Escrito 19 noviembre 2009 - 10:27
Y no estoy trabajando por via comando
#5
Escrito 19 noviembre 2009 - 10:37
#6
Escrito 19 noviembre 2009 - 12:38
Amigo Joanca, tienes que entender que Mysql no trabaja como trabaja las BD de escritorio basado en direcciones o rutas de archivos, sino via TCP/IP,asi que no interesa saber donde esta guardados los archivos de las tablas, eso dejaselo a Mysql, él ya sabe como manejarlo....
- Como es que se hace para ubicar las tablas que creo, en la ubicacion del HDD que yo quiera, pues predeterminadamente las guarda en C:\Archivos de Programas\.....
...
De todas manera para saber donde MySQL guarda las tablas podrias ejecutar esta consulta SQL
SELECT @@Datadir;
Como te dice Poliburro el Motor(Engine) que elijas depende de tus necesidades,si vas a tener referencias foraneas,pues el motor InnoDB es para eso, sino pues tranquilamente puedes trabajar con el motor MyISAM.- Que tipo de Table Engine me recomiendan usar
En el siguiente enlase pues hay un ejemplo. http://www.conclase....7a#007_foraneas- Como es que se enlazan y configuran las llaves entre dos tablas relacionadas, trate de hacerlo pero me da el error
Mejor si le tiras una leida.
Saludos...
#7
Escrito 19 noviembre 2009 - 02:09
Pues si, ya estoy entendiendo la filosofia del MySQL, no es tan dificil como pensé, ya estuve documentandome mejor, y probando y viendo todas las opciones y ya lo estoy aprendiendo
Lo de la ubicacion de las BD lo preguntaba por si tengo que reinstalar el SO, no perderlas al estar estas en C:\
El error de las llaves me lo daba porque los declare tipo TEXT (que es Memo), y en realidad debio ser VARCHAR(n), es cuestion de aprenderme los tipos de datos, que no lo sabia
Pero ya vi que tambien puedo programar salvas para otra ubicación
#8
Escrito 20 noviembre 2009 - 08:24
Otra vez es con las llaves:
Tengo una tabla A (lado uno) y otras 3 tablas (B, C y D) que se enlazan con A (lado muchos)
Cuando le pongo la llave extranjera a solamente una, de las cualquiera B, C y D, no hay problemas, pero cuando se la voy a poner a una segunda tabla, me da error de que no puede crear la tabla
Es decir:
1 En la tabla B le pongo la llave de A. Ok
2 En la tabla C le pongo la llave de A. Error
o tambien,
1 En la tabla C le pongo la llave de A. Ok
2 En la tabla B le pongo la llave de A. Error
Es como si A solo la pudiera enlazar con una sola tabla, esto es así en MySQL, o es que me falta algo