[SOLUCIONADO][Modelo Entidad-Relación] Documentos, categorias y subcategorias

Iniciado por Kasi, 15 Junio 2010, 20:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Kasi

Buenas tardes, estoy diseñando el modelo E/R de una BD que tengo en mente, y me ha llegado a la cabeza la siguiente duda:

Supongamos que en mi aplicación se pueden dar de alta documentos, y dichos documentos deben pertenecer a una categoría.
A su vez, para clasificar mejor aun esos documentos, cada documento, puede pertenecer a una o varias subcategorías relacionadas con la categoria principal(La subcategoria puede estar en varias categorías también).

La duda es como crear la relación para este caso ya que no estoy seguro de que lo que tengo sea lo mejor para hacerlo:
¿Sería esta la manera correcta de plantear el problema?


Un saludo y gracias anticipadas.

16BITBoy

Pero, ¿lo has probado para ver si funciona? ¿puedes hacer esas consultas?

Si no he leido mal lo que tu quieres, pienso que si lo hubieses planteado primero con un diagrama entidad relación (el de chen, para que no haya confusiones, el que usaste creo se llama modelo relacional) te hubiese salido automáticamente la solución a ese problema, pues no lo veo muy complejo.

A bote pronto, creo y puede que me equivoque (trataré de hacerlo sin diagrama de cheng, a cabeza tambien xD):

- En categorías deberías de tener una clave hmmm....joer, yo siempre he dicho foránea pero no se si es correcto (de "foreign key") que guardaría una clave que seria de la principal de la misma tabla, osea una relación de la tabla a si misma con la clave principal, en plan "(PK)idCategoria INT, (FK)idPadre INT".

Y luego para la tabla de documentos, hacer una tabla de relaciones (de N a N), donde la llave tendría dos campos que serian idCategoria e idDocumento.

siento no poder hacer diagrama, no tengo herramientas para ello en este momento ;)

Espero que si no he dado con una solución, te haya orientado o dado alguna idea :)

Salu2!


Blog personal: http://www.16bitboy.com/blog

- Que horrible pesadilla, unos y ceros por todas partes... hasta me parecio ver un ¡dos!
- Bender, solo fue una pesadilla, no existe eso que llamas "dos".

Kasi

Buenas, creo que ya entendí tu idea 16BITBoy.

Estuve googleando un poco mas a fondo y creo que encontré la solución tal y como tu me explicaste:

Se trataría de una sola tabla donde figuran tanto las categorías como sus sub-categorías( hijas ).

ID------------Nombre-----------IDPadre

0           Categoria 1         0
1           Categoria 2         0
2           SubCategoria 1.1    1
3           SubCategoria 1.2    1
4           SubCategoria 2.1    2
.
.
.
N           SubCategoria N      N


Para seleccionar las categorias principales:
SELECT  ID,Nombre FROM tabla WHERE IDPadre = 0

Para las hijas y sucesivas que esten anidadas:
SELECT  ID,Nombre FROM tabla WHERE IDPadre = 'IDPadre'

Creo que se podría dar por cerrado el tema.

Muchas gracias y un saludo