Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010134633 | QA76.9.D26 G37 2005 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Until now, almost all books on logical database design focused exclusively on relational design. However, modern database management systems have added powerful features that have driven a movement away from truly normalized database design. Logical Database Design Principles reflects these recent changes. The book begins by covering traditional logical design principles, followed by an analysis of the normalizing and modeling of data. It then examines designing for specific purposes, such as object-oriented databases, online transaction processing (OLTP), and data warehouses. As the text progresses, it moves from the purely logical into some physical design, as determined by how the features of modern databases are implemented.
Because this is a logical-design book, the authors attempt to make the examples database-neutral. Because various vendors implement features in different ways, this volume sometimes offers examples from a specific database management system. When necessary, it highlights a specific application, clearly demonstrating the concept being discussed.
Table of Contents
1 Introduction to Logical Database Design | p. 1 |
Understanding a Database | p. 1 |
Database Architectures | p. 2 |
Relational Databases | p. 4 |
Creating the Database | p. 4 |
System Development Life Cycle (SDLC) | p. 5 |
Systems Planning: Assessment and Feasibility | p. 5 |
System Analysis: Requirements | p. 6 |
System Analysis: Requirements Checklist | p. 8 |
Models Tracking and Schedules | p. 8 |
Design Modeling | p. 9 |
Functional Decomposition Diagram | p. 10 |
Data Flow Diagrams | p. 11 |
Data Dictionary | p. 12 |
Logical Structures and Decision Trees | p. 14 |
System Design: Logical | p. 15 |
2 System Design and Implementation | p. 17 |
The ER Approach | p. 17 |
Entities and Entity Types | p. 18 |
Attribute Domains | p. 20 |
Attributes | p. 20 |
Set-Valued Attributes | p. 20 |
Weak Entities | p. 22 |
Constraints | p. 23 |
Key Constraints: Primary | p. 23 |
Key Constraints: Foreign | p. 24 |
Lookup Tables and Consistency | p. 25 |
Modeling Approaches | p. 26 |
Relationships | p. 26 |
Cardinality | p. 29 |
Schemas | p. 31 |
Implementation: Converting the ERD | p. 32 |
Specifications and Documentation | p. 34 |
3 Converting the Logical Data Model | p. 35 |
Database Architecture | p. 35 |
SQL | p. 38 |
DDL Commands | p. 38 |
Data Retrieval | p. 45 |
DML Statements and Implicit Cursors | p. 46 |
Select Statements | p. 47 |
Cartesian Product | p. 49 |
DML: Insert Commands | p. 50 |
DML: Update Command | p. 51 |
DML: Delete Statements | p. 52 |
Transaction Commands | p. 53 |
DCL Commands | p. 54 |
4 Formal Data Normalization | p. 55 |
Definitions of Normal Forms | p. 57 |
First Normal Form | p. 57 |
Second Normal Form | p. 57 |
Third Normal Form | p. 57 |
Boyce-Codd Normal Form | p. 58 |
Fourth Normal Form | p. 58 |
Fifth Normal Form | p. 58 |
Introduction to Relational Algebra | p. 59 |
Comparison Operations and Logical Operators | p. 65 |
Applying Normal Forms | p. 66 |
First Normal Form | p. 68 |
Second Normal Form | p. 68 |
Third Normal Form | p. 70 |
Boyce-Codd Normal Form | p. 71 |
Fourth Normal Form | p. 71 |
Fifth Normal Form | p. 71 |
Summary | p. 71 |
5 Data Denormalization | p. 73 |
Historical Perspective on Disk Costs | p. 73 |
The Importance of Database Performance to the Logical Model | p. 74 |
Introducing Data Redundancy: Size versus Volatility | p. 75 |
The Theory of Dr. Ralph Kimball | p. 76 |
Pre-Joining Entities Together | p. 76 |
Pre-Aggregating Summary Information | p. 78 |
Non-First Normal Form Entities | p. 79 |
Horizontal and Vertical Partitioning for Performance | p. 79 |
Summary | p. 80 |
6 Object-Oriented Design | p. 83 |
Object-Oriented Terminology | p. 85 |
Classes | p. 85 |
Objects | p. 86 |
Messages | p. 86 |
Abstract Classes | p. 86 |
Encapsulation | p. 86 |
Inheritance | p. 87 |
Polymorphism | p. 87 |
Containment | p. 88 |
Extensibility | p. 88 |
Object Identity | p. 88 |
Transparent Persistence | p. 90 |
Storage and Access of Objects | p. 90 |
Object-Oriented Design | p. 91 |
Object-Oriented Analysis | p. 91 |
Different Models for Object Analysis | p. 91 |
The Rumbaugh Method | p. 93 |
The Booch Method | p. 93 |
The Coad-Yourdon Method | p. 93 |
The Shlaer-Mellor Method | p. 94 |
The Unified Modeling Language | p. 94 |
Creating the Object Model | p. 95 |
Methods and Database Objects | p. 98 |
Summary | p. 100 |
7 Object-Relational Design | p. 101 |
Advantages of Object-Relational Databases | p. 102 |
Atomic, Normalized Data | p. 102 |
Ad hoc Queries | p. 102 |
Object Types | p. 103 |
Large Objects | p. 105 |
Collections | p. 107 |
Arrays | p. 107 |
Nested Tables | p. 108 |
Object Views | p. 110 |
Using Logical Pointers | p. 111 |
Comparison of Object-Oriented and Object-Relational Databases | p. 115 |
Creating the Object-Relational Design | p. 116 |
Logical Object Pointers | p. 117 |
Automated Tools | p. 118 |
Summary | p. 119 |
8 Designing Replicated Databases | p. 121 |
Manual Replication Techniques | p. 122 |
Standby Database | p. 123 |
Replication Using Triggers | p. 124 |
Replication Using Views | p. 124 |
One-Way Replication | p. 125 |
Writeable Replication | p. 125 |
Updateable Replication | p. 126 |
The Push-Pull Method | p. 126 |
The Multi-Master Method | p. 127 |
The Streams Method | p. 129 |
What Are Conflicts? | p. 130 |
Conflict Avoidance | p. 131 |
Database Conflict Resolution | p. 132 |
Which Form of Replication is Right for You? | p. 133 |
Planning Your Replication Schema | p. 135 |
Primary Keys | p. 135 |
Foreign Keys | p. 135 |
Indexes | p. 136 |
Denormalization | p. 136 |
Moving Large Datasets | p. 136 |
Resynching Data | p. 137 |
Summary | p. 137 |
9 Design of the OLTP Database | p. 139 |
Designing for Online Transaction Processing | p. 139 |
Normalization | p. 140 |
Data Storage | p. 141 |
Database Data Cache Efficiency | p. 142 |
Data Growth | p. 144 |
SQL Reuse | p. 146 |
Database Locking and Waiting | p. 148 |
Deadlocks | p. 149 |
Rollbacks | p. 149 |
Indexing | p. 150 |
Primary Keys | p. 151 |
Table with Three or More Columns | p. 151 |
Multiple Indexes with the Most Restrictive Lead Columns | p. 151 |
Large Multi-Column Indexes | p. 152 |
Organizing Tables as Indexes | p. 152 |
Summary | p. 153 |
10 Design of Data Warehouses and Decision Support System Databases | p. 155 |
What Is a Data Warehouse? | p. 155 |
OLAP, MOLAP, and ROLAP | p. 156 |
Using an Operational Database as a Data Warehouse | p. 157 |
Gathering Data | p. 158 |
Staging and Processing Data | p. 158 |
Loading and Unloading Data | p. 159 |
Data Marts | p. 161 |
Designing the Data Warehouse | p. 161 |
Data Granularity | p. 162 |
Partitioning Data | p. 162 |
Which Attribute to Partition On | p. 163 |
Where to Partition | p. 164 |
Use of Keys | p. 167 |
Normalization | p. 168 |
Dimensional Modeling | p. 168 |
Pre-Aggregation | p. 169 |
Protect the Data | p. 171 |
Summary | p. 171 |
Index | p. 173 |