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

Relacion de Categorias

Estas en el tema de Relacion de Categorias en el foro de Bases de Datos General en Foros del Web. Buenas a todos! Soy nuevo en el tema de BBDD y veran estoy con phpmyadmin y estoy intentado relacionar dos tablas, una de categorias(idcategoria,titulo,cuerpo) y ...
  #1 (permalink)  
Antiguo 04/05/2009, 05:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Relacion de Categorias

Buenas a todos!

Soy nuevo en el tema de BBDD y veran estoy con phpmyadmin y estoy intentado relacionar dos tablas, una de categorias(idcategoria,titulo,cuerpo) y otra de palabras(idpalabras, español,ingles). He conseguido unirlas por los id, pero lo que quiero es que idcategoria con valor 1 columna titulo me guarde los idpalabras de la fila 5,9 y 10 por ejemplo de la columna español. Nose si me entiender, y si es asi se puede hacer?

Gracias de antemano
  #2 (permalink)  
Antiguo 04/05/2009, 05:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Relacion de Categorias

No sé qué base de datos empleas, pero imagino que MySQL. Tampoco nos dices si usas tablas MyISAM o InnoDB.
Tienes que crear una tercera tabla categoriapalabras con tres campos, id_categoriapalabras, refid_categoria, refid_palabra
Y guardas los datos así

id_categoriapalabras|refid_categoria|refid_palabra
1|1|5
2|1|9
3|1|10
En el primer campo guardas el id auto_increment de esa tabla; en el segundo el mismo número que es id de la tabla categoria, en este caso el 1; en el tercer campo los mismos números de los id_palabra de la tabla palabras.

Esa es la idea.
  #3 (permalink)  
Antiguo 05/05/2009, 05:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: Relacion de Categorias

Jurena, gracias por tu respuesta, estoy usando tablas MyISAM, gracias por la idea, he leido que se pueden usar con foreign key, para relacionar dos tablas, pero bueno como eso tampoco me sale hare tu opcion y me dejo de tanto coñazo porque me estoy perdiendo .

Gracias por la ayuda
  #4 (permalink)  
Antiguo 05/05/2009, 06:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Relacion de Categorias

gornovah,
tienes que entender bien lo de las relaciones y saber definir foreign key del modo apropiado. Eso lo haces en InnoDB de modo expreso, pero también en MyIsam tienes que saberlo, aunque en ese caso el motor no te ayudará nada y tendrás que controlarlo todo con las consultas y programación. Lo primero es que lo entiendas y si quieres alguna orientación escribe pidiendo ayuda para conformar una base con tablas InnoDB y esa estructura. Mi propuesta era pensando en tablas MyIsam e InnoDb; lo que no he hecho es añadir la sintaxis de creación de las tablas con un tipo concreto de motor; sólo he puesto la estructura para que te hagas a la idea de que la relación es N:N, es decir, varios a varios, porque una palabra puede pertenecer a varias categorias y una misma categoria incluye varias palabras... y eso exige una tabla intermedia. Esto es básico y debes echar un vistazo a las relaciones, normalización, para entender la naturaleza de las bases de datos, su diseño conceptual, lógico y físico, sobre el modelo conceptual entidad-relación, etc. Mira algún tutorial sobre bases. No te importe dedicar algo de tiempo: luego lo habrás ganado.
En cualquier caso, la propuesta final será parecida a la que te he hecho, aunque para el caso de tablas InnoDB, la sintaxis de creación es algo distinta, más compleja al principio, pero más práctica en muchos casos.
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 23:46.