División de una base de datos

Después de crear mi proyecto a usar en Citrix, he leído que debo dividir la base de datos (Backend/Frontend), lo cual hice directamente desde "Herramientas", siguiendo las instrucciones de Microsoft. La pregunta es debo en mis objetos (Formulario, Reportes, Consultas) hacer el vinculo con las tablas que están en el archivo Backend, ¿o qué? Lo pregunto porque creo haber entendido eso en un foro. Pero la explicación de microsoft no dice esa parte, solo dice:
"La base de datos ahora está dividida. La base de datos cliente es el archivo con el que inició el proceso (la copia de la base de datos compartida original) y la base de datos de servidor se encuentra en la ubicación de red que especificó en el paso 5 de este procedimiento... Después de dividir la base de datos, tendrá que distribuir la base de datos cliente a los usuarios para que puedan empezar a utilizarla... Guarde el archivo de base de datos cliente en una ubicación de red a la que tengan acceso todos los usuarios de la base de datos y, a continuación, envíe a los usuarios un mensaje de correo electrónico en el que se especifique la ubicación de red junto con otras instrucciones que puedan ser necesarias para tener acceso a la base de datos..."

1 Respuesta

Respuesta
2

Cuando realizas la división de la base de datos las tablas ya quedan automáticamente vinculadas en el front-end, por lo que no debes vincularlas.
El back-end (la BD que está en el servidor) debe contener, como objetos, solo las tablas.
El front-end debe contener las tablas vinculadas y el resto de objetos que hayas creado (formularios, consultas, informes...).
Lo que tienes que hacer a continuación es copiar la BD front-end tantas veces como ordenadores locales tengas (y quieras que tengan acceso, claro), y pegar esa copia del front-end en cada uno de ellos.
Lógicamente, esos ordenadores locales deben tener permisos de acceso a la carpeta de red que contiene el back-end.
Resumiendo:
En carpeta de red: el back-end
En el ordenador de Pepito: una copia del front-end
En el ordenador de Juanita: una copia del front-end
Etc.

Gracias, por tu respuesta. Me queda claro. Pero ahora tengo otra duda si quiero dos entradas diferentes, una para el usuario (formulario e impresión) y otra para el administrador (consultas y reportes) Debo crear dos menús de inicio para el frontend o uno para el frontend y otro para el backend?

Vamos a ver...
El back-end sólo debería contener las tablas. Esa es su función. Evidentemente, se supone que no vas a utilizar formularios para manipular el back-end porque, si entras en la BD, entras directamente como administrador, con acceso total a las tablas.
El front-end es totalmente independiente en cuanto a formularios (y demás objetos) se refiere, exceptuando, lógicamente, los vínculos a las tablas.
¿Qué quiero decir con esto? Que puedes modificar los front-end como quieras en función del tipo de usuario que va a utilizarlo.
Te pongo un ejemplo:
1.- Tenemos un front-end, resultado de dividir la BD. Hacemos una copia de ese front-end y lo pegamos en el ordenador 1
2.- El dueño del ordenador 1 puede entrar teniendo acceso a todas las opciones que hayamos preparado. Entonces, a esa copia, no la manipulamos.
3.- Hacemos una copia del front-end original y la pegamos en el ordenador 2
4.- El usuario del ordenador 2 sólo tiene acceso a ciertas partes de la aplicación. Podríamos, por ejemplo, modificar el formulario de inicio de su front-end y borrarle los botones que dan acceso a determinados formularios, a determinados informes y/o determinadas consultas.
Todos esos cambios afectarían sólo al usuario del ordenador 2; el usuario del ordenador 1 seguiría teniendo todos los accesos (botones) disponibles.
Si quieres puedes echar un vistazo a este artículo, por si te sirve para "completar" las ideas sobre la división de una base de datos
Un saludo,

Neckkito

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas