Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-10-2011
Avatar de b3nshi
b3nshi b3nshi is offline
Miembro
 
Registrado: feb 2005
Ubicación: Tucuman - Argentina
Posts: 164
Poder: 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
  #2  
Antiguo 03-10-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Personalmente yo no mezclaría tablas.
Ya no sólo porque se aleje de la "Normalización de Bases de Datos", sino porque estas cosas a la larga afectan al rendimiento, a las consultas, a los filtros,... ¡Vamos! que lo que al principio parece que lo simplifica todo, al final acaba complicándolo.

El "mezclar" datos en la tabla, te va a provocar en general que tengas que añadir más código en todos sitios, para hacer esas distinciones, eso te genera más propensión a errores.

Mi opinión (desde fuera, sin conocer más datos) es no hacerlo, pero tampoco conozco 100% el tema...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consejo para acualización versión dfarias Varios 3 29-09-2008 14:58:04
consejo para manipular pdf's MOCOSO07 Varios 3 31-07-2008 21:30:06
Requiero un consejo para una aplicacion JULIPO Varios 3 07-09-2007 21:42:07
Consejo para impresion lbidi Impresión 2 02-08-2006 03:58:22
Consejo para Acelerar Procesos manuelpr Varios 2 08-03-2005 09:02:22


La franja horaria es GMT +2. Ahora son las 13:42:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi