25 Years of Programming
An open source source for C, C++, OWL, BASIC, MDB, XLS, DOT, and more...
Home   Projects   Up   Sitemap   Search   Blog   Forum+Chat   About Us   Privacy   Terms of Use   Feedback   FAQ   Images   Services   Ads   Donate   Humor

BOOKS.MDB - Books database

BOOKS.MDB is a database for managing detailed information about a collection of books. It was developed for a collection of mostly old used books, some collectible, in varying conditions, and is thus somewhat geared toward that purpose. It has 100 records in it so you can see how it works and experiment with it.

Its tables are:

Authors
Bindings
Books
Condition
Condition Modifiers
Publishers
Where published
Rooms
Walls

 The fields of the main table BOOKS include:

Book number
Location
Author
Title
Notes
Publication year
Publisher
Where published
Language
Binding
Condition
Valuation
Disposition

The database demonstrates the use of linked tables in one-to-many relationships and has some sample search queries. You'll probably want to modify the database for your own purposes, but this starting point could save some initial setup time.

Downloads:

books2003mdb.zip for Microsoft Access 2003
About 54 KB. The most recent version.
 
books20mdb.zip for Microsoft Access 2.0
About 67 KB. This is older and similar, but not identical to the other version. It does have one report that the 2003 version doesn't have. It doesn't have the MakeTable query mentioned in the Notes below.
 

Notes:

These are somewhat cryptic notes made to myself about using the database. You might find them helpful after you've studied the database. The original database was one flat table with no linked tables. If you prefer that format, it is easy to recreate it using the provided MakeTable query.

Notes 6/4/02

  • Pulling repetitive data (authors, publishers, wherepub) into separate tables linked to BOOKS through ID fields didn't decrease the database size; it increased it! But it is more technically correct, and it does facilitate mass editing, and the automatic related-table lookups make it easy to find all the books by a particular author (for example) just by browsing the Authors table rather than by creating a query.
  • However, the multiple tables did seriously complicate the entry of new books because in some cases new data entered will be rejected as a result of the complications introduced by all the one-to-many relationships. A new form is needed for data entry, with dropdown comboboxes for finding authors, etc. In some cases, the order in which you enter fields is important, and on the form you should order the fields so that when this is the case, it forces the correct order to be used.
  • In maintaining the database, revise the Publisher, WherePub, or Author entries only in the Books-All-UseForEditing query (which has all the "ID" link fields), and be careful. In these fields, I often used the exact text and punctuation shown in the book, which often varies for the same publisher over time and helps to date books with no publication date shown. If you do standardize and regularize entries where the publisher names are abbreviated (by me) or differ only in spacing (which won't interfere with the above), then here is how to do it:
  1. If there is an existing Publisher that is exactly the one you want to use, just change the PubID field of the book you want to change.
  2. If not, change the Publisher field directly; this will change the entry for that publisher ID in the Publishers table, and thus everywhere it appears in the database, which in this situation is probably what you want.
  3. You can periodically use a FindUnmatched query to locate and delete entries in the Publishers table that are no longer used by the Books table.

 

Valid HTML 4.01 Transitional Valid CSS
View content labeling at ICRA.
Copyright ©2008 Steven Whitney. Last modified 07/05/2008.