Synopses & Reviews
Access Database Design & Programming takes you behind the details of the Access interface, focusing on the general knowledge necessary for Access power users or developers to create effective database applications. When using software products with graphical interfaces, we frequently focus so much on the interface that we forget about the general concepts that allow us to understand and use the software effectively. In particular, this book focuses on three areas:
- Database design. The book provides an enjoyable, informative overview of database design that carefully shows you how to normalize tables to eliminate redundancy without losing data.
- Queries. 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 examines the VBA integrated development environment (IDE). It then goes on to provide an excellent introduction to Data Access Objects (DAO), ActiveX Data Objects (ADO), and ADO Extensions for Data Definition and Security (ADOX). These sections serve as a handy introduction and primer for basic database operations,such as modifying a table under program control, dynamically adding and deleting a record, and repositioning a record pointer. The concluding chapter focuses on common programming problems, such as computing running sums and comparing two sets.
Unlike other Access books that take the long, detailed approach to every topic of concern to Access programmers, Access Database Design &Programming
instead focuses on the core concepts, enabling programmers to develop solid, effective database applications. This book also serves as a 'second course' in Access that provides a relatively experienced Access user who is new to programming with the frequently overlooked techniques necessary to develop successfully in the Microsoft Access environment.Anyone interested in learning Access in depth, rather than just scraping the surface, will enjoy and benefit immensely from reading this book.
This volume takes the reader behind the details of the interface, focusing on the general knowledge necessary for Access power users or developers to create effective database applications. The main sections of this book include: database design, queries, and programming.
For programmers who prefer content to frills, this guide has succinct and straightforward information for putting Access to its full, individually tailored use.
About the Author
Dr. Roman has authored 32 books, including a number of books on mathematics, such as Coding and Information Theory, Advanced Linear Algebra, and Field Theory, published by Springer-Verlag. He has also written Modules in Mathematics, a series of 15 small books designed for the general college-level liberal arts student. Besides his books for O'Reilly, Dr. Roman has written two other computer books, both published by Springer-Verlag.
Table of Contents
Preface; Preface to the Third Edition; Preface to the Second Edition; The Book's Audience; The Sample Code; Organization of This Book; Conventions in This Book; Obtaining Updated Information; Using Code Examples; Request for Comments; Acknowledgments; Part I: Database Design; Chapter 1: Introduction; 1.1 Database Design; 1.2 Database Programming; Chapter 2: The Entity-Relationship Model of a Database; 2.1 What Is a Database?; 2.2 Entities and Their Attributes; 2.3 Keys and Superkeys; 2.4 Relationships Between Entities; Chapter 3: Implementing Entity-Relationship Models: Relational Databases; 3.1 Implementing Entities; 3.2 A Short Glossary; 3.3 Implementing the Relationships in a Relational Database; 3.4 The LIBRARY Relational Database; 3.5 Index Files; 3.6 NULL Values; Chapter 4: Database Design Principles; 4.1 Redundancy; 4.2 Normal Forms; 4.3 First Normal Form; 4.4 Functional Dependencies; 4.5 Second Normal Form; 4.6 Third Normal Form; 4.7 Boyce-Codd Normal Form; 4.8 Normalization; Part II: Database Queries; Chapter 5: Query Languages and the Relational Algebra; 5.1 Query Languages; 5.2 Relational Algebra and Relational Calculus; 5.3 Details of the Relational Algebra; Chapter 6: Access Structured Query Language (SQL); 6.1 Introduction to Access SQL; 6.2 Access Query Design; 6.3 Access Query Types; 6.4 Why Use SQL?; 6.5 Access SQL; 6.6 The DDL Component of Access SQL; 6.7 The DML Component of Access SQL; Part III: Database Architecture; Chapter 7: Database System Architecture; 7.1 Why Program?; 7.2 Database Systems; 7.3 Database Management Systems; 7.4 The Jet DBMS; 7.5 Data Definition Languages; 7.6 Data Manipulation Languages; 7.7 Host Languages; 7.8 The Client/Server Architecture; Part IV: Visual Basic for Applications; Chapter 8: The Visual Basic Editor, Part I; 8.1 The Project Window; 8.2 The Properties Window; 8.3 The Code Window; 8.4 The Immediate Window; 8.5 Arranging Windows; Chapter 9: The Visual Basic Editor, Part II; 9.1 Navigating the IDE; 9.2 Getting Help; 9.3 Creating a Procedure; 9.4 Run Mode, Break Mode, and Design Mode; 9.5 Errors; 9.6 Debugging; Chapter 10: Variables, Data Types, and Constants; 10.1 Comments; 10.2 Line Continuation; 10.3 Constants; 10.4 Variables and Data Types; 10.5 VBA Operators; Chapter 11: Functions and Subroutines; 11.1 Calling Functions; 11.2 Calling Subroutines; 11.3 Parameters and Arguments; 11.4 Exiting a Procedure; 11.5 Public and Private Procedures; 11.6 Fully Qualified Procedure Names; Chapter 12: Built-in Functions and Statements; 12.1 The MsgBox Function; 12.2 The InputBox Function; 12.3 VBA String Functions; 12.4 Miscellaneous Functions and Statements; 12.5 Handling Errors in Code; Chapter 13: Control Statements; 13.1 The If ...Then Statement; 13.2 The For Loop; 13.3 The Exit For Statement; 13.4 The For Each Loop; 13.5 The Do Loop; 13.6 The Select Case Statement; 13.7 A Final Note on VBA; Part V: Data Access Objects; Chapter 14: Programming DAO: Overview; 14.1 Objects; 14.2 The DAO Object Model; 14.3 The Microsoft Access Object Model; 14.4 Referencing Objects; 14.5 Collections Are Objects Too; 14.6 The Properties Collection; 14.7 Closing DAO Objects; 14.8 A Look at the DAO Objects; 14.9 The CurrentDb Function; Chapter 15: Programming DAO: Data Definition Language; 15.1 Creating a Database; 15.2 Opening a Database; 15.3 Creating a Table and Its Fields; 15.4 Creating an Index; 15.5 Creating a Relation; 15.6 Creating a QueryDef; Chapter 16: Programming DAO: Data Manipulation Language; 16.1 Recordset Objects; 16.2 Opening a Recordset; 16.3 Moving Through a Recordset; 16.4 Finding Records in a Recordset; 16.5 Editing Data Using a Recordset; Part VI: ActiveX Data Objects; Chapter 17: ADO and OLE DB; 17.1 What Is ADO?; 17.2 Installing ADO; 17.3 ADO and OLE DB; 17.4 The ADO Object Model; 17.5 Finding OLE DB Providers; 17.6 A Closer Look at Connection Strings; 17.7 An Example: Using ADO over the Web; Chapter 18: ADOX: Jet Data Definition in ADO; 18.1 The ADOX Object Model; Part VII: Programming Problems; Chapter 19: Some Common Data Manipulation Problems; 19.1 Running Sums; 19.2 Overlapping Intervals I; 19.3 Overlapping Intervals II; 19.4 Making Assignments with Default; 19.5 Time to Completion I; 19.6 Time to Completion II; 19.7 Time to Completion III--A MaxMin Problem; 19.8 Vertical to Horizontal; 19.9 A Matching Problem; 19.10 Equality of Sets; Part VIII: Appendixes; Appendix A: DAO 3.0/3.5 Collections, Properties, and Methods; A.1 DAO Classes; A.2 A Collection Object; A.3 Connection Object (DAO 3.5 Only); A.4 Container Object; A.5 Database Object; A.6 DBEngine Object; A.7 Document Object; A.8 Error Object; A.9 Field Object; A.10 Group Object; A.11 Index Object; A.12 Parameter Object; A.13 Property Object; A.14 QueryDef Object; A.15 Recordset Object; A.16 Relation Object; A.17 TableDef Object; A.18 User Object; A.19 Workspace Object; Appendix B: The Quotient: An Additional Operation of the Relational Algebra; B.1 Step 1; B.2 Step 2; B.3 Step 3; Appendix C: Open Database Connectivity (ODBC); C.1 Introduction; C.2 The ODBC Driver Manager; C.3 The ODBC Driver; C.4 Data Sources; C.5 Getting ODBC Driver Help; C.6 Getting ODBC Information Using Visual Basic; Appendix D: Obtaining or Creating the Sample Database; D.1 Creating the Database; D.2 Creating the BOOKS Table; D.3 Creating the AUTHORS Table; D.4 Creating the PUBLISHERS Table; D.5 Creating the BOOK/AUTHOR Table; D.6 Backing Up the Database; D.7 Entering and Running the Sample Programs; Appendix E: Suggestions for Further Reading; Colophon;