object-oriented databases

9
Object-Oriented Databases Dimitris N. Chorafas / Heinrich Steinmann PTR Prentice Hall, Englewood Cliffs, New Jersey 07632

Upload: others

Post on 18-Dec-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Object-Oriented Databases

Object-Oriented Databases

Dimitris N. Chorafas / Heinrich Steinmann

PTR Prentice Hall, Englewood Cliffs, New Jersey 07632

Page 2: Object-Oriented Databases

Contents

Foreword: An Introduction to Object-Oriented Programming

John Pfaltz, PH.D. xi

Preface xv

CHAPTER 1

WHAT IS MEANT BY OBJECTS? 1

1-1. Introduction 1 1-2. Information Elements in an Object Landscape 4 1-3. Objects in a Dynamic Operating Environment 8 1-4. Understanding the Way Objects Work 11 1-5. The Concept of a Class and its Implications 13 1-6. Semantics and the Process of Instantiation 16 1-7. Object-Oriented vs. Record-Based Models 18 1-8. Fine-Tuning the Class Characteristics 21

in

Page 3: Object-Oriented Databases

iv

CHAPTER 2

T H E C O N C E P T O F INHERITANCE: A C O R N E R S T O N E IN OBJECT S O L U T I O N S 24

2-1. Introduction 24 2-2. Inheritance, Specialization, and Generalization 25 2-3. Metarules, Constraints, and Equilibration 28 2-4. The Concept of Mapping 30 2-5. Data Abstraction and Procedural Abstraction 32 2-6. Object Encapsulation and Polymorphism 34 2-7. Concurrency and Dynamic Binding 36

CHAPTER 3

C O N S T R U C T I N G T H E OBJECT-ORIENTED E N V I R O N M E N T 38

3-1. Introduction 38 3-2. Handling Object-Oriented Messages 40 3-3. Message Passing and Linguistic Requirements 41 3-4. Referential Integrity and Garbage Collection 43 3-5. Objects and the Trend Towards Parallelism 46 3-6. Multimedia, Versioning, and Ad-Hoc Queries 47 3-7. Serving the Enduser through Visualization 49

CHAPTER 4

CHALLENGES WITH OBJECT-ORIENTED DATABASES

4-1. Introduction 52 4-2. Database Access and Query Relevance 53 4-3. Hypermedia and Semantic Modeling 57 4-4. The Overriding Need for Software Reusability 60 4-5. The Design of Reusable Modules 62 4-6. Software Reuse and Cultural Issues 64

Page 4: Object-Oriented Databases

Contents

CHAPTER 5

WHY AN OBJECT DATABASE? 66

5-1. Introduction 66 5-2. A New Look at the Database Utility 67 5-3. The Role of Metamodels in Virtual Homogeneity 70 5-4. Applications Domains for Object Databases 72 5-5. Handling of Ad Hoc Queries 74 5-6. Is Complexity the Best Solution? 76

CHAPTER 6

OBJECT-ORIENTED PARADIGMS A N D L O N G TRANSACTIONS 80

6-1. Introduction 80 6-2. An Object-Oriented Paradigm in the Database 81 6-3. Database-Wide Object Identification 82 6-4. Object Classification in a Distributed Environment 84 6-5. Transaction Processing in an Object Database 86 6-6. Making Sense of Database Heterogeneity 87 6-7. Handling Long Transactions 89

CHAPTER 7

APPROACHES T O OBJECT-ORIENTED PROGRAMMING 92

7-1. Introduction 92 7-2. What is Object-Oriented Programming? 93 7-3. Algorithmic and Heuristic Approaches 94 7-4. Object Programming and Metaprogramming 96 7-5. Concepts Associated with New Programming Policies 98 7-6. A Modern Methodology versus the Waterfall Model 101

Page 5: Object-Oriented Databases

vi Contents

CHAPTER 8

META-PROGRAMMING I N A N OBJECT E N V I R O N M E N T 104

8-1. Introduction 104 8-2. Object-Oriented Linguistic Solutions 105 8-3. Object SQL (OSQL) 107 8-4. OSQL Primitives and Functions 109 8-5. Dynamic Processing of Object Properties 111 8-6. An Artifact in the Object Environment 114 8-7. Physical Memory, Logical Memory, and Programming 116

CHAPTER 9

OBJECTS A N D T H E PROCESS O F PROTOTYPING 119

9-1. Introduction 119 9-2. The Role of Prototyping in an Object Environment 120 9-3. Performance, Content, and Usage 121 9-4 Prototype: A Software Emulator 123 9-5. Do Prototypes, Not Stereotypes 126 9-6. Object-Oriented Blackboards 127 9-7. Using the Blackboard for Interfacing to the Database 12

CHAPTER 10

PROTOTYPING THE DISTRIBUTED S O L U T I O N 132

10-1. Introduction 132 10-2. Prototypes and Software Quality 133 10-3. Graphical Approaches to Aid Human-Machine

Communication 135 10-4. Developing Graphics Interfaces 137 10-5. The Role of Knowledge Abstraction 138 10-6. Goals of Knowledge Elicitation 139 10-7. The Ptech Shell 141 10-8. Classification and Method Selection 143

Page 6: Object-Oriented Databases

Contents

CHAPTER 11

THE N U T S A N D BOLTS OF OBJECT PROGRAMMING 145

