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

REFERENCE en MySQL

Estas en el tema de REFERENCE en MySQL en el foro de Bases de Datos General en Foros del Web. Hola chicos, hasta ahora no he trabajado mas que con Informix y SQL puro, ahora estoy intentando crear una BD en MySQL y cuando pongo ...
  #1 (permalink)  
Antiguo 10/07/2003, 10:14
 
Fecha de Ingreso: junio-2003
Mensajes: 33
Antigüedad: 21 años, 5 meses
Puntos: 0
REFERENCE en MySQL

Hola chicos,


hasta ahora no he trabajado mas que con Informix y SQL puro,

ahora estoy intentando crear una BD en MySQL y cuando pongo el comando REFERENCE tras la claver primaria:

PRIMARY KEY (esta) REFERENCE tabla1(esta)

no me deja... porque?
segun la referencia de MySQL REFERENCE ya no se usa al igual que FOREIGN KEY ¿por que? ¿como referencio un campo de una tabla a otro de otra?
  #2 (permalink)  
Antiguo 10/07/2003, 13:25
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años, 7 meses
Puntos: 2
1.- Pues para empezar el campo que hace REFERENCIA a otro es una llave foranea y por lo pronto tu estas ahi queriendolo hacer en una llave primaria.

2.- Las tablas deben ser tipo InnoDB
  #3 (permalink)  
Antiguo 11/07/2003, 03:23
 
Fecha de Ingreso: junio-2003
Mensajes: 33
Antigüedad: 21 años, 5 meses
Puntos: 0
veamos, clave foranea entendido, ya esta puesta...

Lo que quiero hacer a grosso modo es una pagina multilingüe, para ello he creado unas plantillas en php con css y dentro de ellas querys a la bbdd mySQL.

La bbdd es una con tablas por distintas paginas, de modo que tengo "introduccion", "exteriores", "excursiones" ...etc como tablas.
Dentro de las tablas cada una tiene una clave primaria que es el lenguaje ("es", "en"....) y pense que lo ideal era para evitar la redundancia usar esas claves como referencia del campo "idioma" de la tabla "idiomas". Voy bien encaminado? como creo cada tabla "introduccion", etc?

CREATE TABLE introduccion (
idioma CHAR,
texto TEXT,
FOREIGN KEY idioma REFERENCES idiomas(idioma);
)


¿¿?? ha de ser foranea pero no primaria... asi valdria? eso me evita la redundancia? existe un mejor sistema?

Gracias de veras.
  #4 (permalink)  
Antiguo 12/07/2003, 03:18
 
Fecha de Ingreso: junio-2003
Mensajes: 33
Antigüedad: 21 años, 5 meses
Puntos: 0
alguien sabe?
  #5 (permalink)  
Antiguo 12/07/2003, 09:34
 
Fecha de Ingreso: abril-2003
Mensajes: 606
Antigüedad: 21 años, 7 meses
Puntos: 2
Pues la idea sería algo asi:

Idioma

idioma_id (Int, PK) | idioma_nombre (varchar)

Introduccion

introduccion_id(PK, Int) | idioma_id( Int, FK) | ...demás campos.

No entiendo bien la razón por la que tu creas tu campo idioma en introducción de tipo char. Generalmente para evitar la redundancia son los tipos INt, o al menos no se lo que tu quieras hacer.
  #6 (permalink)  
Antiguo 14/07/2003, 01:15
 
Fecha de Ingreso: junio-2003
Mensajes: 33
Antigüedad: 21 años, 5 meses
Puntos: 0
genial, oido al parche... voy a investigar que son PK y FK.... :( soy novatillo
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 14:15.