Design great databases―from logical data modeling through physical schema definition. You will learn a framework that finally cracks the problem of merging data and process models into a meaningful and unified design that accounts for how data is actually used in production systems.
Key to the framework is a method for taking the logical data model that is a static look at the definition of the data, and merging that static look with the process models describing how the data will be used in actual practice once a given system is implemented. The approach solves the disconnect between the static definition of data in the logical data model and the dynamic flow of the data in the logical process models.
The design framework in this book can be used to create operational databases for transaction processing systems, or for data warehouses in support of decision support systems. The information manager can be a flat file, Oracle Database, IMS, NoSQL, Cassandra, Hadoop, or any other DBMS.
Usage-Driven Database Design emphasizes practical aspects of design, and speaks to what works, what doesn’t work, and what to avoid at all costs. Included in the book are lessons learned by the author over his 30+ years in the corporate trenches. Everything in the book is grounded on good theory, yet demonstrates a professional and pragmatic approach to design that can come only from decades of experience.
- Presents an end-to-end framework from logical data modeling through physical schema definition.
- Includes lessons learned, techniques, and tricks that can turn a database disaster into a success.
- Applies to all types of database management systems, including NoSQL such as Cassandra and Hadoop, and mainstream SQL databases such as Oracle and SQL Server
What You'll Learn
- Create logical data models that accurately reflect the real world of the user
- Create usage scenarios reflecting how applications will use a new database
- Merge static data models with dynamic process models to create resilient yet flexible database designs
- Support application requirements by creating responsive database schemas in any database architecture
- Cope with big data and unstructured data for transaction processing and decision support systems
- Recognize when relational approaches won’t work, and when to turn toward NoSQL solutions such as Cassandra or Hadoop
Who This Book Is For
System developers, including business analysts, database designers, database administrators, and application designers and developers who must design or interact with database systems
Table of Contents
Part I: Introduction
Chapter 1: Introduction to Usage-Driven Database Design
Part II: Logical Data Modeling
Chapter 2: The E-R Approach
Chapter 3: More About the E-R Approach
Chapter 4: Building the Logical Data Model
Chapter 5: LDM Best Practices
Chapter 6: LDM Pitfalls
Chapter 7: LDM Perils to Watch For
Part III: Physical Schema Definition
Chapter 8: Introduction to Physical Database Design
Chapter 9: Introduction to Physical Schema Definition
Chapter 10: Transformation: Creating the Physical Data Model
Chapter 11: Utilization: Merging Data and Process
Chapter 12: Formalization: Creating a Schema
Chapter 13: Customization: Enhancing Performance
Chapter 14: The Data Warehouse
Chapter 15: The Big Data Decision Support System
Part IV: Where from Here?
Chapter 16: A Look Ahead
Part V: Appendixes
Appendix A: Glossary
Appendix B: Logical Data Modeling Definitions
Appendix C: Physical Schema Definition Object Definitions
Appendix D: Formulas Used in This Book
Appendix E: List of U3D Deliverables