11-1. Introduction 145 11-2. Basic Concepts of Object Programming 146 11-3. Typing and Instantiation 148 11-4. Role of a Data Manipulation Language 150 11-5. C + + for Object-Oriented Software 152 11-6. Emerging Features of C + + 154 11-7. Program Design With C + + 155

CHAPTER 12

SPATIAL A N D TEMPORAL SEMANTICS 158

12-1. Introduction 158 12-2. Time and Space 159 12-3. Finite or Infinite Space? 160 12-4. Structure and Behavior 162 12-5. Computer-Generated Space 164 12-6. Logical and Physical Space 167

CHAPTER 13

HANDLING TEMPORAL DATABASES 169

13-1. Introduction 169 13-2. Modeling Temporal Data 170 13-3. Decision Space and Object Orientation 171 13-4. Establishing and Maintaining Temporal Relations 13-5. Temporal Logic 174 13-6. Patterns in Semantic Representation 175 13-7. Patterning and Fuzzy Engineering 178

Page 7: Object-Oriented Databases

viii Contents

CHAPTER 14

BEYOND RELATIONAL DATABASE M A N A G E M E N T SYSTEMS 181

14-1. Introduction 181 14-2. Multidatabases 182 14-3. Knowledge Engineering and Semantics 183 14-4. Commodity Software for Heterogeneous Databases 185 14-5. Architecturing a Long-Transaction Environment 186 14-6. Why are Companies Interested in Object DBMS? 188 14-7. Integrative Capabilities and Semantics Content 190 14-8. Synchronization of Updates 191

C H A P T E R 15

LIMITATIONS I N RELATIONAL DATABASES 194

15-1. Introduction 194 15-2. Strengths and Weaknesses of Relational Databases 195 15-3. Contributions of the Relational Model 198 15-4. Premises of Relational and Object-Oriented Solutions 200 15-5. The Quest for Rigorous Solutions 202 15-6. Consistency, Concurrency, and Storage Hierarchy 204 15-7. Physical Aspects of a Multidatabase 206

CHAPTER 16

DBMS FOR OBJECT-ORIENTED DATABASES 210

16-1. Introduction 210 16-2. The Notion of a Modern Database Management System 212 16-3. The Entity-Relationship Model 214 16-4. Characteristics of Object-Oriented DBMS 215 16-5. Reasons for the Advent of Object DBMS 218 16-6. Choosing Among Object-Based Commodity Software 219 16-7. Merging Data Processing and Knowledge Engineering

in Database Management 222 16-8. The Big Computer Companies Join the Object

DBMS Market 224

Page 8: Object-Oriented Databases

Contents ix

CHAPTER 17 O N T O S A N D G E M S T O N E 227

17-1. Introduction 227 17-2. The Ontos Approach to Database Management 228 17-3. Benefits from the Implementation of an Object DBMS 230 17-4. Features of a Second Generation Object DBMS 232 17-5. The Gemstone Approach to Database Management 234 17-6. The Virtual Schema Designer 236

CHAPTER 18 VERSANT A N D OBJECT STORE 238

18-1. Introduction 238 18-2. Architecture of the Versant Object DBMS 239 18-3. Designer, Repository Builder, and Administrator 241 18-4. Distributed Characteristics and the Versant Repository 243 18-5. The ObjectStore DBMS 245 18-6. Minimizing Overhead Requirements 247 18-7. Collection Management and Directory Control 249

CHAPTER 19 OBJECT O D B A N D PEGASUS 251

19-1. Introduction 251 19-2. The Open ODB Object DBMS 252 19-3. Roles of the Object Manager 254 19-4. Access Flexibility and SQL Extensions 256 19-5. Pegasus, for Transdatabase Solutions 258 19-6. Heterogeneous Object SQL 260 19-7. Cooperative Information Management 261

Page 9: Object-Oriented Databases

x Contents

CHAPTER 20

OBJECT-ORIENTED DBMS MADE IN JAPAN 264

20-1. Introduction 261 20-2. An Overriding Demand for Practical Applications 265 20-3. The Mandrill Approach to Multimedia Database Management 268 20-4. Generalization and Specialization in Mandrill 270 20-5. Object Manager, Object Selector, and Methods Trigger 273 20-6. Object Database Management by Odin 274 20-7. The Management Information Base (MIB) by Mitsubishi 277

CHAPTER 21 OBJECTS A N D DATA LEVEL PARALLELISM 280

21-1. Introduction 280 21-2. Parallel Data Algorithms and Architectures 281 21-3. The Practical Effects of Parallelism 283 21-4. Dataflow and Interdatabase Communications 285 21-5. Recursive Data Parallelism 287 21-6. Associative Storage and Array Logic 290 21-7. Can Classical DP Answer the Challenge? 291

CHAPTER 22 THE CHALLENGE OF H I G H PERFORMANCE C O M P U T I N G 294

22-1. Introduction 294 22-2. Objects in a Hypercube Architecture 295 22-3. Solutions for Input/Output-Intensive Applications 296 22-4. Data Parallelism on a Hypercube 297 22-5. A Hypercube Database Management Solution 299 22-6. Spatial Object Management Enriched by Knowledge

Engineering 301 22-7. New Perspectives in Computation 303

INDEX 305

ACKNOWLEDGMENTS 313