The principles of database and knowledge base systems volume 1 1

654 103 0
The principles of database and knowledge base systems volume 1 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

PR1NC1PLES OF DATABASE AND KNOWLEDGE -BASE SYSTEMS VOLUME Jeffrey D U 11 man OBJECT BASE TWOPHASe LOCKING \ \ KNOWLEDGE BASE THIRD NORMAL FORM SHORTCUTS Jj DATABASE FIRSTORDER LOGIC PRINCIPLES OF DATABASE AND KNOWLEDGE -BASE SYSTEMS VOLUME I PRINCIPLES OF COMPUTER SCIENCE SERIES ISSN 0888-2096 Series Editors Alfred V Aho, Bell Telephone Laboratories, Murray Hill, New Jersey Jeffrey D Ullman, Stanford University, Stanford, California Algorithms for Graphics and Image Processing* Tneo Pavlidis Algorithmic Studies in Mass Storage Systems* C K Wong Theory of Relational Databases* Jeffrey D Ullman Computational Aspects of VLSI* Jeffrey D Ullman Advanced C: Food for the Educated Palate* Narain Gehani C: An Advanced Introduction* Narain Gehani C for Personal Computers: IBM PC, AT&T PC 6300, and Compatibles* Narain Gahani Principles of Computer Design* Leonard R Marino The Theory of Database Concurrency Control* Christos Papadimitriou 10 Computer Organization* Michael Andrews 1 Elements of Artificial Intelligence Using LlSP Steven Tanimoto 12 Trends in Theoretical Computer Science Egon Borger, Editor 13 An Introduction to Solid Modeling Martti Mantyla 14 Principles of Database and Knowledge Base Systems, Volume I Jeffrey D Ullman •These previously-published books are in the Principles of Computer Science Series but they are not numbered within the volume itself All future volumes in the Principles of Computer Science Series will be numbered OTHER BOOKS OF INTEREST Jewels of Formal Language Theory Arto Salomaa Principles of Database Systems Jeffrey D Ullman Fuzzy Sets, Natural Language Computations, and Risk Analysis Kurt J Schmucker LISP: An Interactive Approach Stuart C Shapiro PRINClPLES OF DATABASE AND KNOWLEDGE -BASE SYSTEMS VOLUME I Jeffrey D Ullman STANFORD DIVERSITY COMPUTER SCIENCE PRESS Copyright® 1988 Computer Science Press, Inc Printed in the United States of America ' I All rights reserved No part of this book may be reproduced in any form including photostat, microfilm, and xerography, and not in information storage and retrieval systems, without permission in writing from the publisher, except by a reviewer who may quote brief passages in a review or as provided in the Copyright Act of 1976 Computer Science Press 1803 Research Boulevard Rockville, Maryland 20850 123456 Printing Year 93 92 91 90 89 88 Library of Congress Cataloging-in-Publication Data Ullman, Jeffrey D., 1942Principles of database and knowledgebase systems (Principles of computer science series, ISSN 0888-2096 ; 14) Bibliography: p Includes index Data base management Expert systems (Computer science) I Title II Series Principles of computer science series; 14, etc QA76.9.D3U443 1988 005.74 87-38197 ISBN 0-88175-188-X (v 1) PREFACE This book is the first of a two-volume set that is intended as a replacement for my earlier book Principles of Database Systems (Ullman [1982] in the refer ences) Since the latter book was written, it became clear that what I thought of as "database systems" formed but one (important) point in a spectrum of systems that share a capability to manage large amounts of data efficiently, but differ in the expressiveness of the languages used to access that data It has become fashionable to refer to the statements of these more expressive lan guages as "knowledge," a term I abhor but find myself incapable of avoiding Thus, in the new book I tried to integrate "classical" database concepts with the technolgy that is just now being developed to support applications where "knowledge" is required along with "data." The first volume is devoted primarily to classical database systems How ever, knowledge, as represented by logical rules, is covered extensively in Chap ter From that chapter, only the material on relational calculus, a "classical" database topic, is used extensively in this volume We shall return to the topic of logic as a user interface language in the second volume, where it is one of the major themes We also find in the first volume a discussion of "objectoriented" database systems, which, along with "know ledge-base systems," is an important modern development Chapter introduces the terminology for database, object-base, and knowledge- base systems; it attempts to explain the relationships among these systems, and how they fit into an unfolding development of progresssively more powerful systems Chapters and introduce us to data models as used in these three classes of systems; "data models" are the mathematical abstrac tions we use to represent the real world by data and knowledge In Chapter we meet several important query languages that are based on the relational data model, and in Chapter we meet languages that are based on one of several "object-oriented" models Chapter covers physical organization of data and the tricks that are used to answer, efficiently, queries posed in the languages of Chapters and Then, in Chapter we discuss some of the theory for relational database systems, especially how one represents data in that model in ways that avoid redundancy and other problems Chapter covers security and integrity aspects of database systems, and in Chapter we discuss concurrency control, the techniques that make it possible for many processes to operate on one database 625 INDEX Muntz, R R 586 Mylopoulos, J 30, 94 Null value 51-53, 94 o N NAIL! 30 Naish, L 172 Naive evaluation 119, 126 Naqvi, S 172 Natural join 59-60, 62, 72, 122 See also Join Naughton, J F 30 Navigation 3-4, 21, 64, 71-72, 86-87, 249, 281-282, 346 Negation by failure 172-173 Negation, in rules 97, 99, 128-139, 145, 172 See also Stratified negation Negation, logical 139-141 Negative literal 102 Nested record structure 330, 332-339, 342, 346, 352 Nested transaction 542 Network 66, 73-74, 77, 543-545 Network failure 559, 582 Network model 28, 65-72, 94, 292, 342346, 457 See also CODASYL, CODASYL DDL, CODASYL DML Nicolas, J.-M 171, 444 Nievergelt, J 375 Nilsson, N J 30 Node 543 Node failure 544, 565 Nonfatal error 475-476, 478-479 Non-first-normal-form relation 95 Nonprime attribute 402 Nonrecursive predicate 103-104, 106115, 139, 141, 144 Normal form 401 See also Boyce-Codd normal form, First normal form, Fourth normal form, Second normal form, Third normal form Normalization 76, 246, 442-444 VP-completeness 440, 443, 445, 501 Obermarck, R 586-587 Object 272, 295 Object identity 22-23, 28-29, 33, 43, 66, 82,95 Object model 82-87, 94-95, 171, 245246 Object-base Object-oriented database system See OO-DBMS Occurrence, of a variable 146 Offset 298, 320 O'Hare, A 30 Olle, T W 292 One-one relationship 38-39, 48 OO-DBMS 20-23, 28-30, 85-86, 240293 See also Complex object, Data ab straction, Object identity, Objectbase OPAL 87, 271-288, 293, 462-464, 466 Operational meaning of rules See Computational meaning of rules Optimistic concurrency control 531, 533-534 Optional retention 258 Ordinary predicate 101, 107 Osborn, S L 442-443, 445 Otis, A 30, 293 Ottmann, Th 375 Ouskel, M 375 Owner 68, 76, 241, 251, 259, 461 Ozsoyoglu, G 172 Ozsoyoglu, M Z 95 Page See Block Page manager 518-519 Page table 518 Paging strategy 518 INDEX 626 Paige, R 172 Papadimitriou, C H 444, 540-542, 585-586 Parameter 273-274 Paredaens, J 444 Parent 263 Parker, D S 443 Partial-match query 356-357, 359-361, 364-366, 373, 375 Participant 557 Partition, of networks 544-545 Partitioned hashing 358 361, 373 Password 456 Pattern 332 Pattern matching 201, 213 Pelagatti, G 585 Peleg, D 586 Perfect model 138 139, 170, 173 Perl, Y 375 Persistent data Phantom deadlock 579-581 Physical data independence 11-12, 54 Physical database 7, 11, 29, 294-375 Physical item See Local item Physical scheme 13 Pinned record 298, 318-319, 322, 329, 331, 338-339, 351 Pippenger, N 375 Pirotte, A 94 Pixel 19, 27 PL/I 184 Pointer 76, 246, 263, 281, 295, 297, 320, 348-350 See also Virtual record type Pointer array mode 346 Polygraph 495-499, 540 Popek, G J 586 Positive literal 102 POSTGRES 30 Precedence, of operators 147 Precompiler 228 Predicate lock 541 Predicate symbol 24, 100 Preorder threads 349-350 Preorder traversal 263, 333-334, 347, 352 Prepare statement 230 Preservation of dependencies See Dependency preservation Primary copy locking 550-554, 585 Primary index 294, 304, 339, 347 Primary key 48, 51, 383 Primary site locking 550-551, 554, 585 Prime attribute 402 Privacy lock 458 Privilege 461, 463-464 PROBE 30 Product 43, 56-57, 122, 179, 449 Production system 24 Projection 56-57, 122, 177-178, 449 See also Generalized projection Projection, of dependencies 398-399, 405, 421, 439, 442, 445 Project-join mapping 393-394 Prolog 24-25, 30, 54, 99-100, 172 Proof 97, 118, 129, 161-162, 171 Prepositional calculus 443 Protocol 476-477 See also Aggressive protocol, Con servative protocol, Multiversion concurrency control, Redo proto col, Strict protocol, Three-phase commit, Tree protocol, Two-phase commit, Two-phase locking, Undo protocol, Wait-die, Warning proto col, Wound-wait PRTV 177 See also ISBL Przymusinska, H 173 Przymusinski, T C 173 Pseudotransitivity rule 385-386, 417 Pugin, J.-M 173 Purdy, A 30, 293 Putzolo, G R 540-541 QBE See Query-by-Example QUEL 185-195, 201, 238, 458 INDEX 627 Query 148, 157 See also Lookup, Partial-match query, Range query Query language 4-5, 13-16, 18-21, 2830, 54, 447-448, 458 See also CODASYL DML, Datalog, DL/I, ISBL, OPAL, QUEL, Query-by-Example, Relational al gebra, Relational calculus, SQL Query optimization 16, 21, 33, 54, 65, 171, 176-177 Query-by-Example 195-210, 238, 425, 452-460, 465-466 Quotient 58, 62 R Ramakrishnan, R 171-172 Ramamohanarao, K 172 Ramarao, K V S 586 Range query 356-357, 359, 361, 365367, 375 Range statement 185 Read-lock 470, 486-487, 490-493 Read-set 493 Read-time 526, 574-575 Read-token 551 Receiver 272 Record 241, 263, 295 See also Logical record, Variablelength record Record format See Format, for a record, Logical record format Record structure 2-3 Record type 241-243, 252, 274-276 See also Logical record type RECORDOF 83 Record-oriented system See Value-oriented system Recovery 516-524, 529, 563-564, 569573, 575-576, 586 See also Cascading rollback Rectified rule 111-112 Recursion 18-19, 26-27 Recursive predicate 103-104, 115-128 Redo protocol 519-521, 542 Reduction in strength 172 Redundancy 33, 76, 244-246, 377-379, 403 Reed, D P 541 Reeve, C L 586 Reflexivity 384, 414-415 Reis, D R 540 Reiser, A 585 Reiter, R 171, 173 Relation 3, 22, 25, 43-45, 351-354 Relation for a predicate 112-115 Relation for a rule 107 Relation scheme 44, 146, 376 Relational algebra 53-65, 72, 93-94, 106, 109-110, 128, 139-145, 149150, 154-155, 158-159, 161, 175177, 212, 448-449 Relational calculus 23, 53, 145-148, 171-172, 175-177 See also Domain relational calcu lus, Tuple relational calculus Relational model 28-29, 32, 43-65, 71, 94, 100-101, 376-445 Relational read/write file 185 Relationship 36-37, 46, 67 See also Many-many relationship, Many-one relationship, One-one relationship Relationship set 36 Remove statement 260 Renaming of attributes See Attribute renaming Repeating group 332 Replace statement 270-271 Resiliency 2, 508, 510, 516-524, 529531, 542, 544-545 Restart, of transactions 533-535 Retention class 258 Retrieve statement 185-186 Reuter, A 542 Rieter, R 94 Right sibling 349-350 Rights 456 Rissanen, J 441-442, 444 Rivest, R L 375 628 INDEX Robinson, J T 375, 540-541 Robson, D 293 Rohmer, J 172 Root 263 Rosenberg, A L 375 Rosenkrantz, D J 540-541, 586 Rosenthal, A 95 Ross, K A 172 Roth, M 95 Rothnie, J B Jr 375, 540-541, 585586 Rowe, L A 30 Rozenshtein, D 30, 95 Rubinstein, P 238, 466 Rule 25, 96-100, 102 See also Horn clause, Rectified rule, Safe rule Run-unit 247 Rustin, R 94 S Sadri, F 443-444 Safe formula 149, 151-161, 172, 188-189 Safe rule 104-106, 136-139, 143, 161 Sagiv, Y 429, 432, 442-444, 541 Samet, H 375 Sammet, J E 94 Saraiya, Y 30 SAT 436 Satisfaction, of a dependency 382, 428429, 443 Scheck, H.-J 95 Schedule 474 Scheduler 476, 512 Scheme 10-11 See also Conceptual database, Da tabase scheme, Logical record for mat, Relation scheme Scheuermann, P 375 Schkolnick, M 375, 442, 541 Schmid, H A 95 Schmidt, J W 94 Schwartz, J T 172 Sciore, E 30, 95, 444 SDD-1 541, 586 Search key 346 See also Secondary index Second normal form 402, 437 Secondary index 294, 339-342, 351-352, 375 Secondary storage 296 See also Stable storage Security 6-7, 17, 446, 456-464, 466 Seek time 17-18 Segall, A 586 Segment 462 Select statement 210-212 Selection 56-57, 122, 177-178, 282-283, 294, 449 See also Simple selection Select-project-join expression 177 Self 274 Selinger, P G See Griffiths, P P Semantic data model 95 See also Object model Semijoin 60-62, 93 Semi-naive evaluation 124-128, 172 Semi-pinned record 304 SEQUEL See SQL Serial schedule 468, 474-475 Serializable schedule 474-476, 480-485, 487-490, 493-501, 503-504, 506507, 524-529, 540, 546, 555 Serialization graph 480-481, 487-489, 491 Servio Logic 293, 466 Set 200-201, 213-216, 241, 274, 276 See also DBTG set Set mode 346 Set occurrence 241, 251-256, 260-261 Set selection 258-260 SETOF 82 Set-of-lists (representation of relations) 43-44, 55, 62, 100 Set-of-mappings (representation of rela tions) 44-45, 55 Sevcik, K 586 Severance, D G 542 Shadow paging 542 INDEX Shared lock See Read-lock Shasha, D E 542 Shepherdson, J C 173 Shipman, D W 95, 586 Shmueli, O 172 Sibley, E 94 Silberschatz, A 31, 95, 172, 503, 541 Simple selection 140, 207 Singleton set 215 Singular set 254-255 Site See Node Skeen, D 586 Skeleton 196 Smalltalk 271, 293 Smith, D C P 95 Smith, J M 30, 95 Snyder, L 375 Software AG 292 Software engineering database 19 Soisalon-Soininen, E 542 Sorenson, P 442 Sorted file See B-tree, Isam Sorting 311 Soundness 385, 415-416, 445 Source, for a virtual field 245 Sparse index 312, 328 SQL 6-7, 13-14, 210-234, 238, 457, 460-462, 466 SQUARE 238 Stable storage 516, 523 Stanat, D 375 Statistical database 467 Stearns, R E 540, 586 Stein, J 30, 293 Stonebraker, M 30, 238, 375, 466, 540, 585-587 Store statement 258 Stratification 133-135 Stratified negation 132-139, 172-173 Strict protocol 511-512, 530-531, 540, 556-557 Strong, H R 375 Sturgis, H 586 629 Subclass 275 Subgoal 102 Subquery 214 Subscheme 11 See also View Subscheme data definition language 89, 13 Subscheme data manipulation language Subset dependency 429 Subtransaction 546 See also Coordinator, Participant Subtype See Type hierarchy Sum See Aggregation Summers, R C 466 Superkey 383 Suri, R 540 Swenson, J R 95 Symbol mapping 428 System failure 508, 516-523 System R 210, 238, 351-354, 542 System R* 587 System 2000 293 Table directory 207 Taft, E A 587 Tanaka, K 443 Taniguchi, K 443 Tarski, A 171 Tay, Y C 540 Template 246-247, 249, 264 0-join 59, 62, 122 Third normal form 402-403, 409-412, 437, 439, 442-443 Thomas, R H 585 Three-phase commit 564-573, 586 Timeout 560, 563, 566, 577 Timestamp 468, 524-535, 541, 573-576, 579-581, 586 Timestamp table 529 Todd, S J P 238 Tompa, F W 374, 442 INDEX 630 Topological sort 484 Topor, R W 172 TOTAL 292 Toueg, S 586 Traiger, I L 540-541, 585 Transaction 468, 546 See also Nested transaction Transaction management 2, 5-6 See also Concurrency control Transitive closure 26, 92-93, 117, 145, 175 Transitivity 384, 414-416 Travis, L 30 TRC See Tuple relational calculus Tree 73, 77, 263, 502-507 See also B-tree, Database record, Hierarchical model, fc-d-tree Tree protocol 502-504, 540 Trigger 452-453 Trivial dependency 384 Tsichritzis, D C 29, 94, 292-293 Tsou, D.-M 442, 445 Tsur, S 30, 172, 375 Tuple 3, 22, 43, 295 Tuple indentifier 352 Tuple relational calculus 156-161, 174, 185, 212 Tuple variable 156, 185-186, 200, 212213 Tuple-generating dependency 424, 427, 430-431, 433, 440, 444 Two-phase commit 560-564, 586 Two-phase locking 468, 478, 484-486, 489-490, 500, 511-512, 524-526, 540, 555-557 Type hierarchy 30, 82, 85-86, 95, 272, 276, 278 See also Isa hierarchy Type union 85 Typed dependency 425 Typeless dependency 425, 427 U Uhrig, W R 542 Ullman, J D 30, 65, 95, 172, 362, 374375, 421, 441-445 Unary inclusion dependency 440-441, 445 Undecidability 444 Undo protocol 542 Union 55, 57, 122, 178, 189, 191, 449 Union rule 385-386, 416-417 Unique symbol 426, 428, 430 Universal quantifier 102-103, 147, 215 UNIX 239, 460 Unlock 477, 486, 502, 505 Unpinned record 298, 304, 315, 322, 329-330 Update 14, 205, 221, 261, 270-271, 279, 305-306, 309, 316, 320, 323, 328329, 453, 458 Update anomaly 377 Used/unused bit 299 Useless transaction 495 User identification 456 User profile 462 User working area 246-247 Value-oriented system 23, 28-29, 33, 43, 285 See also Logic, Relational model Van Emden, M H 171 Van Gelder, A 30, 172-173 Van Gucht, D 95 Vardi, M Y 94-95, 171, 441-445 Variable-length record 299-304, 306, 337 Vassiliou, Y 30, 94 Via set (location mode) 345-347, 352 View 6-7, 9-10, 29, 178-179, 208-210, 224-226, 239-240, 246, 457, 461 See also Logical data indepen dence, Subscheme View-serializability 493, 500-501 Violation, of a dependency 382 INDEX 631 Virtual field 76, 244-245, 378 Virtual record type 76-82, 245, 263, 378 VLSI database See CAD database Volatile storage 516 Voting 557 W Wade, B W 466 Wait-die 580-581, 586 Waits-for graph 474, 542, 577-581 Waldinger, R 171 Walecka, S 429 Walker, A 30, 173 Wang, H 172 Warning lock 505, 507-508 Warning protocol 504 507, 536-537, 541 Warren, D H D 30 Warren, D S 30 Waxman, J 238 Weihl, W 542 Weikum, G 542 Weinberger, P J 239 Whyte, N 238 Wiederhold, G 29-31, 95, 293, 374 Willard, D E 375 Wolfson, O 586 Wong, E 238, 466, 586-587 Wood, C 466 Wood, D 375, 542 Workspace 246, 264, 468 Wound-wait 580-581, 586 Wright, D D 586 Write-lock 470, 486-487, 490-493 Write-locks-all 547-552, 554, 556 Write-set 493 Write-time 526, 574-575 Write-token 551 Yajima, S 443 Yannakakis, M 442, 444, 501, 540-542, 586 Yao, A C 375 Yao, F F 375 Yao, S B 541 Yap, C K 95 Yokuta, H 30 Youssefi, K 238 Yuan, L.-Y 95 Yuppie Valley Culinary Boutique 40-42 YVCB See Yuppie Valley Culinary Bou tique Zaiddan, S M 442 Zaniolo, C 30, 94-95, 172, 443 Zloof, M M 238, 466 Zook, W 238 ABOUT THE BOOK This is the first in a two-volume series intended to integrate the major trends in database systems knowledge systems and object-oriented sv stems along with classical database concepts This volume covers data models, including the logical models upon which knowledge systems depend and object models used For object-oriented sv stems, as well as the classical models Examples of commercial languages based on each of these models are included The book also discusses physical storage techniques, design theory for relational databases, security, integrity, concurrency control, recovery in database systems, and dis tributed database systems TO APPEAR IN VOLUME II The second volume co\ers query optimization in database systems, and explains extensions of these ideas to handle the more expressive query languages that are used in knowledge-base sv stems Recently discovered techniques for efficient implementation of logic languages will be discussed, along with the design of some experimental knowledge-base systems The "universal relation" model, for under standing queries posed in natural language or in very high-level lan guages, will also be treated ABOUT THE AUTHOR Jeffrey D Ullman received his B.S degree from Columbia University in 1963 and his Ph.D from Princeton in 1966 He was with AT&T Bell Laboratories for three years, prior to joining the faculty at Princeton University, where he taught from 1969-1979 Since 1979, he has been a professor of Computer Science at Stanford University He currently serves on the editorial boards of SIAM ,/ Computing J Computer anil System Sciences, Theoretical Computer Si ie"iu t

Ngày đăng: 01/03/2020, 21:43

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan