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

Relacionar tablas

Estas en el tema de Relacionar tablas en el foro de Bases de Datos General en Foros del Web. hola amigos yo tengo una duda y espero me la puedan solucionar. Estoy trabajando con php y mysql y no se de que manera puedo ...
  #1 (permalink)  
Antiguo 14/07/2004, 10:51
Avatar de diegodnt  
Fecha de Ingreso: mayo-2004
Ubicación: Buenos aires
Mensajes: 227
Antigüedad: 20 años
Puntos: 0
Pregunta Relacionar tablas

hola amigos yo tengo una duda y espero me la puedan solucionar. Estoy trabajando con php y mysql y no se de que manera puedo relacionar dos tablas. Un ejemplo yo tengo una de cargar "libros(cod_l,nombre)" y tengo otra de de "autores(cod_a,nombre)" y otra que es la mezcla de las dos primeras "autlib(cod_l,cod_a)". lo que quiero hacer es que cuando carge la tercera para hacer la relacion no me deje ingresar datos que no tengo previamente cargados en las otras tablas. Espero que me entiendan y me puedan ayudar desde ya muchas gracias.
@@@DiegoDNT@@@
__________________
. Woo hoo When I feel heavy metal
  #2 (permalink)  
Antiguo 15/07/2004, 15:41
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años
Puntos: 0
Checale puede ser

por favor checale ya que no tengo de momento para probarlo en mysql espero no haber tenido un error de dedo checale y si no funciona lo escribo con mas calma ya me tengo que ir suerte

CREATE TABLE libros(cod_l INT NOT NULL, nombre CHAR(25), INDEX (cod_l), PRIMARY KEY (cod_l))TYPE=INNODB;

CREATE TABLE autores(cod_a INT NOT NULL, nombre CHAR(25), INDEX (cod_l), PRIMARY KEY (cod_l))TYPE=INNODB;

CREATE TABLE autlib(cod_l INT NOT NULL, cod_a INT NOT NULL, PRIMARY KEY (cod_l), INDEX (cod_l), INDEX (cod_a), FOREIGN KEY (cod_l) REFERENCES libros(cod_l), FOREIGN KEY (cod_a) REFERENCES autores(cod_a))TYPE=INNODB;
__________________
The God Father
__________________________________________
No hay un error tan grande como el de no seguir adelante (:pensando:) William Blake
  #3 (permalink)  
Antiguo 16/07/2004, 00:11
 
Fecha de Ingreso: febrero-2004
Ubicación: España. Madrid
Mensajes: 454
Antigüedad: 20 años, 2 meses
Puntos: 0
volvemos a lo de siempre, yo tengo una versión que soporta INNODB, pero soy incapaz de activarlo, si descomento unas lineas que vienen comentadas, con lo de INNODB, al arrancar mysql, me da un error y no me crea el my.socket
con lo cual nada funciona
que hago mal?
  #4 (permalink)  
Antiguo 16/07/2004, 08:08
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 20 años
Puntos: 0
checale

esto es lo que encontre en la pagina oficial mysql


************************************************** ******
16.3 InnoDB in MySQL 3.23
Beginning with MySQL 4.0, InnoDB is enabled by default, so the following information applies only to MySQL 3.23.

InnoDB tables are included in the MySQL source distribution starting from 3.23.34a and are activated in the MySQL-Max binaries of the 3.23 series. For Windows, the MySQL-Max binaries are included in the standard distribution.

If you have downloaded a binary version of MySQL that includes support for InnoDB, simply follow the instructions of the MySQL manual for installing a binary version of MySQL. If you already have MySQL 3.23 installed, the simplest way to install MySQL-Max is to replace the executable mysqld server with the corresponding executable from the MySQL-Max distribution. MySQL and MySQL-Max differ only in the server executable. See section 2.2.5 Installing MySQL on Other Unix-Like Systems and section 5.1.2 The mysqld-max Extended MySQL Server.

To compile the MySQL source code with InnoDB support, download MySQL 3.23.34a or newer from http://www.mysql.com/ and configure MySQL with the --with-innodb option. See section 2.3 MySQL Installation Using a Source Distribution.

To use InnoDB tables with MySQL 3.23, you must specify configuration parameters in the [mysqld] section of the `my.cnf' option file. On Windows, you can use `my.ini' instead. If you do not configure InnoDB in the option file, InnoDB will not start. (From MySQL 4.0 on, InnoDB uses default parameters if you do not specify any. However, to get best performance, it is still recommended that you use parameters appropriate for your system, as discussed in section 16.4 InnoDB Configuration.)

In MySQL 3.23, you must specify at the minimum an innodb_data_file_path value to configure the InnoDB data files. For example, to configure InnoDB to use a single 10MB auto-extending data file, place the following setting in the [mysqld] section of your option file:

[mysqld]
innodb_data_file_path=ibdata1:10M:autoextend

InnoDB will create the `ibdata1' file in the MySQL data directory by default. To specify the location explicitly, specify an innodb_data_home_dir setting. See section 16.4 InnoDB Configuration.

************************************************** ******



tambien comenta una pagina referente a este link lo siguiente



************************************************** ****++
En la práctica me topé con dos problemas:


Activar InnoDB: Por default, aunque MySQL soporte InnoDB no está activado, esto es porque puede hacer un poco lento el inicio del servidor, además de consumir más recursos que los normales, para activar InnoDB hay que modificar el archivo de configuración de MySQL (en mi caso /etc/mysql/my.cfg) y asegurarse que NO tenga la opción skip-innodb activada, al comentarla pude utilizar InnoDB sin problemas. Para poner una tabla en este formato sólo es necesario ponerle el tipo en InnoDB, no en MyISAM ni ISAM.
La siguiente sentencia me bastó: ALTER TABLE nombre_tabla TYPE=InnoDB;
Poner el servidor de MySQL sobre TCP: En el archivo de configuración asegurarse que NO tenga la opción skip-networking activada, al comentarla abrí el server como quería. (Esto puede ser un problema de seguridad para algunos administradores)

************************************************** *****

La verdad yo trabajo con GNU/Linux y actualizo la version de MySql a la mas nueva 5.sabeque alpha

por lo cual no he tenido este problema, Suerte!!!!!
__________________
The God Father
__________________________________________
No hay un error tan grande como el de no seguir adelante (:pensando:) William Blake
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




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