Database Code Challenges
I have been asked to come up with a code challenge based on some software that I am writing.
General requirements:
The software is an acquisitions and accessions database for a museum-type collection - thus, there are no physical delete operations on any record - a 'deleted from collection' simply flags the record as hidden. All of the artefact records are, in fact, separate disc directories containing a single text file and any number of media files.
The primary requirement is that the textual data must be kept entirely in human-readable digital format (i.e. text files), thus, software-proofing the data. That includes indices and data (images and other media excepted). The artefact record is, in fact, a single document. Even EXIF-type metadata on media files is maintained in separate text documents alongside the media files.
Software installation is not required - just copy the directory, edit the config.ini file to suit, and run.
It is important that the data files may be printed out as-are, and will look like properly formatted text reports.
Directory structure:
DBRoot
|
|__ Artefact Record
| |
| |__ Images
| | |___ *.jpg etc.
| |
| |__ Documents
| | |___ *.doc, .xls etc.
| |
| |___artefact.record (text file)
|
|___ DBPrimaryIndex.index (text file)
|___ DBPrimaryIndex.schema (text file)
|
|___ DB secondary indices & schemas
For the sake of the code challenges, each program may reside in the same directory as the data file(s).
I will put up a new challenge chunk as each back-end section of the software is completed (I hope).
I should point out that I am using VB6 for developing this software (which means that it'll run under WINE, too).
Challenge 1: Data Records
Next: Challenge 2: Primary Index