Update/fix or recreate old database My employer is currently using a database build in Borland Visual dBase 5.5 that has been running on a Windows 95 machine for the last 20 years. I am trying to figure out my best course of action to bring this database into the 21st century, but my knowledge of databases is beginner at best and I'm looking for advice. The problem is compounded by the fact that the original designer had a massive stroke before she was able to complete it. It was functional enough for my employer to use it and he has been by using work-arounds for the few things that just do not function 100% correctly. There are a good number of quality of life features that I'd like to implement as well.

Current options I've come up with:


Move the database to a virtual machine on my Win10 machine, learn Visual dBase 5.5 and attempt to fix all the things that do not work correctly. Pros: Would not be starting from scratch. Cons: My understanding of VMs is that there will be difficulties transferring data from VM to host since the VM OS is pre-Win 2000.
Learn a newer database system and rebuild the database, hopefully being able to import the existing data. Re-entering data is an option. It would be me doing it, I don't want to but I will. Pros: Will be functional on current OS and database system/software will still have support. Cons: A lot more work creating the database and possibly re-entering data.


Other info that may be helpful:


There are multiple databases, two of which have 13,000 records each and are currently gaining 1,000-1,500 new records per database per year.
We are using the native Crystal Reports for direct printing of documents, but I would like the ability to edit the individual documents prior to printing when necessary if possible.


I have some programming background, mostly C++, but no real database creation/support knowledge. However, I'm willing to dive into whatever I need to work on this project, just not sure what is the best route at this point. I'm also open to suggestions for software/languages if I need to just start over.

Any suggestions are greatly appreciated!
Apparently there are updated copies of software called "dBase" but they seem to need special care, and money, to run on a modern OS.  Visual dBase 5.5 itself provides object-oriented and event-driven programming, but I think probably it's mainly based on dealing with one record (row) at a time in the data file (database or "table").  It provides the data storage, and also the program that a user needs to work with the data.

A modern equivalent system might consist of separate programs, a "database server" whose function is only to store data reliably and output it as required, and a "client" or "front end" which presents data in  user-friendly style, typically using the "SQL" language to send and retrieve data on the server (by sets, not individual rows, usually).  Another category of tool, and sometimes an expensive one, is "reporting".

Amongst questions to ask: how many people need to use the data simultaneously?  If it's more than one, then probably a client-and-server solution is best.  If one, you might be able to do the whole thing in Microsoft Excel.

Your employer may be able to buy a database application which serves the needs of your industry, and save the effort of re-learning the one that you've got or writing your own - your time presumably costs money as well.  But it won't be cheap.  A buy-in will probably be based on one of the industry-standard database servers that are known here, and you can probably convert your data into forms that the system will accept.  And the tool may provide definable fields for data that only your employer has thought of storing.

So, you could start by identifying any suitable database products for your industry, find out what database server they may use, and whether the server comes as a cheap or free download for tryout use - and then first of all, get that server, and try to import an initial copy of your data, your way, into the server.  That should move you towards converting the data for use in the new database product, or else writing your own program again, if you think you can do it.  If this exercise doesn't work, then, look at a different software and server package - or look at hiring a database consultant to help you.

But if you urgently need to replace the existing system, then using an updated version of dBase may be easier, after all.  It won't be an identical system to what you've got, but I suspect it doesn't represent twenty years of progress...  so maybe it won't be so different after all.