Beginning Database Design, Second Edition provides short, easy-to-read explanations of how to get database design right the first time. This book offers numerous examples to help you avoid the many pitfalls that entrap new and not-so-new database designers. Through the help of use cases and class diagrams modeled in the UML, you'll learn to discover and represent the details and scope of any design problem you choose to attack.
Database design is not an exact science. Many are surprised to find that problems with their databases are caused by poor design rather than by difficulties in using the database management software. Beginning Database Design, Second Edition helps you ask and answer important questions about your data so you can understand the problem you are trying to solve and create a pragmatic design capturing the essentials while leaving the door open for refinements and extension at a later stage. Solid database design principles and examples help demonstrate the consequences of simplifications and pragmatic decisions. The rationale is to try to keep a design simple, but allow room for development as situations change or resources permit.
Provides solid design principles by which to avoid pitfalls and support changing needs
Includes numerous examples of good and bad design decisions and their consequences
Shows a modern method for documenting design using the Unified Modeling Language
What you'll learn
Avoid the most common pitfalls in database design.
Create clear use cases from project requirements.
Design a data model to support the use cases.
Apply generalization and specialization appropriately.
Secure future flexibility through a normalized design.
Ensure integrity through relationships, keys, and constraints.
Successfully implement your data model as a relational schema.
Who this book is for
Beginning Database Design, Second Edition is aimed at desktop power users, developers, database administrators, and others who are charged with caring for data and storing it in ways that preserve its meaning and integrity. Desktop users will appreciate the coverage of Excel as a plausible "database" for research systems and lab environments. Developers and database designers will find insight from the clear discussions of design approaches and their pitfalls and benefits. All readers will benefit from learning a modern notation for documenting designs that is based upon the widely used and accepted Universal Modeling Language.
Table of contents
- Title Page
- Contents at a Glance
- About the Author
- About the Technical Reviewer
- CHAPTER 1: What Can Go Wrong
- CHAPTER 2: Guided Tour of the Development Process
CHAPTER 3: Initial Requirements and Use Cases
- Real and Abstract Views of a Problem
- What Does the User Do?
- What Data Are Involved?
- What Is the Objective of the System?
- What Data are Required to Satisfy the Objective?
- What are the Input Use Cases?
- What Is the First Data Model?
- What Are the Output Use Cases?
- More About Use Cases
- Finding Out More About the Problem
- What Have We Postponed?
- CHAPTER 4: Learning from the Data Model
- CHAPTER 5: Developing a Data Model
- CHAPTER 6: Generalization and Specialization
- CHAPTER 7: From Data Model to Relational Database Design
- CHAPTER 8: Normalization
- CHAPTER 9: More on Keys and Constraints
- CHAPTER 10: Query Basics
- CHAPTER 11: User Interface
- CHAPTER 12: Other Implementations
- Title: Beginning Database Design: From Novice to Professional, Second Edition
- Release date: June 2012
- Publisher(s): Apress
- ISBN: 9781430242093
You might also like
Beginning Database Design Solutions
This book is intended for IT professionals and students who want to learn how to design, …
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. …
Introducing Python, 2nd Edition
Easy to understand and fun to read, this updated edition of Introducing Python is ideal for …
Kafka: The Definitive Guide
Every enterprise application creates data, whether it’s log messages, metrics, user activity, outgoing messages, or something …