Cita:
Empezado por rufo
No por que cada programa tiene su propia base de datos entonces lo que yo quiero hacer es unificar en una sola base de datos
|
Entonces hazlo.
Te estas preocupando en exceso por la "eficiencia". Hay un dicho que dice
Cita:
|
"La optimizaron prematura es la madre de todos los problemas",
|
en especial cuando la "optimizacion" se hace en la imaginacion y con temores a cuestas

.
Antes que nada, debes buscar un diseño simple. Si efectivamente tener 1 sola bd de datos es mejor que tener N, entonces arranca por ahi.
Si no abres todo de una y lo subes a memoria, no tienes porque preocuparte, asi como el hecho que tenga 10 TB de video no afecta para nada al reproductor multimedia si este lo unico que hace es cargar (progresivamente) uno a la vez.
No subestimes la eficiencia que esta incluida en los motores de datos, incluso en los mas "pequeños" o limitados como acces. Sin dificultad puede almacenar cientos de miles de registros.
Asi que en resumen, organiza primero el proyecto. Pon el codigo de forma simple. Haz la estructura de la base de datos que mas natural te parezca (aunque primero es bueno que chequees la teoria basica y las recomendaciones generales, en cuanto a manejo de indices, uso de IDs internos, relaciones y filtrado de datos).
Luego de que tengas algo simple de entender y mantener, llenas la BD con datos de prueba, el doble de lo que creas que necesitarías (obviamente con un programa de generación de datos aleatorios) y haces pruebas.
Con seguridad, encontras que solo el 20% o mucho menos de todas las operaciones son lentas o ineficientes. Pero con un fundamento sencillo, es fácil ajustarlo hasta que desempeñe ok.