houthuizen
11-30-2011, 04:51 AM
Okay, here's a question about a database design I figured out.
To me it sounds like Columbus's egg, but I don't know if it has been used before and more important, I would like to know if more experienced Access users have explicit reasons not to use this design.
I wanted to design a database that was easy to extend with new tables. To allow users to continue working with the existing database, I created a frontend database, however the backend database consisted of separated files. Every file contains a separate table. All files are linked together in the frontend. As, obviously, referential integrity is lacking, I added a custom table to the frontend containing all filenames of the "modular" backend database. With a Visual Basic/SQL instruction, all related records can be deleted in a form. This works flawlessly.
For example:
- frontend database: PATIENT.mdb
- backend databases: HISTORY.mdb, MEDICATION.mdb, EXAMINATION.mdb, etc. etc.
This modular system allows me to easily add new tables (e.g. a table containing labresults - LAB.mdb). I only have to adjust the frontend en instruct my users to exchange the frontend file and to add the new table files.
You may notice that I am pretty enthousiastic about this approach, but I would like to know if this design is feasible and wise to use. If not, could you propose other approaches to create a database project that is easily to extend?
To me it sounds like Columbus's egg, but I don't know if it has been used before and more important, I would like to know if more experienced Access users have explicit reasons not to use this design.
I wanted to design a database that was easy to extend with new tables. To allow users to continue working with the existing database, I created a frontend database, however the backend database consisted of separated files. Every file contains a separate table. All files are linked together in the frontend. As, obviously, referential integrity is lacking, I added a custom table to the frontend containing all filenames of the "modular" backend database. With a Visual Basic/SQL instruction, all related records can be deleted in a form. This works flawlessly.
For example:
- frontend database: PATIENT.mdb
- backend databases: HISTORY.mdb, MEDICATION.mdb, EXAMINATION.mdb, etc. etc.
This modular system allows me to easily add new tables (e.g. a table containing labresults - LAB.mdb). I only have to adjust the frontend en instruct my users to exchange the frontend file and to add the new table files.
You may notice that I am pretty enthousiastic about this approach, but I would like to know if this design is feasible and wise to use. If not, could you propose other approaches to create a database project that is easily to extend?