Ver Mensaje Individual
  #1  
Antiguo 01-10-2011
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Reputación: 20
b3nshi Va por buen camino
Consejo para el modelado de una BD

Buenas noches,

Estaba haciendo el modelo relacion de una BD y llego a una parte donde tengo una duda de cual es la mejor manera de hacerlo...

Veamos de que estoy hablando...

Tengo 3 tablas: USUARIOS, POSTS, EMPRESAS, LUGARES

Estas cuatro tablas tienen atributos diferentes, pero todas tienen en comun que pueden pertenecer a una o varias categorias. Por lo que tengo una tabla que se llama CATEGORIAS.

Mi pregunta es, dado que entre cada una de las tablas voy a tener una cardinalidad N-N, voy a tener q hacer una tabla nueva para crear la relacion entre cada tabla quedandome asi el modelo:

***************************--------------RELACIONUSUARIOSCATEGORIAS------------USUARIOS
**************************|
***************************--------------RELACIONPOSTSCATEGORIAS---------------POSTS
CATEGORIAS<-----|
***************************--------------RELACIONEMPRESASCATEGORIAS------------EMPRESAS
**************************|
***************************--------------RELACIONLUGARESCATEGORIAS-------------LUGARES

No se si se entiende mas o menos el modelo como lo planteo... ahora lo que queria saber es si a las 4 tablas RELACIONxxxxxCATEGORIAS, puedo simplificarlas en una sola... y en lugar de colocar en cada una un atributo que se llame: idusuario o idposts, o idempresas, o idlugares, colocar un atributo q se llame id q sea de un tipo varchar (por ejemplo) y colocar una combinacion q sea: nombredetabla+id en el contenido...

De esa manera simplifico el modelo a una sola tabla, y queda mas prolijo.

Lo que no se es si esto violaria algun principio en el modelado de BD, o si existe alguna mejor manera de hacerlo. Si no les queda claro puedo subir un modelo de workbench exportado a un PNG para explicar mejor a lo que me refiero.

Desde ya muchas gracias a todos por su ayuda!

{Saludos}
Responder Con Cita