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