Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 33000000006682 | QA76.9.D3 P69 2020 | Book | Book | Searching... |
On Order
Summary
Summary
With the aim of simplifying relational database modeling, Database Modeling Step-by-Step presents the standard approach to database normalization and then adds its own approach, which is a more simplistic, intuitive way to building relational database models. Going from basics to contemporary topics, the book opens with relational data modeling and ends with BigData database modeling following a road map of the evolution in relational modeling and including brief introductions to data warehousing and BigData modeling. A break-down of the elements of a model explains what makes up a relational data model. This is followed by a comparison between standard normalization and a more simplistic intuitive approach to data modeling that a beginner can follow and understand.
A brief chapter explains how to use the database programming language SQL (Structured Query Language), which reads from and writes to a relational database. SQL is fundamental to data modeling because it helps in understanding how the model is used. In addition to the relational model, the last three chapters cover important modern world topics including denormalization that leads into data warehouses and BigData database modeling. The book explains how there is not much to logical data modeling in BigData databases because as they are often schema-less, which means that BigData databases do not have schemas embedded into the database itself, they have no metadata and thus not much of a logical data model.
Online bonus chapters include a case study that covers relational data modeling and are available at the author's web site: www.oracletroubleshooter.com/datamodeling.html
Author Notes
Gavin Powell is a veteran IT practitioner and author of a number of publications on Oracle technologies. He has extensive experience in many databases, including more than a decade working with Oracle databases.
Powell has authored the following books:
Oracle Performance Tuning for 10 g R2
Oracle SQL Jumpstart with Examples (with Carol McCullough-Dieter)
Oracle Data Warehouse Tuning for 10 g R2
Oracle High-Performance Tuning for 9i and 10g
Working with GoldenGate 12c
Table of Contents
Contents | p. vii |
List of Figures | p. xi |
Preface | p. xvii |
About the Author | p. xix |
Chapter 1 The Evolution of Relational Database Modeling | p. 1 |
1.1 From File Systems to Object-Relational Databases | p. 2 |
1.1.1 File Systems | p. 3 |
1.1.2 The Hierarchical Database Model | p. 3 |
1.1.3 The Network Database Model | p. 4 |
1.1.4 The Relational Database Model | p. 5 |
1.1.5 The Object Database Model | p. 7 |
1.1.6 The Object-Relational Database Model | p. 9 |
1.2 General Types of Database Models | p. 10 |
1.2.1 Transactional Databases | p. 10 |
1.2.2 Decision Support Databases | p. 11 |
1.2.3 Hybrid Databases | p. 13 |
1.3 Conclusion | p. 14 |
Chapter 2 The Pieces of the Relational Data Model | p. 15 |
2.1 Why Discuss the Pieces? | p. 16 |
2.2 Tables | p. 17 |
2.2.1 Columns or Fields | p. 18 |
2.2.2 Rows | p. 30 |
2.3 Relationships | p. 31 |
2.3.1 Representing Relationships in an ERD | p. 31 |
2.3.2 Keys to Enforce Referential Integrity | p. 41 |
2.4 Indexes | p. 51 |
2.4.1 What is an Index? | p. 51 |
2.4.2 Alternate Indexing | p. 52 |
2.4.3 Types of Indexes | p. 53 |
2.4.4 Different Ways to Build Indexes | p. 56 |
2.5 Specialized Objects | p. 57 |
2.6 Conclusion | p. 60 |
Chapter 3 Intuitive Relational Data Modeling and Normalization | p. 61 |
3.1 Normalization and Normal Forms | p. 63 |
3.1.1 Defining the Normal Forms | p. 63 |
3.2 Intuitive Database Modeling | p. 65 |
3.2.1 Defining Data Modeling Intuitively | p. 66 |
3.2.2 Master-Detail Relationship | p. 67 |
3.2.3 Dynamic-Static Relationship | p. 73 |
3.2.4 Advanced Relationships | p. 79 |
3.3 Data Model Design with Normalization | p. 87 |
3.3.1 Anomalies | p. 88 |
3.3.2 Dependency and Determinants | p. 89 |
3.3.3 Defining Normal Forms Again | p. 93 |
3.3.4 1st Normal Form | p. 94 |
3.3.5 2nd Normal Form | p. 96 |
3.3.6 3rd Normal Form | p. 98 |
3.3.7 Advanced Normalization Beyond 3rd Normal Form | p. 100 |
3.4 Conclusion | p. 113 |
Chapter 4 Reading and Writing Relational Data with SQL | p. 115 |
4.1 What is SQL? | p. 116 |
4.1.1 The Origins of SQL | p. 117 |
4.1.2 SQL for Different Databases | p. 118 |
4.1.3 Introducing SQL | p. 118 |
4.2 Querying a Database Using SELECT | p. 120 |
4.2.1 Filtering with the WHERE Clause | p. 122 |
4.2.2 Sorting with the ORDER BY Clause | p. 126 |
4.2.3 Aggregating with the GROUP BY Clause | p. 127 |
4.2.4 Join Queries | p. 128 |
4.2.5 Nested Queries | p. 136 |
4.2.6 Composite Queries | p. 137 |
4.3 Changing Data in a Database | p. 138 |
4.3.1 Understanding Transactions | p. 139 |
4.4 Changing Database Metadata | p. 141 |
4.5 Conclusion | p. 146 |
Chapter 5 Advanced Relational Database Modeling | p. 147 |
5.1 Understanding Denormalization | p. 149 |
5.1.1 Normal Form Definitions | p. 149 |
5.1.2 Intuitive Data Modeling Definitions | p. 150 |
5.1.3 Denormalizing Granularity Created in Chapter 3 | p. 151 |
5.1.4 Denormalization Using Specialized Database Objects | p. 156 |
5.1.5 Denormalization Tricks | p. 158 |
5.2 Understanding the Object Database Model | p. 160 |
5.3 Introducing the Data Warehouse Model | p. 165 |
5.4 Conclusion | p. 167 |
Chapter 6 Understanding Data Warehouse Database Modeling | p. 169 |
6.1 What Is a Data Warehouse? | p. 170 |
6.1.1 The Relational Database Model and Data Warehouses | p. 172 |
6.2 The Dimensional Database Model | p. 174 |
6.2.1 What Is a Star Schema? | p. 175 |
6.2.2 What Is a Snowflake Schema? | p. 176 |
6.2.3 Kimball and Inmon on Data Warehousing | p. 181 |
6.3 Data Warehouse Modeling | p. 183 |
6.3.1 Understanding Business Processes | p. 184 |
6.3.2 Granularity | p. 184 |
6.3.3 Commonly Occurring Types of Dimension Tables | p. 186 |
6.3.4 Understanding the Basics of Fact Tables | p. 189 |
6.4 Conclusion | p. 195 |
Chapter 7 Modeling for BigData Databases | p. 197 |
7.1 Dimensional Modeling and Staging Databases in the Age of BigData | p. 198 |
7.1.1 The Data Vault Model | p. 199 |
7.1.2 The Anchor Model | p. 203 |
7.1.3 Connecting the Dots from Relations and Dimensions Through to BigData | p. 204 |
7.2 What Is BigData Modeling? | p. 206 |
7.2.1 Some Useful BigData Modeling Terminology | p. 206 |
7.2.2 Comparing ACID and BASE Consistency Models | p. 209 |
7.2.3 Risks with BigData Modeling | p. 211 |
7.2.4 Schema on Read (Schema-Less) | p. 212 |
7.3 Four Main Types of BigData Modeling Architectures | p. 216 |
7.3.1 Columnar BigData Modeling | p. 216 |
7.3.2 Key-Value Store Data Modeling | p. 221 |
7.3.3 Document Collection Data Modeling | p. 231 |
7.3.4 Graph Data Modeling | p. 238 |
7.4 Conclusion | p. 242 |
Index | p. 243 |