Database systems, 4th edition

1.4K 131 0
Database systems, 4th edition

Đ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

d ata b a s e systems Both Thomas Connolly and Carolyn Begg have experience of database design in industry, and now apply this in their teaching and research at the University of Paisley in Scotland A Practical Approach to Design, Implementation, and Management • Begg A clear introduction to design, implementation and management issues, as well as an extensive treatment of database languages and standards, make this book an indispensable complete reference for database students and professionals alike Features Complex subjects are clearly explained using running case studies throughout the book Database design methodology is explicitly divided into three phases: conceptual, logical, and physical Each phase is described with an example of how it works in practice SQL is comprehensively covered in three tutorial-style chapters Distributed, object-oriented, and object-relational DBMSs are fully discussed Check out the Web site at www.booksites.net/connbegg, for full implementations of the case studies, lab guides for Access and Oracle, and additional student support New! For the fourth edition • • • Extended treatment of XML, OLAP and data mining Coverage of updated standards including SQL:2003, W3C (XPath andXQuery), and OMG Now covers Oracle9i and Microsoft Office Access 2003 This book comes with a free six-month subscription to Database Place, an online tutorial that helps readers master the key concepts of database systems Log on at www.aw.com/databaseplace FOURTH EDITION d ata b a s e systems Over 200,000 people have been grounded in good database design practice by reading Database Systems The new edition of this best-seller brings it up to date with the latest developments in database technology and builds on the clear, accessible approach that has contributed to the success of previous editions an imprint of www.booksites.net/connbegg Connolly FOURTH EDITION • • • • • • Thomas Connolly Carolyn Begg d ata b a s e systems A Practical Approach to Design, Implementation, and Management www.booksites.net/connbegg www.booksites.net/connbegg www.pearson-books.com www.it-ebooks.info Databa se Systems A Companion Web site accompanies Database Systems, Fourth edition by Thomas Connolly and Carolyn Begg Visit the Database Systems Companion Web site at www.booksites.net/connbegg to find valuable learning material including: For Students: n n n n n n Tutorials on selected chapters Sample StayHome database Solutions to review questions DreamHome web implementation Extended version of File Organizations and Indexes Access and Oracle Lab Manuals www.it-ebooks.info INTERNATIONAL COMPUTER SCIENCE SERIES Consulting Editor A D McGettrick University of Strathclyde SELECTED TITLES IN THE SERIES Operating Systems J Bacon and T Harris Programming Language Essentials H E Bal and D Grune Programming in Ada 95 (2nd edn) J G P Barnes Java Gently (3rd edn) J Bishop Software Design (2nd edn) D Budgen Concurrent Programming A Burns and G Davies Real-Time Systems and Programming Languages: Ada 95, Real-Time Java and RealTime POSIX (3rd edn) A Burns and A Wellings Comparative Programming Languages (3rd edn) L B Wilson and R G Clark, updated by R G Clark Distributed Systems: Concepts and Design (3rd edn) G Coulouris, J Dollimore and T Kindberg Principles of Object-Oriented Software Development (2nd edn) A Eliëns Fortran 90 Programming T M R Ellis, I R Philips and T M Lahey Program Verification N Francez Introduction to Programming using SML M Hansen and H Rischel Functional C P Hartel and H Muller Algorithms and Data Structures: Design, Correctness, Analysis (2nd edn) J Kingston Introductory Logic and Sets for Computer Scientists N Nissanke Human–Computer Interaction J Preece et al Algorithms: A Functional Programming Approach F Rabhi and G Lapalme Ada 95 From the Beginning (3rd edn) J Skansholm C++ From the Beginning J Skansholm Java From the Beginning (2nd edn) J Skansholm Software Engineering (6th edn) I Sommerville Object-Oriented Programming in Eiffel (2nd edn) P Thomas and R Weedon Miranda: The Craft of Functional Programming S Thompson Haskell: The Craft of Functional Programming (2nd edn) S Thompson Discrete Mathematics for Computer Scientists (2nd edn) J K Truss Compiler Design R Wilhelm and D Maurer Discover Delphi: Programming Principles Explained S Williams and S Walmsley Software Engineering with B J B Wordsworth www.it-ebooks.info THOMAS M CONNOLLY • CAROLYN E BEGG UNIVERSITY OF PAISLEY Databa se Systems A Practical Approach to Design, Implementation, and Management Fourth Edition www.it-ebooks.info Pearson Education Limited Edinburgh Gate Harlow Essex CM20 2JE England and Associated Companies throughout the world Visit us on the World Wide Web at: www.pearsoned.co.uk First published 1995 Second edition 1998 Third edition 2002 Fourth edition published 2005 © Pearson Education Limited 1995, 2005 The rights of Thomas M Connolly and Carolyn E Begg to be identified as authors of this work have been asserted by the authors in accordance with the Copyright, Designs and Patents Act 1988 All rights reserved No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without either the prior written permission of the publisher or a licence permitting restricted copying in the United Kingdom issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP The programs in this book have been included for their instructional value They have been tested with care but are not guaranteed for any particular purpose The publisher does not offer any warranties or representations nor does it accept any liabilities with respect to the programs All trademarks used herein are the property of their respective owners The use of any trademark in this text does not vest in the author or publisher any trademark ownership rights in such trademarks, nor does the use of such trademarks imply any affiliation with or endorsement of this book by such owners ISBN 321 21025 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library Library of Congress Cataloguing-in-Publication Data A catalog record for this book is available from the Library of Congress 10 09 08 07 06 05 Typeset in 10/12pt Times by 35 Printed and bound in the United States of America www.it-ebooks.info To Sheena, for her patience, understanding, and love during the last few years To our daughter, Kathryn, for her beauty and intelligence To our happy and energetic son, Michael, for the constant joy he gives us To our new child, Stephen, may he always be so happy To my Mother, who died during the writing of the first edition Thomas M Connolly To Heather, Rowan, Calum, and David Carolyn E Begg www.it-ebooks.info www.it-ebooks.info Brief Contents Preface Part xxxiii Background Chapter Introduction to Databases Chapter Database Environment 33 The Relational Model and Languages 67 Chapter The Relational Model 69 Chapter Relational Algebra and Relational Calculus 88 Chapter SQL: Data Manipulation 112 Chapter SQL: Data Definition 157 Chapter Query-By-Example 198 Chapter Commercial RDBMSs: Office Access and Oracle 225 Part Part Chapter Database Analysis and Design Techniques 279 Database Planning, Design, and Administration 281 Chapter 10 Fact-Finding Techniques 314 Chapter 11 Entity–Relationship Modeling 342 Chapter 12 Enhanced Entity–Relationship Modeling 371 Chapter 13 Normalization 387 Chapter 14 Advanced Normalization 415 www.it-ebooks.info viii | Brief Contents Part Methodology 435 Chapter 15 Methodology – Conceptual Database Design 437 Chapter 16 Methodology – Logical Database Design for the Relational Model 461 Methodology – Physical Database Design for Relational Databases 494 Methodology – Monitoring and Tuning the Operational System 519 Chapter 17 Chapter 18 Part Selected Database Issues 539 Chapter 19 Security 541 Chapter 20 Transaction Management 572 Chapter 21 Query Processing 630 Part Distributed DBMSs and Replication 685 Chapter 22 Distributed DBMSs – Concepts and Design 687 Chapter 23 Distributed DBMSs – Advanced Concepts 734 Chapter 24 Replication and Mobile Databases 780 Part Object DBMSs 801 Chapter 25 Introduction to Object DBMSs 803 Chapter 26 Object-Oriented DBMSs – Concepts 847 Chapter 27 Object-Oriented DBMSs – Standards and Systems 888 Chapter 28 Object-Relational DBMSs 935 Part Web and DBMSs 991 Chapter 29 Web Technology and DBMSs 993 Chapter 30 Semistructured Data and XML 1065 www.it-ebooks.info Brief Contents Part Business Intelligence | ix 1147 Chapter 31 Data Warehousing Concepts 1149 Chapter 32 Data Warehousing Design 1181 Chapter 33 OLAP 1204 Chapter 34 Data Mining 1232 Appendices A 1247 Users’ Requirements Specification for DreamHome Case Study 1249 B Other Case Studies 1255 C File Organizations and Indexes (extended version on Web site) 1268 D When is a DBMS Relational? 1293 E Programmatic SQL (extended version on Web site) 1298 F Alternative ER Modeling Notations 1320 G Summary of the Database Design Methodology for Relational Databases 1326 H I Estimating Disk Space Requirements On Web site Example Web Scripts On Web site References 1332 Further Reading 1345 Index 1356 www.it-ebooks.info Index objectives 736–7 serializability 737 timestamp protocols 740 distributed database 689 distributed DBMS 860 advantages 694–5 architecture 704–8 federated MDBS 705–6 concepts 689–93 distributed processing 691 parallel DBMS 691–3 concurrency control 736–40 distributed serializability 737 locking protocols 738–40 objectives 736–7 timestamp protocols 740 Dates rules 729–30 deadlock management 741–4 disadvantages 695–7 functions 703 homogeneous and heterogeneous 697–9 multidatabase systems 698–9 open database access 698 networking 699–703 communication time 703 protocols 701–2 in Oracle 772–8 query optimization 761–71 recovery in 615, 744–58 failures 744–6 network partitioning 756–8 protocols 746 three-phase commit 752–6 two-phase commit 746–52 transaction management 735–6 transparencies 690, 719–28 distribution transparency 719–22 performance transparency 725–8 transaction transparency 722–5 X/Open Distributed Transaction Processing Model 758–61 see also distributed relational DBMS; relational DBMS distributed DBMS component 708 distributed deadlock detection 742, 743–4 distributed independence in RDBMS 1297 distributed joins 766–7 distributed 2PC 751 distributed processing 51, 691 distributed query optimization 672–3, 761–71 data localization 762–6 derived horizontal fragmentation 765–6 horizontal fragmentation 762–4 vertical fragmentation 764–5 distributed joins 766–7 global optimization 767–71 costs 767–8 R* algorithm 768–9 SDD-1 algorithm 769–71 distributed query processing 726–8 distributed relational database design 708–19 data allocation 709–10 complete replication 710 selective replication 710 fragmentation 689, 708, 709, 710–19 correctness 711 no fragmentation 718 reasons for 710–11 types 711–18 distributed serializability 737 distributed transaction management 735–6 Distributed Transaction Processing (DTP) 758 distributed transactions 62–3, 722–3 in Oracle 775 distribution independence 1297 distribution transparency of DDBMS 719–22 division operation in relational algebra 99–100, 102 document-centric model 1128 Document Object Model (DOM) 1082 Document Type Definitions (DTDs) 1078–82 attribute list declarations 1080 document validity 1081–2 element, identity, IDs and ID references 1081 element type declarations 1079 entity and notation declarations 1080–1 documentation examination of 317–18 in logical design 488–90 domain 72–3, 75, 941 domain constraints 81 in SQL 164–5 domain relational calculus 107–9 dominant entity type 356 downsizing 56 Dreamhome case study 321–6 attribute for entities 449 branch users’ requirements 1249–52 data requirements 1249–50 transaction requirements 1251–2 database design 340 database planning 326–31 fact and dimension tables 1195 file organizations and indexes for 511–13 in Oracle 513–14 global relation diagram 489 new requirement for 535–6 requirements collection 332–40 www.it-ebooks.info | 1361 specialization/generalization in EER 379–83 staff users’ requirements 1252–4 data requirements 1252–3 transaction requirements 1253–4 system definition 331–2 drill-down of data in OLAP 1211 durability of transaction 576, 723, 745, 758 dynamic binding in object-orientation 824, 858 dynamic hashing 1275–6 Dynamic Invocation Interface (DII) 893 dynamic method invocation 893–4 dynamic programming 669 dynamic query optimization 634–5 Dynamic Skeleton Interface (DSI) 893 dynamic SQL 1312–13 dynamic transformation engines in data warehousing 1166 dynaset 199 e-Business 997–8 e-Commerce 997–8 eager swizzling 865 Earth Observing System (EOS) 807 EasyDrive School of Motoring case study 1258–9 data requirements 1258–9 query transactions 1259 economy of scale in DBMS 28 edge marking 864 edges 46 elementary expressions 911 embedded SQL 40, 1299–312 communication area 1301–3 host language variables 1303–4 ISO standard for 1311–12 retrieving data using 1304–9 simple statements 1299–301 using cursors 1310–11 encapsulation 44 in object-orientation 814–15, 857–8, 884 in SQL 949 Encina 63 encryption 551–2 end-users 23–4 access tools in data warehousing 1160–1 demands of 1155 enhanced applet security 569 enhanced entity–relationship (EER) modeling 371 aggregation 383–4 composition 384–5 specialization/generalization 372–83 attribute inheritance 374 1362 | Index enhanced entity–relationship (EER) modeling (continued) constraints 378–9 in Dreamhome case study 379–83 processes 374–7 superclass/subclass relationships 373–4 superclasses and subclasses 372–3 see also entity-relationship modeling enriched modeling in OODBMS 881 Enterprise Application Integration (EAI) 897 Enterprise JavaBeans (EJB) 894, 897, 1023, 1024–5 entity 15, 33, 44 in object-orientation 851 entity integrity 81, 82–3 in logical design 475 in SQL 166 entity occurrence 345 entity references in XML 1077 entity–relationship (ER) diagrams 15–16 in conceptual design 445 entity–relationship modeling 25, 44, 829 attributes 350–4 on relationships 355–6 entity types 343–5 strong and weak types 354–6 notation 1320–5 Chen notation 1320, 1321–3 Crow’s feet notation 1320, 1323–5 problems 364–7 relationship types 346–50 structural constraints 356–64 see also enhanced entity-relationship (EER) modeling entity–relationship models and DM models 1186 entity types 343–5 in conceptual design 443–4, 1326–7 in logical design 481, 484–5 in object-orientation 851 representation of 345 strong and weak 355–6 structural constraints 356–64 entry point objects in ObjectStore 929–30 equal objects 817 equijoin 96, 140, 641 error-correcting schemes 553 evaluation in data mining 1240 evaluation judgments 1126 Event-Condition-Action (ECA) model 263 event procedures 235, 240, 501 evolutionary prototyping in database design 304 EXCEPT in SQL 149 exception handlers in PL/SQL 258 exceptions in OMDG Object Model 906 exclusive lock 588 exclusive write 587 executive information system (EIS) tools 1161 EXISTS in SQL 146–7 explicit paging in OODBMS 868–9 expression criteria for data warehouse 1196 expressions in OQL 911–13 Extended FDM 853 Extended Relational Data Model (ERDM) 829 extendible hashing 1275 extends in object types 906 extensibility of OODBMS 881–2 eXtensible HTML (XHTML) 1087 eXtensible Mark-up Language see XML eXtensible Stylesheet Language (XSL) 1084 extension of database 38 extension of relation 74 extensions in SQL 115 extents in Object Model 906 in ObjectStore 929 in Oracle 247 external level 34, 35–6 external routine in SQL 954 external schemas 37 extraction tools in data warehousing 1165–6 extranet 996–7 fact constellation 1194 fact-finding techniques 288, 314 documentation examined 317–18 in Dreamhome case study 321–6 database design 340 database planning 326–31 requirements collection 332–40 system definition 331–2 facts collected 316–17 interviewing 317–19 observation 319 questionnaires 320–1 research 319–20 when used 315 fact table 1183, 1192 failed transaction 575 failure transparency of DDBMS 723–5 fan traps 364–5 in conceptual design 446 FastObjects by Poet 850 FDL 853 federated multidatabase systems 699 feedback loops in database system development 283 www.it-ebooks.info fields 74, 1269 in Oracle 270 fields size in Access 230–1 fifth-generation languages (5GLs) 109 Fifth Normal Form (5NF) 430–2 definition 431–2 file 74, 1269 file-based systems 7–14 application programs, proliferation of 14 data dependence 13 duplication of data 12–13 file-based approach 7–12 limitations 12–14 fixed queries 14 incompatible file formats 13–14 isolation of data 12 separation of data 12 file database 926 file manager 54–5 file organization 1268–92 selecting 1288–91 file organization in physical database design 501–15 choice of 506–8, 1331 in Oracle 513–14 file-server architecture 56–7 file-server solutions 227 find duplicates query 200, 212–14 find matched query 200, 212–14 find unmatched query 200, 214 –15 firewalls on World Wide Web 563–4 first-generation DBMS 25, 828 first-in-first-out (FIFO) strategy 608 first normal form 77 First Normal Form (1NF) 403–7 to BCNF 422–5 fixed-format questions 320 flat files in Oracle Warehouse Builder 1199 flat transaction 617 flushing buffers 607 FLWOR expressions 1105–11 force policy 609 force-writing 607 foreign keys 73, 79 in logical design 481–4, 486–7 form generators 42 format property in Access 231 forms 236–8 Fortran 40, 304 fourth-generation languages (4GLs) 42–3, 109 Fourth Normal Form (4NF) 428–30 definition 430 multi-valued dependency 428–9 fragmentation of DDBMS 689, 708, 709, 710–19 Index fragmentation transparency of DDBMS 719, 720 frames in Oracle 268, 270 free-format questions 320 free variables 104 frontend 20 FTP 995 full functional dependency 395–6 full outer join 98, 145 full table scan 648 functional data models (FDM) 850–5 functional dependencies 392–400 characteristics of 393–7 identifying 397–9 inference rules 416–18 minimal sets 418–19 and primary keys 399–400 functional query languages (FQLs) 852–5 funneling 63 fuzzy read 580 Galileo 869 garbage collection 835, 864, 869, 883 gateways 698 GDM 853 GemStone 834, 850, 869 general constraints 81, 83 in logical design 475–7 in Microsoft Office Access 234–6 in Oracle 255 in physical design 501, 1330 in SQL 167–8 General Inter-Object Protocol (GIOP) 891 generalization hierarchy 374 generalization see specialization/generalization generalized search tree (GiST) 978 Generalized Update Access Method (GUAM) 24 generic B-trees 977 generic object 873 genericity in object-orientation 823 geographical information systems (GIS) 807–8 global applications 689 global data model 290 and logical design 479–88, 1329–30 global optimization 778 global schedule in DDBMS 737 global system catalog (GSC) of DDBMS 707–8 global undo operation 607 granularity of data items 588, 602–5 hierarchy 603–4 multiple-granularity locking 605 graphical languages 109 Graphical User Interface (GUI) in Web-DBMS applications 1007 graphical user interfaces (GUIs) for Oracle Warehouse Builder 1197 graphics generators 43 grid files 977 Grosch’s Law 694 group 555 GROUP BY clause in ODS 917 in SQL 131–3 group query in SQL 131–4 grouping capabilities in SQL 1218–22 CUBE group function 1220–2 ROLLUP group function 1218–20 grouping columns in SQL 131 grouping operation 101, 102 groups in XML schema 1094–5 growing phase of transactions 589 hardware costs in DBMS 30 for DBMS 19–20 hash clusters 1287, 1290 hash field 1272 hash files 508, 1270, 1272–6 chained overflow 1274 dynamic hashing 1275–6 limitations of 1276 multiple hashing 1274–5 open addressing 1273 selection of 1288–9 unchained overflow 1273–4 hash function 1272 hash index 660 hash join 658–60 hash key 1272 HAVING clause in OQL 917 in SQL 133–4 heap files 508, 1270, 1288 height-balanced histograms in query optimization 677 heterogeneous DDBMS 697–9 heterogeneous services 775–6 hierarchical data model 46–7 hierarchical deadlock detection 742–3 Hierarchical Input Process Output (HIPO) 288 hierarchical structure 24 histograms in query optimization 677–8 homogeneous DDBMS 697–9 horizontal fragmentation in distributed query optimization 762–4 of DDBMS 708, 711–13 horizontal partitioning 529 host language 40 host language variables 1303–4 hybrid fragmentation of DDBMS 715 Hybrid OLAP (HOLAP) 1215–16 www.it-ebooks.info | 1363 hyperlink data type 229 Hypertext Mark-up Language (HTML) 1001–2 Hypertext Transfer Protocol (HTTP) 999–1001 IBM 25 idempotency 613, 638–9 idempotent operation 613 identical objects 817 identifying methods in OODBMS 835–6 ignore obsolete write rule 599 IME model property in Access 233 immediate update 613, 614 impedence mismatch in OODBMS 856, 882 in RDBMS 813 IN in SQL 137 IN/NOT IN in SQL 124–5 in-place pointer swizzling 865 inclusion polymorphism in objectorientation 823 inconsistent analysis problem 577, 579–80, 591 inconsistent state of database 574 incorrect locking schedule 588–9 index nested loop join 657–8 index-only plan 510 indexed clusters 1286–7 indexed property in Access 232 Indexed Sequential Access Method (ISAM) 227, 508, 1289 indexed sequential files 1278–9 indexes 1277–86 concurrency control with 593 in Oracle 245, 513–14 in physical design 501–15 choice of 508–14, 1331 specifying 508–9 secondary 508 choice of 509–10 removing 511 in SQL creating 175–6 removing 176 types 1277–8 updating statistics 511 indirect swizzling 865 indirection mechanism 1031 information hiding in object-orientation 814 Information Management System (IMS) 24 Information Resource Dictionary System (IRDS) 49 information system, defined 282 information systems lifecycle 282–3 Informix 25 1364 | Index inheritance in EER model 374 in ODMG Object Model 906 in object-orientation 820–2, 852, 858 in Postgres 944–5 inner join in QBE 205 inner SELECT in SQL 134 input mask property in Access 231 INSERT in SQL 117, 150–2 insertion anomalies 391–2 instance method invocation 955–6 instance methods in SQL 954 instance recovery in Oracle 625 instance variables 815, 818 instances 37–8 Integrated-CASE tools 307 Integrated Data Store (IDS) 24 integration complexity of in data warehousing 1156 of DDBMS 695 integrators for Oracle Warehouse Builder 1197 integrity constraints in data model 44 in logical design 474–8, 488, 1329 in RDBMS 81–3, 810 and security 551 integrity control of DDBMS 696, 757–8 in SQL 164–8 domain constraints 164–5 entity integrity 166 general constraints 167–8 immediate and deferred constraints 189 referential integrity 166–7 required data 164 Integrity Enhancement Feature (IEF) of SQL 164–8 integrity rules 81, 860 for RDBMS 1295 integrity services 51–2 Intelligent Database Machine 71 intension of database 38 intension of relation 74 intention exclusive (IX) lock 605 intention lock 605 intention shared (IS) lock 605 interactive and dynamic web sites 808 Interactive Graphics Retrieval System (INGRES) 71, 943 interactive language 40 Interbase database system 25 interesting orders 670 Interface Definition Language (IDL) 891–982 interface repository 982 interfaces in Object Model 906 of object type 906 for Oracle Warehouse Builder 1197 interleaved transactions 577 internal level 36–7 internal mapping 37 internal schemas 37 International Organization for Standardization (ISO) 49, 71, 700 Internet 994–8 Internet Engineering Task Force (IETF) 566 Internet Inter-Object Protocol (IIOP) 891 interoperability of DDBMS 698 intersection 93, 102 operations in relational algebra 642 of tables in SQL 147, 148–9 IPL 854 irreducibility of candidate key 78 IS-A hierarchy 374 IS-A relationship 820 isolation levels in SQL 189 isolation of transaction 576, 758 Itasca 873 Iterative Improvement 672 iterator 668 J2EE 1023, 1024 Jasmine Object Database 850 Java 40, 304, 918, 1021– 43 architecture 1021–2 container-managed persistence (CMP) 1031–5 Java Data Objects 1035–40 Java platform 1023 Java Data Objects 889, 1035–40 persistent classes, creating 1037–8 query language 1039–40 reachability-based persistence 1038–9 Java OLAP API 1228–9 Java security bytecode verifier 568 class loader 567–8 enhanced applet security 569 security manager 568–9 Java Server Pages 1041–2 Java Servlets 1040–1 Java Virtual Machine (JVM) 1021 Java Web Services 1042–3 JavaScript 1012 JDataStore database system 25 JDBC 1025–31 connections 1028–9 with embedded SQL 1030 SQL conformance 1029–30 JDOQL 1039–40 Jet Engine 227 join dependency 432 www.it-ebooks.info join indexes 1284–6 join operations 95–9 computing 143 costs 654–61 cardinality of 655–61 estimates 661 sorting 141 join-transaction 620 journaling 550, 610 JScript 1012 Just-in-Time information 1206 K-D-B Trees 977 Kerberos 565 key constraints in XML Schema 1096–8 keys 352– in conceptual design 451–2 keys in Object Model 906 labels 1069 languages 39–43 DDL 40 DML 40–2 4GLs 42–3 large objects in SQL 971–2 latches 593 lazy swizzling 865 leaf node 1280 least recently used (LRU) strategy 608 left deep trees 666 enumerating 669–71 left outer join 98, 102, 144 legacy systems 30 LIFOO 854 Lightweight Object REpository (Lore) 1069–73 DataGuides 1071–3 LIKE/NOT LIKE in SQL 125–6 LIKE operator 202 linear 2PC 751 linear search 1270 linear trees in query optimization 666–7 link analysis in data mining 1237–8 list-hash partitioning 530 list partitioning 530 List Processing Task Force 24 livelock 593 load balancing 63 load manager in data warehousing 1158 local applications 689 local area networks (LANs) 56–7, 61, 700 local data model 290 local DBMS components of DDBMS 707 local mapping transparency of DDBMS 719 local optimization 778 locality of reference 709 location transparency of DDBMS 719 Index lock-coupling 593 lock downgrade 588 lock manager 576 lock timeouts 595 lock upgrade 588 locking methods 587–94 in OODBMS 884 in Oracle 624 in ObjectStore 923 locking protocols in DDBMS 738–40 log file 610–11 logical data independence 39, 815 logical database design 294, 437, 439 and Data Flow Diagrams 478–9 methodology 1328–30 data models, building 462–3 future growth 490 integrity constraints 474–8, 1329 merge local into global model 479–90, 1330 relations, derive 463–72 relations, validate 473–4 user review 478–9 overview 440–1 phases 294 and physical design 495 logical database designer 22 logical records 37, 1269 logically related data 11–12 long-duration projects 1156 long-duration transactions 616, 871, 882 lookup data type 229 lookup table 524–5 loosely coupled architecture of DDBMS 705 Lorel (Lore language) 1069–73 lossless-join data redundancy 392 lossless-join dependency 430–1 lossless-join property 392 lost update problem 577, 578, 590 Lower-CASE tools 307 macros in Microsoft Office Access 239–41 major sort key in SQL 128 make-table query 215–17 Mandatory Access Control 548 mandatory access control in SQL 189–90 mandatory participation constraint 363, 378, 468 manipulative part of data model 44 many-to-many relationships 359–61 in logical design 469–70 multiplicity 360 in OODBMS 833 representation of 360–1 see also one-to-many relationships; one-to-one relationships map method in Oracle 979 mappings in ANSI-SPARC architecture 37–8 marshaling 868 massively parallel processing (MPP) 693 master site 783, 784, 795 master/slave ownership 784, 785–6 materialization 665 mathematical relations in RDBMS 75 MAX function in SQL 129, 131 media failures 606 member method in Oracle 979 memo data type 229 message digest algorithm on World Wide Web 564 messages in object-orientation 818–19 Meta-Object Facility (MOF) 894–5 metaclasses 820 metadata 15, 40, 48 in data warehousing 1169–70 architecture 1159–60 integration 1202 synchronizing 1170 in Object Model 907 Oracle9i database, OLAP in 1226 methods 818, 979–81 metropolitan area network (MAN) 700 Microsoft Office Access advanced queries 208–15 architecture 227–8 forms 236–8 general constraints 234–6, 501 macros 239–41 multi-user support 227–8 object dependencies 242 objects in 226 queries 199–201 referential integrity 233–4 relationships 233–4 reports 238–9 security in 555–8 table definition 228–33 creating 228–33 data types 229 Microsoft Open Database Connectivity (ODBC) 226 Microsoft SQL Server Desktop Engine (MSDE) 227 Microsoft Transaction Server (MTS) 897 Microsoft Visual Basic for Applications (VBA) 226, 234, 501 Microsoft Web Platform 1043–55 active server pages 1046 ActiveX data objects 1047–8 component object model 1044 distributed component object model 1044 Microsoft.NET 1050–4 ADO.NET 1052–4 www.it-ebooks.info | 1365 common language runtime 1051–2 NET framework class library 1052 object linking and embedding 1043–4 page generation 1054–5 remote data services 1049 universal data access 1045–6 web services 1054 web solution platform 1044 middleware 1027, 1215 migrating rows in views 183 MIN function in SQL 129, 131 mission objectives in database design 286 in Dreamhome case study 327–31 mission statement in database design 286 in Dreamhome case study 326–7 mixed fragmentation of DDBMS 711, 715–17 mixed transactions 301 mobile databases 792–4 modeling in data mining 1240 modification anomalies 392 modular growth of DDBMS 695 modularization in OODBMS 814 modules 53 in ODMG Object Model 908 multi-dimensional data, representation of 1209–11 Multi-dimensional OLAP (MOLAP) 1214 –15 multi-row queries in SQL 1306–9 multi-table queries in QBE 204 –7 in SQL 139–45 multi-table select query in QBE 205 multi-valued attributes 352 in conceptual design 448 in logical design 471–2 multi-valued dependency (MVD) 429 multidatabase systems 698–9 multilevel indexes 1280 multilevel relations 549–50 multilevel transaction model 619–20 multimedia systems 806–7 multiple-column ordering in SQL 128–9 multiple-copy consistency problem 737 multiple-granularity locking 605 multiple inheritance 374, 820 multiplicity constraints 81, 356 cardinality and participation 362–4 for complex relationships 361–2 in conceptual design 446 determining many-to-many relationships 360 one-to-many relationships 359 one-to-one relationships 357–8 in logical design 475 1366 | Index Multipurpose Internet Mail Extensions (MIME) 1000 MULTISET collection type in SQL 963–5 multiversion concurrency control protocol 871 multiversion read consistency protocol (Oracle) 622 multiversion timestamp ordering 600–1 mutator functions in SQL 949 n-ary relationships, mapping 921 naïve users 23 name server 721 named query 911 Namespaces 1083 naming transparency of DDBMS 721–2 Napier88 869 native XML database (NXD) 1129, 1137–9 natural join 96–7, 102 in QBE 205 natural physical disasters 606 navigational access in RDBMS 814 navigational approach to database processing 457 nested loop join 656–8 nested queries in SQL 134, 137 nested transaction model 616–18 NetBios protocol 702 network data model 46 network DBMS 24 network management systems 806 network partitioning in DDBMS 756–8 integrity 757–8 updates 756–7 network schema 24 networking in DDBMS 699–703 communication time 703 protocols 701–2 neural clustering 1237 neural induction 1235–6 NEW expression 949–50 no-force policy 609 node marking 864 nodes 46 non-blocking protocols 746 non-CGI gateways 1020 non-clustered tables 1286–7 non-clustering index 647, 651 non-conflict serializable schedule 582–3 non-embedded language 40 non-linear trees in query optimization 666 non-procedural DML 41–2 non-volatile storage 1268 nondisjoint constraints in EER model 378, 468 nonrepeatable read 580 nonrepeatable read in SQL 188 nonserial schedule 580 normalization and data redundancy 390–2 and database design 389–90 and deletion anomalies 392 first normal form 403–7 functional dependencies 392–400 characteristics of 393–7 identifying 397–9 inference rules 416–18 minimal sets 418–19 and primary keys 399–400 and insertion anomalies 391–2 and modification anomalies 392 process of 401–3 purpose 388–9 in query decomposition 636 second normal form 407–8 definition of 411–12 third normal form 408–11 definition of 411–12 up to BCNF 419–28 in XML Query Languages 1121–5 normalized relations 77 North American Aviation 24 NOT EXISTS in SQL 146–7 NULL/IS NOT NULL in SQL 126 null search in SQL 122, 126 nulls 81–2 number data type 229 numeric data in SQL approximate 161 datetime 161–2 exact 160–3 interval 162 scalar operators 162–3 object adapter 894 object-based data models 44–5 Object Data Management Group (ODMG) 850, 897–900 language bindings 918–20 Object Data Management Systems (ODMSs) 899 Object Data Standard ODMG 3.0 (1999) 897–921 Object Definition Language (ODL) 908–10 object diagrams in UML 837–8 Object Exchange Model (OEM) 1068–9 object expressions 912 object faulting 861 Object Identifier (OID) 816–17, 831, 861, 900–1 in Oracle 981 object identity 816–18, 849, 857, 987 in Postgres 946 in SQL 956–7 www.it-ebooks.info Object Interchange Format (OIF) 917–18 Object Management Group (OMG) 836, 889–97 Object Manipulation Language (OML) 918–19 object model 890, 900–8 atomic objects 904–5 built-in collections 902–4 exceptions 906 extents and keys 906 identifiers and names 900–1 lifetimes 901–2 literals 902 object structure 900 operations 906 types, classes, interfaces and inheritance 906 Object Modeling Technique (OMT) 836 Object-Oriented Data Model (OODM) 829, 830–1, 849 Object-Oriented database design 830–6 analysis with UML 836–44 UML diagrams 837–42 usage of UML 842–4 behavioral design 834–6 mapping conceptual to logical design 920–1 OODM and conceptual data modeling 830–1 referential integrity 833–4 relationships 831–3 Object-Oriented Database (OODB) 849 Object-Oriented DBMS (OODBMS) 26, 803 abstraction 814 advantages 881–3 architecture 876–8 client/server 876–7 model-driven 897 storage and execution 877–8 benchmarking 878–81 classes in 819–20, 858, 906 attributes 820 methods 820 complex objects 824–5 concepts 814–25 definition of OODBMS 849–50 development strategies 859–60 disadvantages 883–5 dynamic binding 824 encapsulation 814–15 functional data models 850–5 entities 851 functional query languages 852–5 inheritance and path expressions 852 relationships 851–2 information hiding 814 inheritance 820–2 Index methods 818–19 object identity 816–18 and ORDBMS 986–7 overloading 823 overriding 822–3 persistent programming languages 855–7 polymorphism 823–4 subclasses 820 superclasses 820 transactions in 871 versions 872–3 Object-Oriented DBMS (OODBMS) Manifesto 857–9 Object-Oriented Software Engineering (OOSE) 836 object privileges in Oracle 560 Object Query Language (OQL) 911–17, 920 expressions 911–13 queries 913–17 object referencing 864 Object-Relational Data Model (ORDM) 829 Object-Relational Database Systems (ORDBMS) 26, 803, 936–9 advantages of 938–9 disadvantages of 939 and OODBMS 986–7 object-relational mapping 1131 Object Request broker (ORB) 890–1 object server 876 object services 891, 982 object tables, manipulating in Oracle 984–5 object-to-database mappings (ODMs) 899 object types in Oracle 978–9 object version 872 object views in Oracle 985–6 Objectivity/DB 834, 850 objects 815 accessing in OODBMS 865–7 in Microsoft Office Access 226 object dependencies 242 in Oracle 244–5 ObjectStore 834, 850, 921–32 application, building 924–6 architecture 921–4 data definition 926–9 data manipulation 929–32 databases 925–6 queries 931–2 ObjectStore server 922 observer functions in SQL 949 office information systems (OIS) 806–7 offline non-volatile storage 606 OLE object data type 229 on-the-fly processing 665 one-to-many relationships 358–9 in logical design 465 multiplicity 359 in OODBMS 832 representation of 359 see also many-to-many relationships one-to-one relationships 357–8 in logical design 465–7 multiplicity 357–8 in OODBMS 831–2 representation of 358 Online Analytical Processing (OLAP) 782, 1205–6 applications 1206–8 complex calculations 1208 multi-dimensional views of data 1207–8 time intelligence 1208 benchmarks 1206 benefits 1208 in Oracle 1224–30 SQL standard, extensions to 1217–24 elementary operators 1222–4 grouping capabilities 1218–22 tools 1211–17 Codd’s rules 1211–13 desktop OLAP 1216–17 hybrid OLAP 1215–16 multi-dimensional OLAP 1214–15 relational OLAP 1215 Online Analytical Processing (OLAP) tools in data warehousing 1161 Online Transaction Processing (OLTP) 62, 782, 879, 1205 and data warehousing 1153–4, 1188 Ontos 834 OO1 benchmark 880 OO7 benchmark 880–1 open database access 698 Open Database Connectivity (ODBC) 1045–6, 1313–18 architecture 1314–15 conformance 1315–18 open-ended questions 318 open nested transaction 619 Open Systems Interconnection (OSI) model 701 operational data in data warehousing 1156–7 operational data store in data warehousing 1157–8 operator declarations in SQL 948 optimistic concurrency control protocol 601–2 optimistic protocols in DDBMS 758 optional elements in SQL 117 optional participation constraint 363, 378, 468 optional repetition in SQL 117 www.it-ebooks.info | 1367 Or operator 202 Oracle 25, 62, 71 architecture 245–52 logical 246–8 physical 248–52 concurrency control and recovery in 622–6 backup and recovery 625–6 deadlock detection 625 isolation levels 623 multiversion read consistency 623–4 data mining in 1242–4 applications 1243 capabilities 1242–3 environment 1243–4 prediction and insights 1243 data warehousing using 1175–8 analytical functions 1176 bitmapped indexes 1177 join methods 1177 resource management 1177–8 SQL optimizer 1177 summary management 1176 database replication in 794–8 conflict resolution 798 groups 795 multimaster replication 798 refresh groups 795–6 refresh types 796 sites 795 snapshot logs 797 snapshots 796–7 types of replication 795 updateable snapshots 797–8 datafiles in 248 DDBMS in 772–8 connectivity 772–3 database links 773–4 global names 773 heterogeneous databases 775–6 referential integrity 775 transactions 774 file organizations and indexes in 513–14 functions 261–2 general constraint definition 255 internet application server 1056–62 BC4J 1058–9 business intelligence 1061 caching services 1061 communication services 1057 developer’s kits 1061–2 OC4J 1058 Portal 1060 presentation services 1059 Toplink 1060 Wireless 1060–1 XML support 1059–60 internet platform 1055–62 1368 | Index Oracle (continued) object-oriented extensions in 978–86 methods 979–81 object tables, manipulating 984–5 object views 985–6 privileges 986 user-defined data types 978–83 objects in 244–5 OLAP in 1224–30 business intelligence applications 1225 environment 1225 Oracle9i database 1226–8 PL/SQL 255–67 assignments 257 control 258 cursors 259–61 declarations 257 exceptions 258–9 packages 245, 262 stored procedures 261–2 subprograms 261–2 triggers 245, 263–7 processes 250–1 query optimization in 673–9 cost-based 674 hints 675–6 histograms 677–8 rule-based 673–4 statistics 675 stored execution plans 676–7 viewing with execution plan 678–9 security in 558–61 privileges 559–61 roles 561 table definition 252–5 creating table 254–5 sequences 252–3 XML in 1139–42 Oracle Advanced Replication 794 Oracle Enterprise Manager 1229 Oracle instance 248–51 Oracle Internet Developer Suite 267–71 Oracle Warehouse Builder components 1197–8 using 1198–202 Oracle9i 242–3, 1175–8 Oracle9i database OLAP in 1226–8 metadata 1226 security 1226 Oracle OLAP in 1228–9 performance 1229 system management 1229 system requirements 1230 Oracle9i Forms Services 267 Oracle9i Reports Developer 268–71 Oracle10g 271–6 ORDER BY clause in SQL 127–9 order method in Oracle 979 order of a tree 1281 ordered (sequential) files 1270, 1271–2 ordering field 1271 ordering key 1271 orthogonal persistence 869–71 outer join 97–8, 102, 143– overflow file 1272 overloading in object-orientation 823 overriding in object-orientation 822–3 owner entity type 356 ownership in ObjectStore 923 in SQL 190 P/ FDM 854 packages in Oracle 245, 262 in SQL 115 packet filters 563 page 1269 page server 877 parallel DBMS 691–3 parameter in Oracle 270 parameter query 200, 208–9 parametric polymorphism in objectorientation 823 parent entity type 356 parent node 1280 parent objects 1069 parity schemes 553 partial dependency 396 partial undo operation 607 partially committed transaction 575 participants in DDBMS transactions 746 participation constraints in EER model 378–9 in ER model 362–4 in logical design 468–9 partitioning in controlled redundancy 529–32 advantages 530–1 in DDBMS 745 Pascal 40, 304 passwords in Microsoft Office Access 555 path expressions 1103–4 path expressions in OODBMS 852 pattern match search in SQL 122, 125–6 PDM 854 peak load and physical database design 502 people in DBMS 21 performance of DBMS 30 of DDBMS 694 improving, monitoring for 532–6 www.it-ebooks.info and system resources 533–5 of OODBMS 883 performance of Web-DBMS applications 1010 performance transparency of DDBMS 725–8 Perl 1013–14 permissions 555 persistence in DBMS 867–71 independence 869 schemes 868–9 Persistent Application System (PAS) 857 persistent objects 867, 902 in ObjectStore 927 persistent programming languages 854–7 persistent stored modules in SQL 966–7 pessimistic protocols in DDBMS 758 Peterlee Relational Test Vehicle 71 PFL 853 phantom read 580 phantom read in SQL 188 PHP 1014 physical data independence 39 physical data models 47 physical database design 294–5, 437, 439 and logical design 495 methodology base relations, design 498–9, 1330 data model, translate 497–501 derived data, design 499–501, 1330 disk space requirements 514–15, 1331 file organization and indexes 501–15, 1331 general constraints 501, 1330 security 516 transactions, analyze 502–6, 1331 user views 515–16 overview 441, 496–7 phases 294–5 physical database designer 23 physical operators for query optimization 667–8 physical pragmas 918 physical record 1269 pickling 868 pinned data page 608–9 pipelining in query optimization 665–6 PL/SQL 255–67 assignments 257 control 258 cursors 259–61 declarations 257 exceptions 258–9 functions 261–2 packages 245, 262 stored procedures 261–2 subprograms 261–2 triggers 245, 263–7 Index platform independence in Web-DBMS applications 1007 Platform Independent Model (PIM) 897 Platform Specific Model (PSM) 897 point-in-time recovery in Oracle 625 point-to-point network 700 pointer swizzling techniques 861, 862–5 classification of 864–5 hardware-based schemes 864 no swizzling 863–4 polyinstantiation 549–50 polymorphism in object-orientation 823–4 in SQL 955–6 Postgres 943–6 abstract data types 943–4 object identity 946 objectives 943 relations and inheritance 944–5 pre-commit 753 precedence graph 582, 758 predicate calculus 103 predictive modeling in data mining 1235–6 classification 1235–6 value prediction 1236 Pretty Good Privacy (PGP) 552 primary index 1277 primary key 73, 79, 353 in conceptual design 451–2, 1327 and functional dependencies 399–400 primary storage 606, 1268 private methods 835 privileges and security 547 in Oracle 559–61 in SQL 190–1, 953 granting 191–2 revoking 192–4 procedural access in DDBMS 775 procedural DML 41 procedures in DBMS 20–1 productivity 28 program-data dependence 13 program-data independence 15 Program Global area in Oracle 250 Project-Join Normal Form (PJNF) 431 projection 91, 102 in relational algebra 640–1, 662–4 *_Property proposition 103 protocols in DDBMS 701–2 prototyping in database design 285, 303–4 proxy servers on World Wide Web 563, 564 PS-algol 869 public key encryption 552 public methods 835 | 1369 publish-and-subscribe mechanism 785, 1164 Python 304 query processor 54 query restructuring 639 query tools in data warehousing 1160 quad Trees 977 quaternary relationship 348–9 queries in ObjectStore 931–2 in OQL 913–17 aggregates 916 DEFINE 915 extents 914 GROUP BY and HAVING 917 structures 915–16 in Oracle 270 in SQL 959–60 Query-By-Example (QBE) 42, 109 action queries 215–23 advanced queries 208–15 building select queries 201–8 criteria 202–4 multi-table 204–7 totals, calculating 207–8 query decomposition 635–9 analysis 635–6 normalization 636 semantic analysis 636–8 simplification 638–9 query definition expressions 911 query evaluation plan 667 Query Execution Plan (QEP) 511 query language 16, 41 in OODBMS 882 query manager in data warehousing 1158–9 query optimization 632–5 cost estimations 646–65 distributed see distributed query optimization dynamic versus static 634–5 execution strategies 665–73 alternative approaches 672 distributed optimization 672–3 left deep trees, enumerating 669–71 linear trees 666–7 physical operators for 667–8 pipelining 665–6 search space, reducing 668–9 semantic optimization 671 heuristical approach to 639–45 strategies 645 transformation rules 640–4 in OODBMS 884 in Oracle 673–9 query processing 631–5 new index types 977–8 in OODBMS 859 optimization 974–8 R* algorithm 768–9 R-trees 977 random files 1272 range-hash partitioning 530 range partitioning 530 range search in SQL 122, 124 ranking functions in OLAP 1222–3 raw file system database 926 R:Base database system 25 reachability-based persistence 868 reachability tree 869 read phase of optimistic concurrency control protocol 602 read_timestamp 597 real world entities in RDBMSs 809 record-based data models 45–7 records 11, 46, 74, 1269 recoverability 587 recoverable schedule 587 recovery 550–1, 605–15 in DDBMS 615, 744 –58 network partitioning 756–8 three-phase commit 752–6 two-phase commit 746–52 facilities for 609–12 need for 606 in OODBMS 859 in Oracle 622–6 techniques for 612–15 transactions and 607–9 recovery manager in Oracle 625 recovery services 29, 50–1 recursion in SQL 972–3 recursive closure in RDBMS 812–13 recursive queries in RDBMS 811–13 recursive relationship 349–50 redo log files in Oracle 248 redo operation 607, 608, 612 redundancy in conceptual design 453–6, 1327 Redundant Array of Independent Disks (RIAD) 552–5 REF data table in Oracle 981–2 reference attribute 815 reference types in SQL 956–7 references in XML schema 1093–4 referential integrity 81, 83 in DDBMS 775 in logical design 475–7 in Microsoft Office Access 233–4 in Oracle 264–7 in SQL 166–7 referential sharing in OODBMS 825 relation 69, 71, 72 www.it-ebooks.info 1370 | Index relation schema 76 relational algebra 89–102 aggregation operations 100–1, 102 costs 646–65 database statistics 646–7 join operation 654–61 projection operation 662–4 selection operation 647–54 division operation 99–100 grouping operation 101, 102 join operations 95–9 set operations 92–5 costs 664 transformation rules 640–4 unary operations 89–91 relational algebra tree 636, 761 relational calculus 103–9 domain 107–9 tuple 103–7 relational data model 45–6 relational database schema 76 relational databases 25 Relational DBMS (RDBMS) 69 evaluation of 1293–7 data independence rules 1296–7 data manipulation rules 1295–6 integrity rules 1295 structural rules 1294–5 history 70–1 integrity constraints 81–3 objects, storing 825–8 accessing objects 827–8 mapping classes to relations 826–7 terminology 71–81 data structure 72–4 database relations 76 mathematical relations 75 relational keys 78–9 relations, properties 77–8 schemas 79–81 views 83–5 weaknesses 809–14 see also distributed relational DBMS; distributed DBMS relational mapping 1130 Relational OLAP (ROLAP) 1215 relationally complete languages 88 relations in logical design 481, 484–6 derive 463–72, 1328–9 validation of 473–4, 1329 in Postgres 944–5 relationship occurrence 346 relationship types 346–50 in conceptual design 445–7, 1327 representation of 347 relationships 15, 33, 44 attributes on 355–6 representation of 356 in Microsoft Office Access 233–4 of objects 905 in ObjectStore 927–9 in OODBMS 851–2 superclass/subclass in EER model 373–4 released versions 872 reliability 694, 860 reliability of Web-DBMS applications 1008–9 Remote Data Services (RDS) 1049–50 Remote Method Invocation (RMI) 897 remote procedure calls (RPCs) 891 repeated inheritance 822 repeating frames in Oracle 270 replication group 783 replication object 783 replication site 783 replication tools in data warehousing 1166 replication transparency of DDBMS 720–1 report generators 43 reporting tools in data warehousing 1160 reports in Microsoft Office Access 238–9 repository for Oracle Warehouse Builder 1197 required data in logical design 475 not captured 1155 required elements in SQL 117 required property in Access 232 requirements conflicting, balancing 28 prototyping in database design 304 requirements specification 285, 288–91 centralized approach to 289 in Dreamhome case study 332–40 view integration approach to 289–91 reserved words in SQL 116 Resident Object Table (ROT) 863 Resource Description Framework (RDF) 1098–100 data model 1099 schema 1100 resource managers 62 restriction 90–1 retrieval of data 48 retrieval transactions 301 retrieve all rows in SQL 119–22 retrieve columns in SQL 120 right deep trees 666 right outer join 98, 145 rigorous 2PL 592 Rockwell International 24 role names 349–50 roles in Oracle 561 rollback operation 607 rollback segments in Oracle 623 ROLLBACK statement 188 www.it-ebooks.info rolled back transaction 574, 596 cascading rollback 592 rollforward 607 ROLLUP group function 1218–20 root node 1280 roots in ObjectStore 929–30 routine declarations in SQL 948 routing 700 row-level triggers 263 row selection in SQL 122–6 row subqueries IN SQL 134 row types in SQL 947–8 RSA encryption 552 rule-based query optimization 673–4 runtime for Oracle Warehouse Builder 1197 sabotage 606 safe expressions 109 sagas 618–19 savepoints 618 scalability of DBMS 860 of Web-DBMS applications 1009–10 scalable deployment in Web-DBMS applications 1008 scalar data types in SQL 159–60 scalar subqueries IN SQL 134 schedule 580 scheduler 576 schema invariants 873 schema-less data 1066 schema segments in ObjectStore 926 schemas 20, 34 in ANSI-SPARC architecture 37–8 changes in RDBMS 813 evolution in OODBMS 873–6, 882 in Oracle 247 in SQL 169 scripting languages 1011–14 SDD-1 algorithm 769–71 search conditions in SQL 122–6 search space in query optimization 665 reducing 668–9 second-generation DBMS 25, 829 Second Normal Form (2NF) 407–8 to BCNF 425 definition of 411–12 secondary indexes 508, 1277, 1279 choice of 509–10 secondary storage 606, 1268 Secure Electronic Transactions 566 secure sockets layer 565–6 Secure Transaction Technology 566 security 51, 541, 542–5 countermeasures 545–55 access controls 547–50 authentication 547 Index authorization 546–7 backup and recovery 550–1 encryption 551–2 integrity 551 RAID 552–5 views 550 of DDBMS 696 improved 27 in Java bytecode verifier 568 class loader 567–8 enhanced applet security 569 security manager 568–9 lack of in OODBMS 885 in Microsoft Office Access see Microsoft Office Access of OODBMS 860 in Oracle see Oracle Oracle9i database, OLAP in 1226 in physical design 516, 1331 in SQL 185 threats to 543–5 and views 18 of Web-DBMS applications 1009 on Web see World Wide Web security classes 548 segments 46 in ObjectStore 926 in Oracle 247 SELECT in SQL 117, 118–19 select query 199, 200 selection 90–1, 102 costs of 647–54 cardinality of 648–54 estimation for 653–4 selective inheritance 822 self-describing data 1066 semantic analysis in query decomposition 636–8 semantic data modeling 25, 810, 8219 semantic net 346 semantic overloading in RDBMS 809–10 semantic query optimization 671 semijoin 98–9, 102, 766 semistructured data 1066–73 Lore and Lorel 1069–73 object exchange model 1068–9 SEQUEL 109 sequence diagrams in UML 839, 841 sequences in Oracle 245 sequential (ordered) files 1270, 1271–2 sequential pattern discovery in link analysis 1237 serial schedule 580 serializability of transactions 580–6 conflict, testing for 582–3 distributed 737 view serializability 583–6 testing for 584–6 serialization 868 serialization graph 582 server 57 server processes in Oracle 250 set difference 92–3, 102 set membership search in SQL 122, 124–5 set operations 92–5 sets 46 shadow paging 613, 614 –15 shallow equality of objects 818 shared and intention exclusive (SIX) lock 605 shared disk 693 shared lock 588 shared memory 693 shared nothing 693 shared read 587 shared subclass 374 shredding 1130 shrinking phase of transactions 589 similar time sequence discovery in link analysis 1237 Simple API for XML (SAX) 1082–3 simple attribute 351 in conceptual design 447–8 in OODBMS 815 simple join 140–1 Simple Object Office Access Protocol (SOAP) 897, 1087–8 Simple Security Property 548 simplification in query decomposition 638–9 Simulated Annealing 672 single-column ordering in SQL 127–8 single inheritance 820 single row queries in SQL 1305–6 single-valued attribute 351–2 in conceptual design 448 size of DBMS 30 skeletons 893 slave site 783, 784 slicing and dicing of data in OLAP 1211 slots in hash files 1273 Smalltalk 918 smart tags property in Access 233 snapshots in QBE 207 in replication 784, 790, 795, 796–8 snowflake schema 1184–5 software development lifecycle 282 software for DBMS 20 sophisticated users 24 sort–merge join 658 source systems 1155 sparse index 1277 specialization/generalization in EER 372–83 www.it-ebooks.info | 1371 attribute inheritance 374 constraints 378–9 in Dreamhome case study 379–83 in OODBMS 820 processes 374–7 representation of 375–7 superclass/subclass relationships 373–4 superclasses and subclasses 372–3 specialization hierarchy 374 split-transaction 620 splitting in vertical fragmentation of DDBMS 715 SPX/IPX protocol 701–2 SQL analytical functions, OLAP in 1227 SQL/DS 25, 71 SQL identifiers 158–9 SQL-invoked function 954 SQL-invoked procedure 954 SQL-invoked routine 954 SQL query 200 SQLJ 1030–1 SQUARE 109 stable storage 606 stacked canvas in Oracle 268 standardization in Web-DBMS applications 1007 Standardized Generalized Mark-up Language (SGML) 1002 standards enforcements of 27–8 lack of in OODBMS 884 Standards Planning and Requirements Committee of ANSI (ANSI/SPARC) standby database in Oracle 626 star join 1183 star schema 1183 starflake schema 1185 starvation 597 state of database 38 state of object 44, 904 state of relation 74 statechart diagrams in UML 841–2 statement level isolation in Oracle 623 statement-level triggers 263 static embedded SQL 1312 static methods invocation of 893 in Oracle 979 in SQL 954 static query optimization 634–5 steal policy 609 stored execution plans in query optimization 676–7 stored functions 245 stored procedures 245 stream-based processing 665 strict 2PL 592 1372 | Index strong DataGuide 1072 strong entity type 355–6, 463–4 structural constraints on entity types 356–64 many-to-many relationships 359–61 one-to-many relationships 358–9 one-to-one relationships 357–8 structural part of data model 44 structural rules for RDBMS 1294–5 structure restrictions in SQL 186 Structured Analysis and Design (SAD) 288 structured complex objects 825 structured interviews 318 Structured Query Language (SQL) 16, 25, 42 data definition 168–76 data manipulation 117–54 data types 158–63 discretionary access control 189–94 granting privileges 191–2 revoking privileges 192–4 history of 114–15 importance of 116 integrity control 164–8 immediate and deferred constraints 189 1999 and 2003 specifications 946–73 collection types 961–5 large objects 971–2 persistent stored modules 966–7 polymorphism 955–6 querying data 959–60 recursion 972–3 reference types and object identity 956–7 row types 947–8 subtypes and supertypes 951–3 tables, creating 957–9 triggers 967–70 typed views 965–6 user-defined routines 953–5 user-defined types 948–51 objectives 113–14 OLAP extensions to 1217–24 elementary operators 1222–4 grouping capabilities 1218–22 terminology 116 transactions 187–9 views 176–87 writing commands 116–17 see also embedded SQL; PL/SQL stubs 893 subclasses in EER modeling 372–3, 453 in logical database design 467–9 relationships 373–4 in object-orientation 820 subforms 238 subordinate entity type 356 subqueries IN SQL 134–7 subschemas 24, 34 and security 550 subselect in SQL 134, 177 substitutability in SQL 952 subtransactions 617, 722 subtypes in MIME 1000 in SQL 951–3 SUM function in SQL 129, 130–1 summarized data in data warehousing 1159 summary management in Oracle 1226 superclasses in EER modeling 372–3, 453 in logical database design 467–9 relationships 372–3 in object-orientation 820 superkey 78 supertypes in SQL 951–3 supervised learning approach to predictive modeling 1235 surrogate key 1183 symmetric encryption 551 symmetric replication 787–8 synchronous replication 784 synonym pointer 1274 synonyms in hash files 1273 in Oracle 245 system catalog 15, 40, 48 system change number in Oracle 624 system crashes 606 system definition 285, 286 System Global area in Oracle 250 system privileges in Oracle 559 System R 71 system resources and performance 533–5 system security 516, 555 system specification in Dreamhome case study 337– 40 systems boundary in Dreamhome case study 331–2 tables 20, 69, 71 combining results in SQL 147–9 in Microsoft Office Access 228–33 creating using Design View 230–3 creating using SQL 228–9 in Oracle 244, 252–5 creating 254–5 sequences 252–3 in SQL creating 169–73, 957–9 definition, changing (ALTER) 173– removing (DROP) 174–5 tablespaces in Oracle 246–7 www.it-ebooks.info tagging 1001 TCP-B benchmark 879 TCP/IP transmission protocol 701 TCP-R benchmark 880 TCP-W benchmark 880 teleprocessing 56 ternary relationship 348 text boxes 237 text data type 229 Theta join 96, 102 Theta join operation in relational algebra 640–2 third-generation DBMS 26, 829 Third-Generation DBMS Manifesto 939– 42 Third Normal Form (3NF) 408–11 to BCNF 426 definition of 411–12 Thomas’s write rule 598–9 threats to database security 543–5 three-phase commit (3PC) 752–6 recovery protocols 755–6 termination protocols 754–5, 756 three-table join 141–2 tightly coupled architecture of DDBMS 705–6 timeouts 595 timestamp protocols in DDBMS 740 timestamping 597–600 top-down approach to database design 292, 389 totals query 200, 207 TPC_A benchmark 879 TPC_C benchmark 879 TPC_H benchmark 880 training set in predictive modeling 1235 transaction analysis form 506 transaction file 1272 transaction level isolation in Oracle 623 transaction management 573–3 distributed 735–6 transaction manager 576, 746 Transaction Processing Council 879 transaction processing monitors 62–3 transaction/relation cross-reference matrix 503 – transaction routing 62 transaction support in DBMS 49–50, 573–5 transaction transparency of DDBMS 722–5 transaction usage map in physical database design 504 –5 transactional updates 789–90 transactions advanced models 615–22 dynamic restructuring 620–1 multilevel model 619–20 Index nested model 616–18 sagas 618–19 workflow models 621–2 architecture for 576–7 classification of 724–5 concurrency control 577–605 deadlock 594–7 granularity 602–5 locking methods 587–94 multiversion timestamp ordering 600–1 need for 577–80 optimistic techniques 601–2 recoverability 587 serializability 580–6 timestamping 597–600 and denormalization 531 design 300–1 as logical units of work 573 in object model 907 in OODBMS 871 in Oracle 774 in physical design 502–6, 1331 data usage 505–6 frequency information 504–5 paths to relations 503–4 properties 575–6 in RDBMS 813 and recovery 607–9 serializability of 580–6 conflict, testing for 582–3 distributed 737 view serializability 583–6 testing for 584–6 in SQL 187–9 transform methods in OODBMS 835 transform-oriented languages 109 transformation rules in relational algebra 640–4 transformation tools in data warehousing 1165–6 transient objects 867, 902 transient versions 872 transitive closure in RDBMS 812–13 transitive dependency 396–7 transitive persistence 870 transparency of DDBMS 690, 719–28 distribution transparency 719–22 performance transparency 725–8 transaction transparency 722–5 transparent network access in Web-DBMS applications 1008 transparent SQL access in Oracle 775 tree induction 1235 tree structure 1280 triggers and denormalization 531 in Oracle 245, 263–7 in replication 790–1 in SQL 967–70 tuple relational calculus 103–7 expressions 105–7 safety of 106–7 formulae 105–7 tuple variables 103 tuples 69, 73–4 distributing 529 Tuxedo 63 two-phase commit (2PC) 746–52 communication topologies 751–2 election protocols 751 termination protocols 748–50 two-phase locking (2PL) 589–91 in DDBMS centralized 738 distributed 2PL 739–40 majority locking 740 primary copy 739 Two Phase Optimization 672 type hierarchy 374 type inheritance in Oracle 982 type model 982 typed views in SQL 965–6 types in Object Model 906 typespecs in ObjectStore 927 typing judgment 1126 unary operations 89–91 unary relationship 349 uncommitted dependency problem 577, 578–9, 590–1 undo operation 607, 608, 612 undone transaction 574 unfederated multidatabase systems 699 unicode compression property in Access 232–3 Unified Modeling Language (UML) 288, 894 OODBMS design with 836–44 UML diagrams 837–42 usage of UML 842–4 Uniform Resource Identifiers (URIs) 1002 Uniform Resource Locators (URL) 1002–4 Uniform Resource Names (URNs) 1002 unilateral abort 746 union 92, 102 of tables in SQL 147, 148 union operations in relational algebra 642 uniqueness of candidate key 78 Universal Discovery, Description and Integration (UDDI) 1088–91 universal object storage standards 899 Universe of Discourse (UoD) 44 University Accommodation Office case study 1255–8 www.it-ebooks.info | 1373 data requirements 1255–7 query transactions 1257–8 unnormalized form (UNF) 402, 403 unnormalized table 403 unordered (heap) files 1270, 1288 unpinned data page 609 unsafe expressions 107 unstructured complex objects 825 unstructured interviews 317 unsupervised learning approach to database segmentation 1236 update anomalies 391 update-anywhere ownership 784, 787–8 UPDATE in SQL 117, 152–3 update of data 48 restrictions in SQL 186 update query 217–20 update transactions 301 Upper-CASE tools 307 use case diagrams in UML 838–9, 840 user-accessible catalog 48–9 user-defined data types in Oracle 978–83 user-defined routines in SQL 953–5 user-defined types in SQL 948–51 user-defined words in SQL 116 user interface design 301–3 user-level security in Microsoft Office Access 555–8 user transactions in conceptual design 456–8, 1327 in logical design 474, 1329 user views in database planning 287 in Dreamhome case study 336–7 in physical design 515–16, 1331 users in Oracle 247 utility services 52 validation phase of optimistic concurrency control protocol 602 validation property in Access 232 validation rules 235–6 validation techniques in normalization 389 VB.net 304 VBScript 1012–13 Versant OODBMS 834, 850 version history 872 version management 872 versionable classes 873 versions 872–3 vertical fragmentation in distributed query optimization 764–5 of DDBMS 708, 713–15 vertical partitioning 529 view maintenance 187 view materialization 176, 186–7 view mechanism 18 1374 | Index view resolution 176, 180–1 view serializability 583–6 testing for 584–6 views 83–5 in DBMS 17–18 lack of in OODBMS 885 in Oracle 245 purpose of 84–5 and security 550 in SQL 176–87 advantages 185–6 WITH CHECK OPTION 183–4 creating 177–9 disadvantages 186 grouped and joined 179 horizontal 176–7 materialization 186–7 removing 179–80 resolution of 180–1 restrictions 181 updating 181–2 vertical 177 typed, in SQL 965–6 updating 85 virtual memory mapping architecture in ObjectStore 923–4 virtual relation 83 Visual Basic (VB) 40, 304 Visual FoxPro database system 25 volatile storage 606, 1268 wait-for graph (WFG) 595 warehouse manager in data warehousing 1158 weak entity type 356, 465 Web 998–1011 ActiveX security 569 integration with DBMS 1005–6 advantages of 1006–8 approaches to 1011 disadvantages of 1008–11 security on 562–9 digital certificates 564–5 digital signatures 564 firewalls 563–4 Java security 566–9 Kerberos 565 message digest algorithm 564 proxy servers 563 secure electronic transactions 566 secure sockets layer 565–6 server, extending 1020–1 services 1004–5 static and dynamic pages 1004 Web-based database solutions 228 Web data in Oracle Warehouse Builder 1199 Web services 1004–5 Web Services Description Language (WSDL) 1088 Web sites interactive and dynamic 808 well-formed formula 104 Wellmeadows Hospital case study 1260–7 data requirements 1260–6 transaction requirements 1266–7 wide area networks 61, 700 width-balanced histograms in query optimization 677 wildcard characters 202 windowing calculations in OLAP 1223–4 windows in Oracle 268 Windows NT 63 Wireless Application Protocol (WAP) 702 Wisconsin benchmarking 878–9 WITH CHECK OPTION in SQL 183–4 wizards in Office Access 226, 229 workflow ownership 784, 787 working versions 872 workload and physical database design 502 write fault 924 write phase of optimistic concurrency control protocol 602 write_timestamp 598 X/Open Distributed Transaction Processing 62 Model 758–61 XML 1073–82 advantages 1074–6 CDATA 1078 comments 1078 and databases 1128–39 schema independent representation 1131–2 storing in an attribute 1130 storing in shredded form 1130 www.it-ebooks.info declaration 1076 document type definitions 1078–82 elements 1076–7 entity references 1077 ordering 1078 related technologies 1082–91 schema 1091–100 and SQL 1132–7 mapping functions 1135–7 new data type 1132–4 XML Information Set 1114–15 XML Linking Language (XLink) 1086 XML Metadata Interchange (XMI) 895 XML Path Language (XPath) 1085 2.0 data model 1115–20 XML Pointer Language (XPointer) 1085–6 XML Query Languages 1100–28 formal semantics 1121–8 dynamic evaluation 1126–7 logical expressions 1127–8 normalization 1121–5 static type analysis 1125–6 information set 1114–15 Lore and Lorel, extending 1100–1 query working group 1101–3 XQuery 1103–14 XQuery 1.0 data model 1115–20 XML schema 1091–100 built-in types 1092 cardinality 1093 constraints 1096 groups 1094 –5 lists and unions 1095–6 new types 1094 references 1093–4 simple and complex types 1092–3 XML see eXtensible Mark-up Language (XML) XQuery 1103–14 built-in functions and user-defined functions 1111–12 1.0 data model 1115–20 FLWOR expressions 1105–11 path expressions 1103–4 types and sequence types 1112–14 XSL Transformations (XSLT) 1084 Yes/No data type 229 7KLVSDJHLQWHQWLRQDOO\OHIWEODQN www.it-ebooks.info ... Methodology – Physical Database Design for Relational Databases 494 Comparison of Logical and Physical Database Design 495 Overview of Physical Database Design Methodology 496 The Physical Database Design... Replication and Mobile Databases 780 Introduction to Database Replication Benefits of Database Replication Applications of Replication Basic Components of Database Replication Database Replication... Introduction to Databases Introduction Traditional File-Based Systems 1.2.1 File-Based Approach 1.2.2 Limitations of the File-Based Approach Database Approach 1.3.1 The Database 1.3.2 The Database Management

Ngày đăng: 27/03/2019, 09:37

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan