When using software products with graphical interfaces, we frequently focus so much on the details of how to use the interface that we forget about the more general concepts that allow us to understand and put the software to effective use. This is particularly true of a powerful database product like Microsoft Access. Novice, and sometimes even experienced programmers, are so concerned with how something is done in Access that they often lose sight of the general principles that underlie their database applications.
Access Database Design & Programming takes the reader behind the details of the Access interface, focusing on the general knowledge necessary for Access users or developers to create effective database applications. In particular, the book focuses on three areas:
Database design. Access makes it so easy -- and so visually attractive -- to create databases that users are strongly tempted to create the tables of a database without designing them beforehand. This temptation is not solely due to the foibles of users; existing books and documentation focus on the details of using the interface, and neglect the general principles of database design. The consequences of this become painfully evident at a later date, when problems in database design result in a loss of information, or when the retrieval of information from the database becomes too slow to be worthwhile. This book provides an enjoyable, informative overview of database design that carefully shows the reader how to normalize tables to eliminate data redundancy without losing data.
Queries. The attractive query design dialog that Access provides tends to obscure the fact that the Access interface can be used for some kinds of queries but does not support others. In particular, the book examines multi-table queries (i.e., various types of joins) and shows how to implement them indirectly by using the Access interface or directly by using Access SQL.
Programming. The book provides an excellent introduction to the Data Access Object (DAO) and Microsoft Access object models, which allow a developer to place a database under program control. Rather than covering these object models in an encyclopedic fashion, the section serves as a handy introduction and primer for basic database operations, like: modifying a table under program control, dynamically adding and deleting a record, or repositioning a record pointer.
Unlike other Access books that take the long, detailed approach to every topic of concern to Access programmers, this book focuses instead on the core concepts, enabling programmers to develop solid, effective database applications. As a result, important topics such as designing forms and reports, database security, database replication, and programming for multi-user applications are simply not discussed. This book is a kind of "second course" in Access that provides a relatively experienced Access user who is new to programming with the frequently overlooked techniques necessary to successfully develop in the Microsoft Access environment. Anyone interested in learning Access in-depth, rather than just scraping the surface, will enjoy and immensely benefit from reading this book.
Although this book is really an introduction targeted at intermediate Microsoft Access users who are novice programmers, it should appeal to all levels of Access developers. For novice programmers, it focuses on a key body of knowledge that is typically neglected, but is nevertheless essential for developing effective database applications. For intermediate and advanced developers, its treatment of database design and queries provides a handy treatment that otherwise has to be gleaned from relatively uninteresting textbooks, while its programming chapters constitute a handy reference to some basic operations that can be performed using DAO or the Access object model.