Formatted contents note |
1. Contents<br/>2. Introduction and conceptual modeling<br/>3. Databases and Database Users 3<br/>1.1 Introduction 4<br/>1.2 An Example 6<br/>1.3 Characteristics of the Database Approach 8<br/>1.4 Actors on the Scene 12<br/>1.5 Workers behind the Scene 14<br/>1.6 Advantages of Using the dbms Approach 15<br/>1.7 A Brief History of Database Applications 20<br/>1.8 When Not to Use a dbms 23<br/>1.9 Summary 23<br/>a. Review Questions 23<br/>b. Exercises 24<br/>c. Selected Bibliography 24<br/>4. Database System Concepts and Architecture 25<br/>a. 2.1 Data Models, Schemas, and Instances 26<br/>b. 2.2 Three-Schema Architecture and Data Independence 29<br/>c. 2.3 Database Languages and Interfaces 32<br/>d. 2.4 The Database System Environment 35<br/>e. 2.5 Centralized and Client/Server Architectures for dbmss 38<br/>f. 2.6 Classification of Database Management Systems 43<br/>g. 2.7 Summary 45<br/>h. Review Questions 46<br/>i. Exercises 46<br/>j. Selected Bibliography 47<br/>5. Data Modeling Using the Entity-Relationship Model 49<br/>a. 3.1 Using High-Level Conceptual Data Models for Database Design 50<br/>b. 3.2 An Example Database Application 52<br/>c. 3.3 Entity Types, Entity Sets, Attributes, and Keys 53<br/>d. 3.4 Relationship Types, Relationship Sets, Roles, and Structural Constraints 61<br/>e. 3.5 Weak Entity Types 68<br/>f. 3.6 Refining the er Design for the company Database 69<br/>g. 3.7 er Diagrams, Naming Conventions, and Design Issues 70<br/>h. 3.8 Notation for uml Class Diagrams 74<br/>i. 3.9 Summary 77<br/>j. Review Questions 78<br/>k. Exercises 78<br/>l. Selected Bibliography 83<br/>6. Enhanced Entity-Relationship and uml Modeling 85<br/>a. 4.1 Subclasses, Superclasses, and Inheritance 86<br/>b. 4.2 Specialization and Generalization 88<br/>c. 4.3 Constraints and Characteristics of Specialization and Generalization 91<br/>d. 4.4 Modeling of union Types Using Categories 98<br/>e. 4.5 An Example university eer Schema and Formal Definitions for the eer Model 101<br/>f. 4.6 Representing Specialization/Generalization and Inheritance in uml Class Diagrams 104<br/>g. 4.7 Relationship Types of Degree Higher Than Two 105<br/>h. 4.8 Data Abstraction, Knowledge Representation, and Ontology Concepts 110<br/>i. 4.9 Summary 115<br/>j. Review Questions 116<br/>k. Exercises 117<br/>l. Selected Bibliography 121<br/>7. Relational model: concepts, constraints, <br/>8. Languages, design, and programming<br/>9. The Relational Data Model and <br/>10. Relational Database Constraints 125<br/>a. 5.1 Relational Model Concepts 126<br/>b. 5.2 Relational Model Constraints and Relational Database Schemas 132<br/>c. 5.3 Update Operations and Dealing with Constraint Violations 140<br/>d. 5.4 Summary 143<br/>e. Review Questions 144<br/>f. Exercises 144<br/>g. Selected Bibliography 147<br/>11. The Relational Algebra and Relational Calculus 149<br/>a. 6.1 Unary Relational Operations: select and project 151<br/>b. 6.2 Relational Algebra Operations from Set Theory 155<br/>c. 6.3 Binary Relational Operations: join and division 158<br/>d. 6.4 Additional Relational Operations 165<br/>e. 6.5 Examples of Queries in Relational Algebra 171<br/>f. 6.6 The Tuple Relational Calculus 173<br/>g. 6.7 The Domain Relational Calculus 181<br/>h. 6.8 Summary 184<br/>i. Review Questions 185<br/>j. Exercises 186<br/>k. Selected Bibliography 189<br/>12. Relational Database Design by <br/>13. Er- and eer-to-Relational Mapping 191<br/>a. 7.1 Relational Database Design Using er-to-Relational Mapping 192<br/>b. 7.2 Mapping eer Model Constructs to Relations 199<br/>c. 7.3 Summary 203<br/>d. Review Questions 204<br/>e. Exercises 204<br/>f. Selected Bibliography 205<br/>14. Sql-99: Schema Definition, <br/>15. Basic Constraints, and Queries 207<br/>a. 8.1 sql Data Definition and Data Types 209<br/>b. 8.2 Specifying Basic Constraints in sql 213<br/>c. 8.3 Schema Change Statements in sql 217<br/>d. 8.4 Basic Queries in sql 218<br/>e. 8.5 More Complex sql Queries 229<br/>f. 8.6 Insert, Delete, and Update Statements in sql 245<br/>g. 8.7 Additional Features of sql 248<br/>h. 8.8 Summary 249<br/>i. Review Questions 251<br/>j. Exercises 251<br/>k. Selected Bibliography 252<br/>16. More sql: Assertions, Views, and Programming Techniques 255<br/>a. 9.1 Specifying General Constraints as Assertions 256<br/>b. 9.2 Views (Virtual Tables) in sql 257<br/>c. 9.3 Database Programming: Issues and Techniques 261<br/>d. 9.4 Embedded sql, Dynamic sql, and sqlj 264<br/>e. 9.5 Database Programming with Function Calls: sql/cli and jdbc 275<br/>f. 9.6 Database Stored Procedures and sql/psm 284<br/>g. 9.7 Summary 287<br/>h. Review Questions 287<br/>i. Exercises 287<br/>j. Selected Bibliography 289<br/>17. Database design theory and methodology<br/>18. Functional Dependencies and <br/>19. Normalization for Relational Databases 293<br/>a. 10.1 Informal Design Guidelines for Relation Schemas 295<br/>b. 10.2 Functional Dependencies 304<br/>c. 10.3 Normal Forms Based on Primary Keys 312<br/>d. 10.4 General Definitions of Second and Third Normal Forms 320<br/>e. 10.5 Boyce-Codd Normal Form 324<br/>f. 10.6 Summary 326<br/>g. Review Questions 327<br/>h. Exercises 328<br/>i. Selected Bibliography 331<br/>20. Relational Database Design <br/>21. Algorithms and Further Dependencies 333<br/>a. 11.1 Properties of Relational Decompositions 334<br/>b. 11.2 Algorithms for Relational Database Schema Design 340<br/>c. 11.3 Multivalued Dependencies and Fourth Normal Form 347<br/>d. 11.4 Join Dependencies and Fifth Normal Form 353<br/>e. 11.5 Inclusion Dependencies 354<br/>f. 11.6 Other Dependencies and Normal Forms 355<br/>g. 11.7 Summary 357<br/>h. Review Questions 358<br/>i. Exercises 358<br/>j. Selected Bibliography 360<br/>a. Practical Database Design Methodology <br/>22. And Use of uml Diagrams 361<br/>a. 12.1 The Role of Information Systems in Organizations 362<br/>b. 12.2 The Database Design and Implementation Process 366<br/>c. 12.3 Use of uml Diagrams as an Aid to Database Design Specification 385<br/>d. 12.4 Rational Rose, A uml Based Design Tool 395<br/>e. 12.5 Automated Database Design Tools 402<br/>f. 12.6 Summary 404<br/>g. Review Questions 405<br/>h. Selected Bibliography 406<br/>23. Data storage, indexing, query processing, <br/>24. And physical design<br/>25. Disk Storage, Basic File Structures, and Hashing 411<br/>a. 13.1 Introduction 412<br/>b. 13.2 Secondary Storage Devices 415<br/>c. 13.3 Buffering of Blocks 421<br/>d. 13.4 Placing File Records on Disk 422<br/>e. 13.5 Operations on Files 427<br/>f. 13.6 Files of Unordered Records (Heap Files) 430<br/>g. 13.7 Files of Ordered Records (Sorted Files) 431<br/>h. 13.8 Hashing Techniques 434<br/>i. 13.9 Other Primary File Organizations 442<br/>j. 13.10 Parallelizing Disk Access Using raid Technology 443<br/>k. 13.11 Storage Area Networks 447<br/>l. 13.12 Summary 449<br/>m. Review Questions 450<br/>n. Exercises 451<br/>o. Selected Bibliography 454<br/>26. Indexing Structures for Files 455<br/>a. 14.1 Types of Single-Level Ordered Indexes 456<br/>b. 14.2 Multilevel Indexes 464<br/>c. 14.3 Dynamic Multilevel Indexes Using B-Trees and B+-Trees 469<br/>d. 14.4 Indexes on Multiple Keys 483<br/>e. 14.5 Other Types of Indexes 485<br/>f. 14.6 Summary 486<br/>g. Review Questions 487<br/>h. Exercises 488<br/>i. Selected Bibliography 490<br/>27. Algorithms for Query Processing and Optimization 493<br/>a. 15.1 Translating sql Queries into Relational Algebra 495<br/>b. 15.2 Algorithms for External Sorting 496<br/>c. 15.3 Algorithms for select and join Operations 498<br/>d. 15.4 Algorithms for project and set Operations 508<br/>e. 15.5 Implementing Aggregate Operations and Outer Joins 509<br/>f. 15.6 Combining Operations Using Pipelining 511<br/>g. 15.7 Using Heuristics in Query Optimization 512<br/>h. 15.8 Using Selectivity and Cost Estimates in Query Optimization 523<br/>i. 15.9 Overview of Query Optimization in oracle 532<br/>j. 15.10 Semantic Query Optimization 533<br/>k. 15.11 Summary 534<br/>l. Review Questions 534<br/>m. Exercises 535<br/>n. Selected Bibliography 536<br/>28. Practical Database Design and Tuning 537<br/>a. 16.1 Physical Database Design in Relational Databases 537<br/>b. 16.2 An Overview of Database Tuning in Relational Systems 541<br/>c. 16.3 Summary 547<br/>d. Review Questions 547<br/>e. Selected Bibliography 548<br/>29. Transaction processing concepts<br/>30. Introduction to Transaction <br/>31. Processing Concepts and Theory 551<br/>a. 17.1 Introduction to Transaction Processing 552<br/>b. 17.2 Transaction and System Concepts 559<br/>c. 17.3 Desirable Properties of Transactions 562<br/>d. 17.4 Characterizing Schedules Based on Recoverability 563<br/>e. 17.5 Characterizing Schedules Based on Serializability 566<br/>f. 17.6 Transaction Support in sql 576<br/>g. 17.7 Summary 578<br/>h. Review Questions 579<br/>i. Exercises 580<br/>j. Selected Bibliography 581<br/>32. Concurrency Control Techniques 583<br/>a. 18.1 Two-Phase Locking Techniques for Concurrency Control 584<br/>b. 18.2 Concurrency Control Based on Timestamp Ordering 594<br/>c. 18.3 Multiversion Concurrency Control Techniques 596<br/>d. 18.4 Validation (Optimistic) Concurrency Control Techniques 599<br/>e. 18.5 Granularity of Data Items and Multiple Granularity Locking 600<br/>f. 18.6 Using Locks for Concurrency Control in Indexes 605<br/>g. 18.7 Other Concurrency Control Issues 606<br/>h. 18.8 Summary 607<br/>i. Review Questions 608<br/>j. Exercises 609<br/>k. Selected Bibliography 609<br/>33. Database Recovery Techniques 611<br/>a. 19.1 Recovery Concepts 612<br/>b. 19.2 Recovery Techniques Based on Deferred Update 618<br/>c. 19.3 Recovery Techniques Based on Immediate Update 622<br/>d. 19.4 Shadow Paging 624<br/>e. 19.5 The aries Recovery Algorithm 625<br/>f. 19.6 Recovery in Multidatabase Systems 629<br/>g. 19.7 Database Backup and Recovery from Catastrophic Failures 630<br/>h. 19.8 Summary 631<br/>i. Review Questions 632<br/>j. Exercises 633<br/>k. Selected Bibliography 635<br/>34. Object and object-relational databases<br/>35. Concepts for Object Databases 639<br/>a. 20.1 Overview of Object-Oriented Concepts 641<br/>b. 20.2 Object Identity, Object Structure, and Type Constructors 643<br/>c. 20.3 Encapsulation of Operations, Methods, and Persistence 649<br/>d. 20.4 Type and Class Hierarchies and Inheritance 654<br/>e. 20.5 Complex Objects 657<br/>f. 20.6 Other Objected-Oriented Concepts 659<br/>g. 20.7 Summary 662<br/>h. Review Questions 663<br/>i. Exercises 664<br/>j. Selected Bibliography 664<br/>36. Object Database Standards, Languages, and Design 665<br/>a. 21.1 Overview of the Object Model of odmg 666<br/>b. 21.2 The Object Definition Language odl 679<br/>c. 21.3 The Object Query Language oql 684<br/>d. 21.4 Overview of the c++ Language Binding 693<br/>e. 21.5 Object Database Conceptual Design 694<br/>f. 21.6 Summary 697<br/>g. Review Questions 698<br/>h. Exercises 698<br/>i. Selected Bibliography 699<br/>37. Object-Relational and Extended-Relational Systems 701<br/>a. 22.1 Overview of sql and Its Object-Relational Features 702<br/>b. 22.2 Evolution and Current Trends of Database Technology 709<br/>c. 22.3 The Informix Universal Server 711<br/>d. 22.4 Object-Relational Features of Oracle 8 721<br/>e. 22.5 Implementation and Related Issues for Extended Type Systems 724<br/>f. 22.6 The Nested Relational Model 725<br/>g. 22.7 Summary 727<br/>h. Selected Bibliography 728<br/>38. Further topics<br/>39. Database Security and Authorization 731<br/>a. 23.1 Introduction to Database Security Issues 732<br/>b. 23.2 Discretionary Access Control Based on Granting and Revoking Privileges 735<br/>c. 23.3 Mandatory Access Control and <br/>40. Role-Based Access Control for Multilevel Security 740<br/>a. 23.4 Introduction to Statistical Database Security 746<br/>b. 23.5 Introduction to Flow Control 747<br/>c. 23.6 Encryption and Public Key Infrastructures 749<br/>d. 23.7 Summary 751<br/>e. Review Questions 752<br/>f. Exercises 753<br/>g. Selected Bibliography 753<br/>41. Enhanced Data Models for Advanced Applications 755<br/>a. 24.1 Active Database Concepts and Triggers 757<br/>b. 24.2 Temporal Database Concepts 767<br/>c. 24.3 Multimedia Databases 780<br/>d. 24.4 Introduction to Deductive Databases 784<br/>e. 24.5 Summary 797<br/>f. Review Questions 797<br/>g. Exercises 798<br/>h. Selected Bibliography 801<br/>42. Distributed Databases and <br/>43. Client-Server Architectures 803<br/>a. 25.1 Distributed Database Concepts 804<br/>b. 25.2 Data Fragmentation, Replication, and <br/>44. Allocation Techniques for Distributed Database Design 810<br/>a. 25.3 Types of Distributed Database Systems 815<br/>b. 25.4 Query Processing in Distributed Databases 818<br/>c. 25.5 Overview of Concurrency Control and Recovery in Distributed Databases 824<br/>d. 25.6 An Overview of 3-Tier Client-Server Architecture 827<br/>e. 25.7 Distributed Databases in Oracle 830<br/>f. 25.8 Summary 832<br/>g. Review Questions 833<br/>h. Exercises 834<br/>i. Selected Bibliography 835<br/>45. Emerging technologies<br/>46. Xml and Internet Databases 841<br/>a. 26.1 Structured, Semistructured, and Unstructured Data 842<br/>b. 26.2 xml Hierarchical (Tree) Data Model 846<br/>c. 26.3 xml Documents, dtd, and xml Schema 848<br/>d. 26.4 xml Documents and Databases 855<br/>e. 26.5 xml Querying 862<br/>f. 26.6 Summary 865<br/>g. Review Questions 865<br/>h. Exercises 866<br/>i. Selected Bibliography 866<br/>47. XML: Extensible markup language<br/>48. Data Mining Concepts 867<br/>a. 28.1 Overview of Data Mining Technology 868<br/>b. 28.2 Association Rules 871<br/>c. 28.3 Classification 882<br/>d. 28.4 Clustering 885<br/>e. 28.5 Approaches to Other Data Mining Problems 888<br/>f. 28.6 Applications of Data Mining 891<br/>g. 28.7 Commercial Data Mining Tools 891<br/>h. 28.8 Summary 894<br/>i. Review Questions 894<br/>j. Exercises 895<br/>k. Selected Bibliography 896<br/>49. Overview of Data Warehousing and OLAP 899<br/>a. 29.1 Introduction, Definitions, and Terminology 900<br/>b. 29.2 Characteristics of Data Warehouses 901<br/>c. 29.3 Data Modeling for Data Warehouses 902<br/>d. 29.4 Building a Data Warehouse 907<br/>e. 29.5 Typical Functionality of a Data Warehouse 910<br/>f. 29.6 Data Warehouse Versus Views 911<br/>g. 29.7 Problems and Open Issues in Data Warehouses 912<br/>h. 29.8 Summary 913<br/>i. Review Questions 914<br/>j. Selected Bibliography 914<br/>50. Emerging Database Technologies and Applications 915<br/>a. 30.1 Mobile Databases 916<br/>b. 30.2 Multimedia Databases 923<br/>c. 30.3 Geographic Information Systems 930<br/>d. 30.4 Genome Data Management 936<br/>51. Appendix a Alternative Diagrammatic Notations 947<br/>52. Appendix b Database Design and Application <br/>53. Implementation Case Study-located on the web<br/>54. Appendix c Parameters of Disks 951<br/>55. Appendix d Overview of the qbe Language 955<br/>56. Appendix e Hierarchical Data Model-located on the web<br/>57. Appendix f Network Data Model-located on the web<br/>58. Selected Bibliography 963<br/>59. Index 1009<br/> |