- Shopping Bag ( 0 items )
|Pt. 1||Database Fundamentals||1|
|Ch. 1||Getting Started||2|
|Ch. 2||The Relational Model||30|
|Ch. 3||Structured Query Language||54|
|Pt. 2||Database Design and Management||85|
|Ch. 4||Data Modeling and the Entity-Relationship Model||86|
|Ch. 5||Database Design||110|
|Ch. 6||Database Administration||135|
|App||Database Processing with Microsoft Access||165|
Colin Johnson is a production supervisor for a small manufacturer in Seattle. Several years ago Colin wanted to build a database to keep track of components in product packages. At the time he was using a spreadsheet to perform this task, but he could not get the reports that he needed from the spreadsheet. Colin had heard about Microsoft Access, and he tried to use it to solve his problem. After several days of frustration, he bought several popular Access books and attempted to learn from them. Ultimately, he gave up and hired a consultant who built an application that more or less met Colin's needs. Over time Colin wanted to change his application, but he did not dare try.
Colin was a successful businessperson who was highly motivated to achieve his goals. A seasoned Windows user, he had been able to teach himself how to use Excel, PowerPoint, and a number of production-oriented application packages. He was flummoxed at his inability to use Access to solve his problem. "I'm sure I could do it, but I just don't have any more time to invest." This story is even more remarkable because it has occurred tens of thousands of times over the last decade.
Microsoft Corporation, Oracle Corporation, and other database management system (DBMS) vendors are aware of such scenarios and have invested millions of dollars in creating better graphical interfaces, hundreds of multi-panel wizards, and many sample applications. Unfortunately such efforts treat the symptom and not the cause. In fact, most users have no clear idea of what wizards are doing on their behalf. As soon as these users require changes to database structure or to components such as forms and queries,they drown in a sea of complexity for which they are unprepared. With little understanding of the underlying fundamentals, these users grab at any straw that appears to lead in the direction they want. The consequence is poorly designed databases and applications that fail to meet the users' requirements.
Why can people like Colin learn a word processor or a spreadsheet product, yet fail when trying to learn to use a DBMS product? For one, the underlying database concepts are unnatural to most people. Whereas everyone knows what paragraphs and margins are, no one knows what a relation is. Also, it seems like using a DBMS product ought to be easier than it is. "All I want to do is keep track of something. Why is it so hard?" Without knowledge of the relational model, breaking a sales invoice into five separate tables before storing the data is mystifying to business users.
The truth is that with today's technology it is impossible to successfully utilize a DBMS without learning fundamental concepts. After years of developing databases with business users, I believe that the following database concepts are essential:
Users like Colin—and students who will accept jobs similar to his—need not learn these topics to the same depth as do future information systems professionals. Consequently, this textbook presents only essential concepts—those that are necessary for users like Colin to create and use small databases. I have rewritten, simplified, and omitted topics that you will find in my in-depth book on the subject, Database Processing. In this process, however, I have endeavored to ensure that the discussions remain accurate and do not mislead. There is nothing here that students will need to unlearn if they take more advanced database courses.
This book does not assume that any particular DBMS product will be used by students. Access is introduced in the Appendix, but all of the concepts are presented in a DBMS-agnostic manner. When learned this way, students come to understand that the fundamentals pertain to any database—from the smallest Access database to the largest Oracle or DB2 database.
Moreover, this approach avoids a common pitfall. When concepts and products are taught at the same time, students frequently confound concepts with product features and functions. For example, consider referential integrity constraints. When taught from a conceptual standpoint, students learn that there are times when the values of a column in one table must always be present as values of a column in a second table. Students will also learn how this constraint arises in the context of relationship definition and how either the DBMS or the application must enforce this constraint. If taught in the context of a DBMS—say in the context of Access—students will only learn that in some cases you check a check box, and in other cases you don't. There is a danger that the underlying concept will be lost in the product feature.
All of this is not to say, however, that a DBMS should not be used in this class. On the contrary, students can best master these concepts by applying them using a commercial DBMS product. This book was written assuming that you will use a second book or other materials to teach the features and functions of the DBMS that you select for your class. Prentice-Hall provides a number of companion workbooks for Microsoft Access 2002 that may be packaged with this text. These include Essentials: Access 2002, Level 1, by Dawn Parrish Wood; Exploring Microsoft Access 2002, Comprehensive, by Robert Grauer and Mary Ann Barber; Learn Access 2002, Volume 1, by John Preston, Sally Preston, and Robert Ferrett; and Select: Microsoft Access 2002, Volume 1, by Pamela R. Toliver.
Because it is so important for students to apply the concepts that they learn, each chapter is concluded with sets of review questions, exercises, and two projects that run throughout the book. Students should be able to answer the review questions if they have read and understood the chapter material. The exercises require the students to apply the chapter concepts to a small problem or task.
The first of the projects, Garden Glory, concerns the development and use of a database for a partnership that provides gardening and yard maintenance services to individuals and organizations. The second project, James River jewelry addresses the need for a database to support a frequent buyer program for a retail store. Both of these projects appear in all of the book's chapters and the Appendix. In each instance, students are asked to apply concepts from the chapter to the project. Instructors will find more information on the use of these projects in the instructor's manual and can obtain databases and data from the instructor's portion of our Web site.
This textbook consists of six chapters and an appendix. The purpose of Chapter 1 is to explain why databases are used, what their components are, and how they are developed. Students will learn the purpose of databases and their applications and how databases differ from and improve on keeping lists in spreadsheets. Chapter 2 introduces the relational model and defines basic relational terminology. It also introduces the fundamental ideas that underlie normalization and sets the stage for further discussion of this important topic in Chapter 5.
Chapter 3 presents fundamental SQL statements. Basic SQL statements for data definition are described, as are SQL SELECT and data modification statements. No attempt is made to present advanced SQL statements; only the essential statements are described.
The next three chapters consider database design and management. Chapter 4 addresses data modeling using the entity-relationship (E-R) model. The need for data modeling is described, basic E-R terms and concepts are introduced, and a short case application of E-R modeling is presented. Chapter 5 describes database design and explains the essentials of normalization. The data model from the case example in Chapter 4 is transformed into a relational design in Chapter 5.
Finally in Chapter 6 database administration is discussed. This chapter describes the need for database administration and surveys concurrency control, security, and backup and recovery techniques. I believe this topic is important for all databases, even for personal, single-user databases. In fact, in some ways this topic is more important for such databases because there will be no professional database administrator to ensure that critical tasks are performed.
Finally Microsoft Access is introduced in the Appendix. This brief introduction can be used in conjunction with Access documentation to help students create simple databases and application components.
Posted January 20, 2010
No text was provided for this review.
Posted February 25, 2010
No text was provided for this review.