Database Principles (Second Edition)

Author: (American) Kroenke / Guo Ping
Publisher:
Publish Date: 2005-06-01
Features: This book is divided into two parts. Part I elaborates on the basic concepts of databases, fundamental knowledge of the relational model, and structured query language (SQL). Part II provides a detailed introduction to data modeling, database design, and management. The content of the book is both in-depth and accessible, making it suitable as a foundational textbook for database-related majors in higher education institutions, as well as a reference for software developers. Key Features of the Book:
● Practical and highly operational. It provides numerous examples and illustrations to help students thoroughly understand the principles of database theory.
● Reinforces learning through review questions, exercises, and practical projects at the end of each chapter, guiding students to apply their knowledge to real-world projects.
● Reorganized content based on the first edition: Chapter 2 provides four steps for normalization, making the process simpler and more understandable. A new Chapter 7 covers an overview of web database processing, database processing using XML, distributed database processing, OLAP, and data mining.
Colin Johnson is a product manager at a small manufacturing company in Seattle. Several years ago, Colin planned to build a database to track products in product packages. Initially, he used spreadsheet software to accomplish this task but found it impossible to generate the required reports. Colin heard about Microsoft Access and hoped the software could solve his problem. After several days of trying, he discovered he couldn’t master its use, so he purchased some popular Access books and studied them diligently. However, he eventually gave up and hired a consultant who created an application that roughly met Colin’s requirements. After some time, Colin wanted to make changes to the application, but he was afraid to do so. Colin is a successful businessman who actively pursues his goals. As an experienced Windows user, he can master applications like Excel, PowerPoint, and numerous productivity tools through self-study. But when it comes to using Access to solve problems, he hits a wall. Colin believes, "I’m sure I can do it, but I don’t have the time." Such events are striking because they have occurred countless times over the past decade. Database management system (DBMS) vendors like Microsoft and Oracle have invested millions of dollars to create better graphical interfaces, hundreds of multi-panel wizards, and numerous sample applications. Unfortunately, such efforts have not fundamentally solved the problem. In fact, many users are unaware of what the wizards can achieve. Once these users need to modify data structures or components (e.g., forms and queries), they become overwhelmed, unable to proceed effectively. Without understanding the underlying structure, they can only struggle in vain, ultimately resulting in poorly designed databases and applications that fail to meet user requirements.
So why can users like Colin learn to use word processing software or spreadsheets but struggle with DBMS products? One major reason is that many people are unfamiliar with the basic concepts of databases. Everyone may know about paragraphs and margins, but they may not grasp the concept of relationships. Additionally, they might assume that using a DBMS product is easier than understanding database concepts themselves. "We just want to track some information, why is it so difficult?" Without understanding the relational model, dividing a sales invoice into five separate tables before storing the data might confuse business users.
Basic Concepts
Today’s technological landscape dictates that without learning the basic concepts, one cannot successfully leverage DBMS. Based on years of experience in developing databases for business users, I believe the basic concepts of databases primarily include the following:
● Basic concepts of the relational model
● Structured Query Language (SQL)
● Data modeling
● Database design
● Database management
Users like Colin (or students taking similar courses) do not need to delve deeply into these topics like information systems specialists. Therefore, this book introduces only fundamental concepts that are crucial for users like Colin (those creating and using small databases). I have rewritten, simplified, and removed some content from the Database Processing book1. However, in this book, I strive for accuracy and avoid misleading information. Even students who have taken more advanced database courses can benefit from this book.
Concepts Independent of DBMS Products
This book assumes that students have no prior experience with specific DBMS products. While Appendix A introduces how to use Access, all concepts are applicable to DBMS products. This approach allows students to understand the fundamentals of all databases—from small Access databases to large Oracle or DB2 databases. Moreover, it avoids a common issue: when teaching concepts and products simultaneously, students may confuse the concepts with product-specific features and functions. For example, referential integrity constraints. When teaching foundational theory, students know that in certain cases, a column value in one table must always be provided by a column value in another table. They also understand how this constraint appears in the context of a relational definition and how DBMS or applications enforce it. If combined with specific DBMS instruction, such as Access, students might learn the exact steps—checking a box in some cases and not in others. This can easily lead to students forgetting the fundamental theory of databases while learning product features. However, this does not mean DBMS will not be used in this book. Instead, students can familiarize themselves with these basic concepts by using enterprise-level DBMS products. This book assumes you will refer to other books or resources to learn about the features and functions of DBMS. Prentice-Hall provides extensive supplementary materials on Microsoft Access 2003, which can be used alongside this book.
Review Questions, Exercises, and Projects
It is crucial for students to apply what they learn, so each chapter includes review questions, exercises, and three projects that span the entire book. If students read and understand each chapter, they can find the answers to the review questions. Exercises require students to apply the concepts from each chapter to small problems or tasks. The project Garden Glory introduces a database for a partnership company that provides gardening services to individuals or businesses, discussing the development and use of the database. The second project, James River Jewelers, analyzes the database requirements for a retail store designed to support targeted buyers. The third project covers the scheduling of experimental equipment in the chemistry department of a Mid-Western university. All chapters and appendices include these three projects. In each case, students are required to apply the knowledge from each chapter to the projects. Teachers will find more information on using these projects in the instructor’s manual, available from the Web site (www.prenhall.com/kroenke) in the instructor’s resource area, along with the relevant databases and sample data.
Improvements Over the First Edition
Compared to the first edition, this book has two main improvements. First, the discussion on normalization has shifted to a descriptive process for normalizing relationships. In the first edition, normalization principles were introduced, but their application was left to students. The second edition’s Chapter 2 introduces four steps for students to use normalization. This change not only simplifies normalization but also makes the principles more understandable. Second, a new Chapter 7 covers the following advanced topics:
● Web database processing
● Database processing using XML
● Distributed database processing
● OLAP and data mining
● Object-relational database management
The purpose of these discussions is to introduce students to the essence of these topics, enhance their fundamental knowledge of databases, and encourage them to continue learning in important areas.
Main Content
This book consists of 7 chapters and 1 appendix. Chapter 1 explains why databases are used, their components, and methods for developing databases. Students will learn about the purposes of databases and their applications, as well as the differences and advantages of databases over spreadsheet lists. Chapter 2 introduces the relational model, defining basic relational terms and introducing the fundamental concepts of normalization, along with a description of the normalization process. Chapter 3 covers basic SQL statements, describing fundamental SQL statements for defining data, such as SQL SELECT and data modification statements. This book does not introduce advanced SQL statements but focuses on core statements. The next three chapters discuss database design and management. Chapter 4 uses the entity-relationship (E-R) model to address data modeling, including the need for data modeling, basic E-R terms and concepts, and a brief E-R modeling example application. Chapter 5 discusses database design, explaining the fundamental concepts of normalization. The data model from the example in Chapter 4 is converted into a relational design in Chapter 5. Chapter 6 covers database management, discussing the needs for database management, an overview of concurrency control, security, and backup and recovery techniques. These topics are important for all databases, including personal single-user databases. In fact, these topics are even more critical for private databases, as they lack professional database administrators to ensure the execution of key tasks. Finally, Chapter 7 introduces the advanced topics described earlier. Appendix A covers Microsoft Access. This brief introduction helps students create simple databases and application components using Access technical documentation files.
Reflection and Outlook
Over the past 30 years, I have found that database and database application development is a rewarding and beneficial endeavor. I believe that in the future, the number, size, and importance of databases will increase significantly, and the field will achieve even greater accomplishments. It is my hope that the concepts, knowledge, and techniques mentioned in this book will help students better develop database projects.

📌 Related Posts