Information Modeling and Relational Databases
From Conceptual Analysis to Logical DesignBy
- Terry Halpin
Information Modeling and Relational Databases provides an introduction to ORM (Object Role Modeling)-and much more. In fact, it's the only book to go beyond introductory coverage and provide all of the in-depth instruction you need to transform knowledge from domain experts into a sound database design.
Inside, ORM authority Terry Halpin blends conceptual information with practical instruction that will let you begin using ORM effectively as soon as possible. Supported by examples, exercises, and useful background information, his step-by-step approach teaches you to develop a natural-language-based ORM model and then, where needed, abstract ER and UML models from it. This book will quickly make you proficient in the modeling technique that is proving vital to the development of accurate and efficient databases that best meet real business objectives.
Systems analysts, information modelers, database designers and administrators, instructors, managers, and programmers.
Published: April 2001
Imprint: Morgan Kaufmann
- Industrial forewordAcademic forewordPreface1 Introduction1.1 Information modeling 1.2 Modeling approaches1.3 Some historical background1.4 The relevant skills1.5 Summary2 Information levels and frameworks2.1 Four information levels2.2 The conceptual level 2.3 From external to conceptual to relational 2.4 Development frameworks2.5 Summary3 Conceptual modeling: first steps3.1 Conceptual modeling language criteria 3.2 ORM's conceptual schema design procedure 3.3 CSDP step 1: from examples to elementary facts3.4 CSDP step 2: draw fact types, and populate3.5 CSDP step 3: trim schema; note basic derivations3.6 Summary4 Uniqueness constraints4.1 CSDP step 4: uniqueness constraints; rarity check 4.2 Uniqueness constraints on unaries and binaries 4.3 Uniqueness constraints on longer fact types 4.4 External uniqueness constraints4.5 Key length check4.6 Projection-join check4.7 Summary5 Mandatory roles5.1 Introduction to CSDP step 55.2 Mandatory and optional roles 5.3 Logical derivation check 5.4 Reference schemes 5.5 Case study: a compact disk retailer 5.6 Summary6 Value, set comparison and subtype constraints6.1 CSDP step 6: value, set and subtype constraints 6.2 Basic set theory 6.3 Value constraints and independent objects 6.4 Subset, equality and exclusion constraints 6.5 Subtyping 6.6 Generalization of object types 6.7 Summary7 Other constraints and final checks7.1 CSDP step 7: other constraints; final checks 7.2 Occurrence frequencies 7.3 Ring constraints 7.4 Other constraints 7.5 Final checks 7.6 Summary8 Entity relationship modeling8.1 Overview of ER 8.2 Barker notation 8.3 Information Engineering notation 8.4 IDEF1X 8.5 Mapping from ORM to ER 8.6 Summary9 Data modeling in UML9.1 Introduction 9.2 Object reference and single-valued attributes 9.3 Multi-valued attributes 9.4 Associations 9.5 Set comparison constraints 9.6 Subtyping 9.7 Other constraints and derivation rules 9.8 Mapping from ORM to UML 9.9 Summary10 Relational mapping10.1 Implementing a conceptual schema 10.2 Relational schemas 10.3 Relational mapping procedure 10.4 Advanced mapping aspects 10.5 Summary11 Relational languages11.1 Relational algebra 11.2 Relational database systems 11.3 SQL: historical and structural overview 11.4 SQL: identifiers and data types 11.5 SQL: choosing columns, rows and order 11.6 SQL: joins 11.7 SQL: in, between, like and null operators 11.8 SQL: union and simple subqueries 11.9 SQL: scalar operators and bag functions 11.10 SQL: grouping 11.11 SQL: correlated and existential subqueries 11.12 SQL: data definition 11.13 SQL: updating table populations 11.14 SQL: security and meta-data 11.15 Summary12 Schema transformations12.1 Schema equivalence and optimization 12.2 Predicate specialization and generalization 12.3 Nesting, co-referencing and flattening 12.4 Other conceptual transformations 12.5 Conceptual schema optimization 12.6 Normalization 12.7 Denormalization and low level optimization 12.8 Re-engineering 12.9 Summary13 Other modeling aspects and trends13.1 Introduction 13.2 Data warehousing and OLAP 13.3 Conceptual query languages 13.4 Schema abstraction mechanisms 13.5 Process modeling and external design 13.6 Post-relational databases and other trends 13.7 Meta-modeling 13.8 SummaryAnswersBibliographyORM glossaryER glossaryUML glossaryIndex