PART 1 DATABASE SYSTEM ARCHITECTURE 3
CHAPTER 1 BASIC CONCEPTS 3
1.1 What Is a Database? 3
1.2 Why Database? 6
1.3 Data Independence 9
1.4 An Architecture for a Database System 13
Exercises 21
References and Bibliography 22
CHAPTER 2 STORAGE STRUCTURES 27
2.1 Introduction 27
2.2 Possible Representations for Some Sample Data 30
2.3 The Physical Record Irnerface: Intlexing Techniques 37
2.4 General Indexing Techniques 40
Exercises 43
References and Bibliography 44
CHAPTER 3 DATA MODELS AND DATA SUBLANGUAGES 51
3.1 Introduction 51
3.2 The Relational Approach 52
3.3 The Hierarchical Approach 55
3.4 The Network Approach 58
3.5 Higher-Level Data Sublanguages 62
3.6 Summary 66
Exercises 67
References and Bibliography 68
PART 2 THE RELATIONAL APPROACH 73
CHAPTER 4 THE RELATIONAL DATA MODEL 73
4.1 Relations 73
4.2 Domains and Attributes 75
4.3 Keys 77
4.4 Summary 79
Exercises 81
References and Bibliography 81
CHAPTER 5 A DATA SUBLANGUAGE BASED ON RELATIONAL CALCULUS 83
5.1 Introduction 83
5.2 Assumptions and Definitions 84
5.3 Retrieval Operations 86
5.4 Storage Operations 96
5.5 Library Functions 98
5.6 Summary 103
Exercises 104
References and Bibliography 107
CHAPTER 6 A DATA SUBLANGUAGE BASED ON RELATIONAL ALGEBRA 113
6.1 Introduction 113
6.2 Traditional Set Operations 114
6.3 Special Relational Operations 115
6.4 Retrieval Examples 118
6.5 Storage Examples 119
6.6 Summary 119
Exercises 120
References and Bibliography 120
CHAPTER 7 THE DATA SUBLANGUAGE SEQUEL 123
7.1 Introduction 123
7.2 Retrieval Operations 124
7.3 Storage Operations 131
7.4 Library Functions 132
7.5 Summary 134
Exercises 134
References and Bibliography 134
CHAPTER 8 QUERY BY EXAMPLE 137
8.1 Introduction 137
8.2 Retrieval Operations 138
8.3 Retrieval Operations on Tree-Structured Relations 143
8.4 Storage Operations 146
8.5 Library Functions 148
8.6 Retrieval Operations on the Dictionary 149
8.7 Summary 151
Exercises 152
References and Bibliography 152
CHAPTER 9 FURTHER NORMALIZATION 153
9.1 Introduction 153
9.2 Functional Dependence 154
9.3 First, Second,and Third Normal Forms 156
9.4 Relations With More Than One Candidate Key 163
9.5 Fourth Normal Form 167
9.6 Summary 169
Exercises 170
References and Bibliography 172
CHAPTER 10 THE EXTERNAL MODEL 179
10.1 Introduction 179
10.2 External Relations 180
10.3 External Domains 183
10.4 Data Sublanguage Operations 185
10.5 Changes to the Conceptual Schema 186
10.6 Summary 188
Exercises 190
References and Bibliography 190
CHAPTER 11 SOME RELATIONAL SYSTEMS 191
11.1 Introduction 191
11.2 Early Systems 191
11.3 Recent Systems 193
References and Bibliography 196
PART 3 THE HIERARCHICAL APPROACH 205
CHAPTER 12 THE ARACHTTECTURE OF AN IMS SYSTEM 205
12.1 Background 205
12.2 Architecture 206
References and Bibliography 208
CHAPTER 13 THE INS DATA MODEL 209
13.1 Physical Databases 209
13.2 The Database Description 212
13.3 Hierarchical Sequence 215
13.4 Some Remarks on the Education Datebase 216
Exercise 217
References and Bibliography 218
CHAPTER 14 THE IMS EXTERNAL MODEL 219
14.1 Logical Databases 219
14.2 The Program Communication Block 221
Exercise 223
References and Bibliography 223
CHAPTER15 THE IMS DATA SUBLANQUAGE 225
15.1 Defining the Program Communication Block (PCD) 225
15.2 The DL/I Operations 227
15.3 DL/I Examples 229
15.4 Constructing the Segment Search Angument (SSA) 234
15.5 SSA Command Codes 234
Exercises 239
References and Bibliography 239
CHAPTER 16 IMS STORAGE STRUCTURES 241
16.1 Introduction 241
16.2 HSAM 243
16.3 HISAM 244
16.4 HD Structures: Pointers 249
16.5 HDAM 251
16.6 HIDAM 254
16.7 Secondary Data Set Groups 255
16.8 The Mapping Definition 260
16.9 Reorganization 264
16.10 Data Independence 265
16.11 Summary 267
Exercises 268
References and Bibliography 268
CHAPTER 17 IMS LOGICAL DATABASES 269
17.1 Logical Databases (LDBs) 269
17.2 An Example 270
17.3 Termninology 273
17.4 The Database Deacriptions (DBDs) 274
17.5 Loading the Logicad Database 277
17.6 Processing the Logical Database 278
17.7 Bidirectional Logical Relationships 280
17.8 A Note on the Storage Structure 286
17.9 Logical Databases Involving a Single Physical Database 286
17.10 Some Rules and Restrictions 290
17.11 Summary 291
Exercises 291
References and Bibliography 292
CHAPTER 18 IMS SECONDARY INDEXING 293
18.1 Introduction 293
18.2 Indexing the Root on a Field Not the Sequence Field 295
18.3 Indexing the Root on a Field in a Dependent 298
18.4 Indexing a Dependent on a Field in That Dependent 301
18.5 Indexing a Dependent on a Field in a Lower-Level Dependent 303
18.6 Additronal Features 304
18.7 Summary 304
Exercises 306
References and Bibliography 306
PART 4 THE NETWORK APPROACH 309
CHAPTER 19 THE ARCHITECTURE OF A DBTG SYSTEM 309
19.1 Background 309
19.2 Architecture 311
References and Bibliography 313
CHAPTER 20 THE DBTG DATA MODEL 315
20.1 Introduction 315
20.2 The Set Construct: Hierarchical Examples 316
20.3 The Set Construct: Network Examples 323
20.4 Singular Sets 326
20.5 Areas 327
20.6 Database-Keys 328
20.7 A Sample Schema 329
20.8 Membership Class 335
20.9 LOCATION MODE 338
20.10 SET SELECTION 339
20.11 Source and Result Data-Items 343
20.12 DDL/COBOL Terminology 344
Exercises 345
References and Bibliography 346
CHAPTER 21 THE DBTG EXTERNAL MODEL 349
21.1 Introduction 349
21.2 Differences between the Sub-Schemaand Schema 349
21.3 A Sample Sub-Schema 351
Exercise 351
References and Bibliography 352
CHAPTER 22 THE DBTG DATA SUBLANGUAGE 353
22.1 Introduction 353
22.2 Currency 353
22.3 GET 356
22.4 MODIFY 357
22.5 CONNECT 359
22.6 DISCONNECT 359
22.7 ERASE 360
22.8 STORE 361
22.9 FIND 361
22.10 Miscellaneous Statements 368
Exercises 369
References and Bibliography 371
PART 5 SECURITY AND INTEGRITY 375
CHAPTER 23 SECURITY 375
23.1 Introduction 375
23.2 Identification and Authentication 377
23.3 Access Control 378
23.4 Security in IMS 385
23.5 Security in DBTG 386
23.6 Bypassing the System 388
Exercise 389
References and Bibliography 390
CHAPTER 24 INTEGRITY 395
24.1 Introduction 395
24.2 Integrity Constraints 396
24.3 Data Sharing 405
24.4 Support Routines 408
24.5 Integrity in IMS 410
24.6 Integrity in DBTG 412
References and Bibliography 418
PART 6 REVIEW, ANALYSIS, AND COMPARISONS 425
CHAPTER 25 THE THREE APPROACHES REVISITED 425
25.1 The ANSI/SPARC Architecture 425
25.2 The External Level 429
25.3 The Conceptual Level 443
25.4 Conclusion 456
References and Bibliography 457
Answers to Selected Exercises 463
Index 525