
las tablas categorias, subcategorias y ciudades tendrian sus datos sin que se puedan modificar y el usuario seria el que puede insertar las imagenes y clasificarlas segun las otras tablas.
saludos
| |||
este diseño es correcto Seria una tabla con noticias donde estas noticias se clasifican segun su ciudad, categoria y subcategoria. muestro imagen. ![]() las tablas categorias, subcategorias y ciudades tendrian sus datos sin que se puedan modificar y el usuario seria el que puede insertar las imagenes y clasificarlas segun las otras tablas. saludos |
| |||
Respuesta: este diseño es correcto nup_ no entiendo muy bien a que te refieres no lo acabo de entender lo que si te puedo decir es que la tabla categoria esta relacionada a la subcategoria es decir que las tengo separadas porque las categorias estan fijas y cada categoria tiene relacionada varias subcategorias osea seria un cardinalidad de 1:n entre categoria y subcategoria. Segun entiendo tu idea no la puedo hacer o lo entendi mal. saludos |
| ||||
Respuesta: este diseño es correcto Lo entendiste mal. Normalmente una subcategoría es una categoría dependiente de otra. Por ende, tiene el mismo tipo de atributo, y en ese caso se puede usar una sola tabla con una columna nulable. ¿Cual es la categoría padre o inicial? Fácil y obvio: la que tiene la FK en NULL. Porque no depende de ninguna otra. Es un caso de manual. Encontrarás montones iguales en diversos tutoriales. Usalos. No inventes la rueda de nuevo.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: este diseño es correcto Hola gnzsoloyo no queria reinventar la rueda ni mucho menos por eso posteo mis dudas mientras no las tenga claras, pero perdona y no te enfades porque sigo sin tenerlo claro y quizas no me estoy explicando bien, intento hacerlo otra vez, las categorias y subcategorias las tengo que tener en una tabla almacenadas ya que el usuario debe selecionar una categoria y dependiendo de esta selecionar una subcategoria pero yo le doy las opciones, estas opciones se las doy en la interface web a traves de un menu de selecion es decir con dos menus de selecion dependientes. Despues de explicar un poco lo que necesito comentar que la estructura de nup_ es correcta pero no es lo que necesito me explico, si yo tengo almacenadas las categoria y subcategorias en la misma tabla seria algo asin:
Código categoria:
Ver original evidentemente esta seria la tablas con las opciones pero el poblema lo tengo que si quiero mostrar en el menu de selecin las categoria para que el usuario elija una y dependiendo de la que elija mostrarles las subcategorias ya esta forma no seria valida es decir no le voy a mostrar esto en el menu de selecion: politica politica deporte deporte sociedad.... por eso yo lo hice por separado algo asin:
Código categoria:
Ver original
Código subcategoria:
Ver original de esta forma almenos pienso y ya me haceis dudar, seria la manera de hacerlo para poder mostrarle en el menu de selecion al usuario las categorias que hay y segun elija mostrarles las opciones que tiene osea las subcategorias. Si esto es asin vuelvo al principio esta bien la estructura que postee al principio sabiendo ahora lo que quiero? Aunque ahora que lo analizo otra vez supongo que seria que las noticias tienen una subnoticia y esta pertenece a una categoria, en la tabla noticia solo guardaria la subcategoria el id. si resulta que me vuelvo a equivocar porfavor expliquen haber si lo entiendo y perdonar las molestias. saludos. Última edición por primary; 30/01/2014 a las 05:17 |
| ||||
Respuesta: este diseño es correcto ![]() Hasta lo que yo veo de lo que planteas, sigue pudiendose resolver con una sola tabla, porque las categorías tendrían la fk en null, y las subcategorías no, lo su permite hacer los filtros del where necesarios. Veremos si alguno mas puede desarrollar la idea, antes de que regrese del viaje en que estoy
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: este diseño es correcto Hola me alegro que no te enfades, lo de poner un campo null para mostrar solo los campos que no esten vacias seria una solucion si es verdad pero el ejemplo que puse arriba solo es un ejemplo en realidad hay 5 categorias y cada categoria tiene 4 o 5 subcategoria me refiero a que tendriamos demasiados campos nulos por eso insisto tanto en lo de crear otra tabla, bueno demasiado hiciste ya si incluso estas en un movil cuando puedas o alguien me lo pueda remplantear la idea de como se hace estare agradecido porque ya estoy saturado. saludos. |
| |||
Respuesta: este diseño es correcto primary, la estructura en una tabla sería algo parecido a esto: PKcat, nombreCat, padreCat, orden imaginemos esto; categoria1, con varias subcategorías, subcategoria1, subacategoria2, y luego la subcategoria1 tendría otra subsubcategoria1. Y también una categoria2 sin subcategorías PKcat, nombreCat, padreCat, orden 1, categoria1, NULL, 1 2, subcategoria1, 1, 1 3, subcategoria2, 1, 2 4, subsubcategoria1, 2, 1 5, categoria2, NULL, 2 Como ves una tabla te permite guardar todo, pero para luego sacarlo necesitarás consultas usando autojoin. Son consultas de tipo jerárquico de MySQL. Sobre consultas jerárquicas en MySQL puedes ver aquí: http://mikehillyer.com/articles/mana...data-in-mysql/ por lo demás, el trabajo de manera recursiva con el lenguaje de programación podría también ayudarte. Pero si todas las categorías tienen subcategorías y todas las subcategorías tienen subsubcategorías en una estructura siempre igual, podrías usar tres tablas relacionadas, una para categorías, otra para subcategorías y otra para subsubcategorias. Pero no sé si será tu caso. Eso facilitaría las consultas, claro. |
| |||
Respuesta: este diseño es correcto Hola jurema gracias por ayudarme, se trata de una categoria solo con subcategoria nada mas, la estructura posteada por nup_ esta valida pero sigo sin entender como hacerlo si quiero mostrar las opciones de categoria y subcategoria con un menu de selecion desde la web y que no se repitan las categorias en este caso, gnzsoloyo comento dejar las fk en null pero sinceramente no lo veo claro. saludos. |
| |||
Respuesta: este diseño es correcto Primary, no entendiste bien lo que te decía gnzsoloyo. Él hablaba de esos null de las categorías en el campo padre, mientras que las subcategorías tendrían ahí el número de la categoría padre. Respecto a eso otro que pides, yo te recomendaría que pidieras ayuda en el foro php e incluso ayax o javascript para hacer selectores dependientes. En la red encontrarás el código de algunos, pero debes adaptar el que más te interese. Seguro que en el foro PHP te orientan mejor, pero antes debes decidirte por una estructura más relacional o jerárquica. Si hay alguna categoría que no tiene subcategoría, ya tendrás que decantarte por la jerárquica y hacer consulta dependiendo de la selección en categoría. Aquí no podemos ayudarte sobre eso, salvo con procesos almacenados. Mira a ver qué te interesa más, si resolver esa salida con programación de tu programa o con procesos almacenados de MysQL. Pero piensa que el tema de selectores dependientes es algo muy trillado y para lo que encontrarás cosas en la red para echar un vistazo y luego decidirte. |
| |||
Respuesta: este diseño es correcto Hola jurema, bueno te comento que mi problema no tiene nada que ver con pogramacion simplemente quiero entender bien la estructura que estoy montando sin tener dudas, respecto a los campos nulos que comento gnzsoloyo si que lo entendi pero mi duda es que como tendria muchos subcategorias no solo dos como en el ejemplo en este caso tendria entres 4 o 6 queria saber si es buena idea dejar tantos campos nulos o en el caso de repetidos entonces si solucionarlo con que con programacion solucioanarlo. |
| ||||
Respuesta: este diseño es correcto Cita: Sigue pareciendo que hay un error de comprensión: Las subcategorías, por definición, no poseerían nulos en la solución propuesta, porque todas forzosamente dependerían de una categoría padre.
Iniciado por primary ![]() Hola jurema, bueno te comento que mi problema no tiene nada que ver con pogramacion simplemente quiero entender bien la estructura que estoy montando sin tener dudas, respecto a los campos nulos que comento gnzsoloyo si que lo entendi pero mi duda es que como tendria muchos subcategorias no solo dos como en el ejemplo en este caso tendria entres 4 o 6 queria saber si es buena idea dejar tantos campos nulos o en el caso de repetidos entonces si solucionarlo con que con programacion solucioanarlo. Sólo las categorías padre, es decir las superiores podrían tener un NULLL en la FK. nada más. Y como son categorías padre, son forzosamente pocas también, por lo que el problema simplemente, no existe. ¿Queda claro el tema? Creo que te estás complicando anticipadamente sin necesidad. Probemos si se visualiza mejor mi planteo de esta forma:
Código SQL:
Ver original O bien, simplificando la query y sólo recuperando lo necesario sería:
Código SQL:
Si hay más niveles de subcategorías dependientes de subcategorías, se requieren otros LOEFT JOINs adicionales, pero la idea base sería esa.Ver original El resto es mostrar por programación.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) Última edición por gnzsoloyo; 03/02/2014 a las 07:17 |
| |||
Respuesta: este diseño es correcto Opción 1 (si solo tienes categorías con subcategorías, y no hay más niveles, es decir, subsubcategorías, y además sabes que todas las categorías tienen al menos una subcategoría: tabla categorias idcategoria|categoria 1|categoria1 2|categoria4 tabla subcategorias idsubcategoria|subcategoria|idcategoria 1|categoria2|1 2|categoria3|1 3|categoria5|2 Opción 2 (la jerárquica: más versátil, con más posibilidades pero con consultas de tipo jerárquico) idcategoria|categoria|cat_padre (=idcategoria del padre y null si es categoria) 1|categoria1|null 2|categoria2|1 3|categoria3|1 4|categoria4|null 5|categoria5|4 Como ves, solo las categorías de primer nivel tienen null en cat_padre. Esto te permitiría varios niveles, es decir una categoría (6|categoria6|5) que es una categoría dependiente de la categoria5, que a su vez depende de la categoria4. |
| |||
Respuesta: este diseño es correcto Hola perdonar que vuelva pero estoy intentando crear una consulta con esta estructura pero no se ni como remplantearmela seria selecion la categoria padre de la tabla categoria que existan al menos una vez en la tabla noticia y sean de una ciudad en concreto, si utilizo la relacion de tablas si que consigo la consulta deseada, pero con join no se aplicarla sin join seria asin:
Código MySQL:
Ver original Pero igual quedria saber la descripcion de la categoria_padre Saludos Última edición por primary; 20/02/2014 a las 15:30 |
| |||
Respuesta: este diseño es correcto Al final lo conseguir con join pero no se si esta es la mejor manera muestro la consulta por si alguien me corrije:
Código MySQL:
Ver original |
| |||
Respuesta: este diseño es correcto Necesito ayuda porque con esta estructura no logro crear consultas dependiendo de la descripcion padre e hija, por ejemplo como selecionar las noticias de una ciudad con un categoria padre por ejemplo politica, o incluso con una categoria padre y su categoria hija. alguna ayuda? saludos |
| |||
Respuesta: este diseño es correcto Lo maximo que he conseguido es esta consulta:
Código MySQL:
Ver original esta consulta me valdria pero el problema que tengo es que yo en la parte del AND no quiero pasarle un numero quedria pasarle la descripcion de la categoria padre como condicion pero no encuentro la manera de realizarlo. |
| |||
Respuesta: este diseño es correcto primary, ¿por qué dices que no quieres pasarle un número? En tu caso es siempre lo mejor, pasar PK correspondiente, que está indexada y es más rápida. Eso por lo que se refiere a la base de datos. Cosa distinta es en el front. Tienes que preparar un selector en el que seleccionas la categoría, su texto, pero carga como valor el número (el PK) de esa categoría o subcategoría. Quizás en el foro PHP recibirías mejor ayuda sobre ese punto. Ten en cuenta que una cosa es la consulta directa a la base y otra la consulta dinámica por medio de programación. |
Etiquetas: |