Bases de Datos - Base de datos grande

   
Vista:

Base de datos grande

Publicado por Carlos (1 intervención) el 01/12/2007 05:15:04
Estoy por hace un programa, en donde los datos que se manejaran son muchos. Les explico como es la cosa: Existe un conjunto de datos originales que debe existir siempre (llamemoslo A). Ahora cada usuario tendra como comienzo a A y podra modificar esos elementos, inclusive guardar varias veces A Como si fueran partidas de juegos. La pregunta es: Yo como usuario uso el conjunto A para iniciar mi aplicacion y como voy a modificar esos datos y tiene que quedar una copia exacta de ellos, tendre que hacer uan copia entera de la base de datos? o como se resueve de manera mas elegante?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Base de datos grande

Publicado por Franklin Gamboa (188 intervenciones) el 01/12/2007 16:04:20
Pues una forma elegante no veo por que lo que te piden ya no es "elegante"...

Basandome en la información que has puesto, yo preferiría tener los datos A como datos "maestros" y guardar en otras tablas sólo las modificaciones hechas por los usuarios; Esta es la manera mas "elegante" que se me ocurre en este momento con esa información pero si es la mas compleja de desarrollar, dado que tienes que validar la existencia o inexistencia de registros en la tabal para el usuario.

Otra, podría ser, guardar en un esquema diferente a cada usuario y crear las tablas y los datos desde el esquema donde está A y saber que el usuario jperez se conecta al esquema datos_jperez por dar un ejemplo.

La otra, quizá la mas sencilla de todas y definitivamente no elegante es crear en cada tabla una columna llamada Usuario y que allí se guarde el usuario al que pertenece ese campo, entonces cuando el usuario es creado en el sistema se toman todos los datos A y se reescriben en las tablas, cambiandoles el valor de la columna usuario por su nombre de usuario(usuario debe ser llave primaria).

La primera opcion es la que considero mas "elegante" por el hecho que la base de datos va a tener menos datos duplicados, por ende va a ocupar menos espacio en disco; las siguientes dos opciones yo las considero unas "deboradoras de disco" ya que el tamaño de las bases de datos será enorme y la cantidad de registros duplcados sera muy elevada(por no decir que puede darse el caso de tener "copias exactas" en ciertos puntos en el tiempo).

Espero haberte ayudado.

Saludos,

Franklin Gamboa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar