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

tablas categorias , subcategorias

Estas en el tema de tablas categorias , subcategorias en el foro de Bases de Datos General en Foros del Web. Hola, alquien me da una buena forma de crear categorias - subcategorias? Saludos...
  #1 (permalink)  
Antiguo 28/12/2004, 10:23
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
tablas categorias , subcategorias

Hola, alquien me da una buena forma de crear categorias - subcategorias?

Saludos
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 28/12/2004, 16:15
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 19 años, 4 meses
Puntos: 2
Yo estoy diseñando ahora una base de datos con ambas entidades. Cree una tabla categorias ( con cada una de las categorias que utilizo clasificadas por una primary key->id_categorias) y luego clasifico las subcategorias en varios temas (p.ej subcategorias de tipo evento y subcat de tipo locales) y las relaciono con la tabla categoria (utilizando la clave foranea cf_id_categoria ). Asi puedo relacionar las subcats eventos con su correspondiente cat. y lo mismo para subcats locales. Creo que la clave esta en clasificar las subcategorias asi no se vuelve tan caotico el diseño de la bbdd.Te ha servido

abe_k
  #3 (permalink)  
Antiguo 28/12/2004, 20:23
Avatar de axel_mdq  
Fecha de Ingreso: mayo-2004
Ubicación: Mar del Plata
Mensajes: 157
Antigüedad: 20 años
Puntos: 0
Cita:
Iniciado por abe_k
Yo estoy diseñando ahora una base de datos con ambas entidades. Cree una tabla categorias ( con cada una de las categorias que utilizo clasificadas por una primary key->id_categorias) y luego clasifico las subcategorias en varios temas (p.ej subcategorias de tipo evento y subcat de tipo locales) y las relaciono con la tabla categoria (utilizando la clave foranea cf_id_categoria ). Asi puedo relacionar las subcats eventos con su correspondiente cat. y lo mismo para subcats locales. Creo que la clave esta en clasificar las subcategorias asi no se vuelve tan caotico el diseño de la bbdd.Te ha servido

abe_k
Esa es una forma. Si lo vas a hacer así, te convendría llamar a la tabla categoria como SubcategoriasxCategoria.
Si una subcategoria va a tener una sola categoria, la otra forma de hacerlo es tener la tabla de categorias y la tabla de subcategorias con la idCategoria como FK.
Espero haber sido claro.
__________________
Saludos,

Alejandro. :adios:
  #4 (permalink)  
Antiguo 29/12/2004, 03:52
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Lo primero que tienes que hacer es valorar si necesitas dos tablas: una para categorías y otra para subcategorías o te llega con tener una única tabla donde metas ambas cosas e indique el tipo de elemento. Por ejemplo: una estructura de menús que es totalmente jerárquica lo podrías hacer con una únca tabla, donde el menú principal no tiene opción de menú padre y a las opciones secundarias, les pones el código de menú del que cuelgan.
Si lo que vas a tener es una relación de muchos a muchos, ya vas a necesitar una tabla a mayores para establecer las relaciones entre categorías y subcategorías. Esto es independiente de que tengas una o dos tablas para las categorías y subcategorías, pues una entidad se puede relacionar consigo misma en una relación N-N. Piensa en una escuela: un maestro tiene varios alumnos y los alumnos tienen varios maestros. Si tienes una tabla con personas donde un campo te indica si es maestro o alumnos, pues te vale como ejemplo.

Espero que esto te ayude.
Un saludo.
__________________
Estoy contagiado de Generación-I
  #5 (permalink)  
Antiguo 29/12/2004, 07:55
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
Pues mi caso es de mucho a mucho, ahora bien, en cuanto a crear las CF como se crean con una interface como phpmyadmin o mysql cc?
__________________
www.dataautos.com
  #6 (permalink)  
Antiguo 29/12/2004, 14:51
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 19 años, 4 meses
Puntos: 2
FK en mysql

(Referencia de cluster en otra pregunta de foro)

Depende de la versión de Mysql que uses .. puedes usar tablas InnoDB que si que soportan claves foráneas y respetan la "integridad" referencial .. (Mysql 4.0.x en adelante y versiones inferiores sólo previa instalación soporte InnoDB).

Espero, te ayude

abe_k
  #7 (permalink)  
Antiguo 30/12/2004, 10:59
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
sip, bien, pero no he visto via phpmyadmin la forma de hacer CF
__________________
www.dataautos.com
  #8 (permalink)  
Antiguo 30/12/2004, 15:00
Avatar de abe_k  
Fecha de Ingreso: diciembre-2004
Mensajes: 286
Antigüedad: 19 años, 4 meses
Puntos: 2
cf

Holas otra vez,

vamos a ver,

Yo no creo mi base de datos directamente desde el phpmyadmin.

Utilizo un programa llamado case studio2 . Con esto puedo hacer un diagrama entidad-relacion facilmente, y lo puedo hacer asignandole el tipo de base de datos a diseñar (hay mysql 4.0 y 4.1). Alli creo todo lo que necesita mi base de datos (incluido claves foraneas). Una vez hecho el diseño , permite exportarlo a .sql y luego tu puedes ejecutarlo en tu phpmyadmin. El programa esta en la version 2.18(es trial pero puedes piratearla con un patch de la 2.17 facilmente).

Si lo deseas, puedes bajartelo en :

http://www.casestudio.com/enu/default.aspx

tambien puedes bajarte la documentacion en .pdf.

No se, es lo que puedo ofrecerte en forma de ayuda

abe_k
  #9 (permalink)  
Antiguo 30/12/2004, 16:08
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
ok, gracias
__________________
www.dataautos.com
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 08:06.