I am working on a side project for a small business owner (my father) and part of the requirements for the application include saving customer and job related data in a way that it can easily be backed up and/or restored on demand.
I am familiar with how to save data to a flat file, and I am familiar with how to save data to a database. What I feel like I am missing is what are "typical" strategies for saving data such as I described above to a file?
For example I noticed Quickbooks has their own file format that encapsulates an entire "business" in one file that can easily be backed up and/or used for restoration. (Briefly) How is that accomplished?
I have come across integrated databases such as sqlExpress and am left wondering if this is how end user applications typically manage data or if it is something else entirely.
In short, how can I encapsulate a large amount of complex data into a single file either of a simple data type (i.e. .DAT/.TXT) or possibly a custom file format?
EDIT: As an added bit of information I would like to avoid having to install a stand-alone RDBMS in order to save data to a database.
Dataset
i has a save to xml feature. The file is humanly readable and as easy to copy and bright it with you.dataSet.WriteXml("data.xml", XmlWriteMode.WriteSchema);
anddataSet.ReadXml("data.xml", XmlReadMode.ReadSchema);