Description
This book has been compiled with three target groups in mind: The book is best suited for undergraduate students who are pursuing a course in database systems. Graduate students who are pursuing an introductory course in the subject may also find it useful. Finally, practicing software engineers who need a quick reference on database design may find it useful.
The motivation that drove this work was a desire to provide a concise but comprehensive guide to the discipline of database design and management. Having worked in the information technology (IT) and software engineering industries for several years before making a career switch to academia, it has been my observation that many IT professionals and software engineers tend to pay little attention to their database design skills; this is often reflected in the proliferation of software applications with inadequately designed underlying databases. In this text, the discipline of database systems design and management is discussed within the context of a bigger picture — that of software engineering. The student is led to understand from the outset that a database is a critical component of a software system, and that proper database design and management is integral to the success of the software product. Additionally and simultaneously, the student is led to appreciate the huge value of a properly designed database to the success of a business enterprise.
The text draws from lectures notes that have been compiled and tested over several years with outstanding results. They draw on personal experiences gained in industry over the years, as well as the suggestions of various professionals and students. The chapters are organized in a manner that reflects my own approach in lecturing the course, but each chapter may be read on its own.
The text has been prepared specifically to meet three objectives: comprehensive coverage, brevity, and relevance. Comprehensive coverage and brevity often operate as competing goals. In order to achieve both, I have adopted a pragmatic approach that gets straight to the critical issues for each topic, and avoids unnecessary fluff, while using the question of relevance as the balancing force. Additionally, readers should find the following features quite convenient:
• Short paragraphs that express the salient aspects of the subject matter being discussed
• Bullet points or numbers to itemize important things to be remembered
• Diagrams and illustrations to enhance the reader’s understanding
• Real-to-life examples
• Introduction of a number of original methodologies for database modeling and design
• Step-by-step, reader-friendly guidelines for solving generic database systems problems
• Each chapter begins with an overview and ends with a summary • A chapter with sample examination questions (for the student) and case studies (for the student as well as the practitioner)