Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON.

Similar documents
Systems:;-'./'--'.; r. Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington

FUNDAMENTALS OF. Database S wctpmc. Shamkant B. Navathe College of Computing Georgia Institute of Technology. Addison-Wesley

Fundarnentals of. Sharnkant B. Navathe College of Computing Georgia Institute of Technology

FUNDAMENTALS OF SEVENTH EDITION

Fundamentals of Database Systems V7. Course Outline. Fundamentals of Database Systems V Jul 2018

Unit 2. Unit 3. Unit 4

15CS53: DATABASE MANAGEMENT SYSTEM

M S Ramaiah Institute of Technology Department of Computer Science And Engineering

DATABASE SYSTEM CONCEPTS

Essentials of Database Management

Contact Hours / week: 4 Total hours: 64. Table of Contents Architecture 3 Data Modeling Using the Entity-

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

SYED AMMAL ENGINEERING COLLEGE

Department of Information Technology B.E/B.Tech : CSE/IT Regulation: 2013 Sub. Code / Sub. Name : CS6302 Database Management Systems

MODERN DATABASE MANAGEMENT

(All chapters begin with an Introduction end with a Summary, Exercises, and Reference and Bibliography) Preliminaries An Overview of Database

Information Management (IM)

Specific Objectives Contents Teaching Hours 4 the basic concepts 1.1 Concepts of Relational Databases

02 Hr/week. Theory Marks. Internal assessment. Avg. of 2 Tests

ROEVER ENGINEERING COLLEGE

Programming. In Ada JOHN BARNES TT ADDISON-WESLEY

CMSC 461 Final Exam Study Guide

Database Concepts. David M. Kroenke UNIVERSITATSBIBLIOTHEK HANNOVER

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

SQL Queries. for. Mere Mortals. Third Edition. A Hands-On Guide to Data Manipulation in SQL. John L. Viescas Michael J. Hernandez

VALLIAMMAI ENGINEERING COLLEGE

The Unified Modeling Language User Guide

Information Modeling and Relational Databases

Database Processing. Fundamentals, Design, and Implementation. Global Edition

PYTHON. p ykos vtawynivis. Second eciitiovl. CO Ve, WESLEY J. CHUN

MariaDB Crash Course. A Addison-Wesley. Ben Forta. Upper Saddle River, NJ Boston. Indianapolis. Singapore Mexico City. Cape Town Sydney.

"Charting the Course... Agile Database Design Techniques Course Summary

CS6302- DATABASE MANAGEMENT SYSTEMS- QUESTION BANK- II YEAR CSE- III SEM UNIT I

DATABASE DESIGN AND DEVELOPMENT

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES

Course Outline Faculty of Computing and Information Technology

World Wide Web PROGRAMMING THE PEARSON EIGHTH EDITION. University of Colorado at Colorado Springs

DATABASE MANAGEMENT SYSTEMS

DATA ABSTRACTION AND PROBLEM SOLVING WITH JAVA

Fundamentals Of Database Systems Elmasri Navathe Solutions Manual File Type

B.C.A DATA BASE MANAGEMENT SYSTEM MODULE SPECIFICATION SHEET. Course Outline

An Introduction to Search Engines and Web Navigation

Fundamentals Of Database Systems Elmasri Navathe 6th Edition Free Download

Fundamentals of Databases

Conceptual Database Modeling

Database Systems Management

Administrivia. CS186 Class Wrap-Up. News. News (cont) Top Decision Support DBs. Lessons? (from the survey and this course)

Database Management Systems

Contents Contents 1 Introduction Entity Types... 37

DB2 SQL Tuning Tips for z/os Developers

DATABASE MANAGEMENT SYSTEM SUBJECT CODE: CE 305

EASTERN ARIZONA COLLEGE Database Design and Development

Database Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg

CS2255 DATABASE MANAGEMENT SYSTEMS QUESTION BANK UNIT I

Introduction: Databases and Database Users. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1

INSTITUTE OF AERONAUTICAL ENGINEERING

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Deccan Education Society s FERGUSSON COLLEGE, PUNE (AUTONOMOUS) SYLLABUS UNDER AUTONOMY. FIRST YEAR B.Sc. COMPUTER SCIENCE SEMESTER I

Course Outline. TERM EFFECTIVE: Spring 2017 CURRICULUM APPROVAL DATE: 05/09/2016

E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai) Nagore Post, Nagapattinam , Tamilnadu.

DATA STRUCTURES AND PROBLEM SOLVING USING JAVA

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

Data Modeling Online Training

Database System Concepts and Architecture

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 25-1

CLASSIC DATA STRUCTURES IN JAVA

The Power of Events. An Introduction to Complex Event Processing in Distributed Enterprise Systems. David Luckham

Syllabus DATABASE I Introduction to Database (INLS523)

NEW YORK CITY COLLEGE OF TECHNOLOGY COMPUTER SYSTEMS TECHNOLOGY DEPARTMENT CST4714 DATABASE ADMINISTRATION (2 class hours, 2 lab hours, 3 credits)

PROBLEM SOLVING USING JAVA WITH DATA STRUCTURES. A Multimedia Approach. Mark Guzdial and Barbara Ericson PEARSON. College of Computing

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1

NETWORKING KEITH W. ROSS. Polytechnic Institute of NYU. Addison-Wesley

Programming in Python 3

Lecture2: Database Environment

Course Book Academic Year

Ch. 21: Object Oriented Databases

Suggested Topics for Written Project Report. Traditional Databases:

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS

Chapter 11 Object and Object- Relational Databases

Chapter 8 The Enhanced Entity- Relationship (EER) Model

D.K.M COLLEGE FOR WOMEN(AUTONOMOUS),VELLORE DATABASE MANAGEMENT SYSTEM QUESTION BANK

Relational Database Systems Part 01. Karine Reis Ferreira

Real-Time Systems and Programming Languages

Course: Database Management Systems. Lê Thị Bảo Thu

SRM UNIVERSITY FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL OF COMPUTING DEPARTMENT OF CSE COURSE PLAN

Assignment Session : July-March

BD - Databases

[Contents. Sharing. sqlplus. Storage 6. System Support Processes 15 Operating System Files 16. Synonyms. SQL*Developer

Sample Copy. Not For Distribution.

Chapter 1: Introducing SQL Server

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

SECOND SEMESTER BCA : Syllabus Copy

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

Full file at

Total No. of Questions :09] [Total No. of Pages : 02

Acknowledgments Introduction to Database Systems p. 1 Objectives p. 1 Functions of a Database p. 1 Database Management System p.

GUJARAT TECHNOLOGICAL UNIVERSITY

Chapter 8: Enhanced ER Model

Total No. of Questions :09] [Total No. of Pages : 02. II/IV B.Tech. DEGREE EXAMINATIONS, NOV/DEC Second Semester CSE/IT DBMS

Transcription:

Fundamentals of Database Systems 5th Edition Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington Shamkant B. Navathe College of Computing Georgia Institute of Technology PEARSON Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Town Hong Kong Montreal

Contents part 1 Introduction and Conceptual Modeling chapter T Databases and Database Users 3 1.1 Introduction 4 1.2 An Example 6 1.3 Characteristics of the Database Approach 9 1.4 Actors on the Scene 14 1.5 Workers behind the Scene 16 1.6 Advantages of Using the DBMS Approach 17 1.7 A Brief History of Database Applications 23 1.8 When Not to Use a DBMS 26 1.9 Summary 27 Review Questions 27 Exercises 28 Selected Bibliography 28 chapter 2 Database System Concepts and Architecture 29 2.1 Data Models, Schemas, and Instances 30 2.2 Three-Schema Architecture and Data Independence 33 xv

xvi Contents 2.3 Database Languages and Interfaces 36 2.4 The Database System Environment 40 2.5 Centralized and Client/Server Architectures for DBMSs 44 2.6 Classification of Database Management Systems 49 2.7 Summary 52 Review Questions 54 Exercises 54 Selected Bibliography 55 chapter 3 Data Modeling Using the Entity-Relationship (ER) Model 57 3.1 Using High-Level Conceptual Data Models for Database Design 59 3.2 An Example Database Application 60 3.3 Entity Types, Entity Sets, Attributes, and Keys 61 3.4 Relationship Types, Relationship Sets, Roles, and Structural Constraints 70 3.5 Weak Entity Types 76 3.6 Refining the ER Design for the COMPANY Database 78 3.7 ER Diagrams, Naming Conventions, and Design Issues 79 3.8 Example of Other Notation: UML Class Diagrams 84 3.9 Relationship Types of Degree Higher Than Two 86 3.10 Summary 90 Review Questions 91 Exercises 92 Laboratory Exercises 99 Selected Bibliography 101 chapter 4 The Enhanced Entity-Relationship (EER) Model 103 4.1 Subclasses, Superclasses, and Inheritance 104 4.2 Specialization and Generalization 106 4.3 Constraints and Characteristics of Specialization and Generalization Hierarchies 109 4.4 Modeling of UNION Types Using Categories 116 4.5 An Example UNIVERSITY EER Schema, Design Choices, and Formal Definitions 119

Contents xvii 4.6 Example of Other Notation: Representing Specialization and Generalization in UML Class Diagrams 1 23 4.7 Data Abstraction, Knowledge Representation, and Ontology Concepts 1 25 4.8 Summary 131 Review Questions 131 Exercises 132 Laboratory Exercises 140 Selected Bibliography 142 -part2 Relational Model: Concepts, Constraints, Languages, Design, and Programming chapter O The Relational Data Model and Relational Database Constraints 145 5.1 Relational Model Concepts 146 5.2 Relational Model Constraints and Relational Database Schemas 153 5.3 Update Operations, Tranactions, and Dealing with Constraint Violations 161 5.4 Summary 165 Review Questions 166 Exercises 166 Selected Bibliography 170 chapter O The Relational Algebra and Relational Calculus 173 6.1 Unary Relational Operations: SELECT and PROJECT 175 6.2 Relational Algebra Operations from Set Theory 180 6.3 Binary Relational Operations: JOIN and DIVISION 183 6.4 Additional Relational Operations 192 6.5 Examples of Queries in Relational Algebra 199 6.6 The Tuple Relational Calculus 201

xviii Contents 6.7 The Domain Relational Calculus 210 6.8 Summary 212 Review Questions 213 Exercises 214 Laboratory Exercises 219 Selected Bibliography 221 chapter 7 Relational Database Design by ERand EER-to-Relational Mapping 223 7.1 Relational Database Design Using ER-to-Relational Mapping 224 7.2 Mapping EER Model Constructs to Relations 232 7.3 Summary 236 Review Questions 236 Exercises 237 Laboratory Exercises 238 Selected Bibliography 239 chapter 8 SQL-99: Schema Definition, Constraints, Queries, and Views 241 8.1 SQL Data Definition and Data Types 243 8.2 Specifying Constraints in SQL 248 8.3 Schema Change Statements in SQL 251 8.4 Basic Queries in SQL 253 8.5 More Complex SQL Queries 263 8.6 INSERT, DELETE, and UPDATE Statements in SQL 279 8.7 Specifying Constraints as Assertions and Triggers 282 8.8 Views (Virtual Tables) in SQL 283 8.9 Additional Features of SQL 287 8.10 Summary 288 Review Questions 288 Exercises 290 Laboratory Exercises 293 Selected Bibliography 297

Contents xix chapter 9 Introduction to SQL Programming Techniques 299 9.1 Database Programming: Issues and Techniques 300 9.2 Embedded SQL, Dynamic SQL, and SQLJ 303 9.3 Database Programming with Function Calls: SQL/CLI and JDBC 315 9.4 Database Stored Procedures and SQL/PSM 325 9.5 Summary 328 Review Questions 328 Exercises 329 Laboratory Exercises 329 Selected Bibliography 331 part O Database Design Theory and Methodology chapter 1 O Functional Dependencies and Normalization for Relational Databases 335 10.1 Informal Design Guidelines for Relation Schemas 337 10.2 Functional Dependencies 347 10.3 Normal Forms Based on Primary Keys 355 10.4 General Definitions of Second and Third Normal Forms 365 10.5 Boyce-Codd Normal Form 368 10.6 Summary 370 Review Questions 371 Exercises 372 Laboratory Exercises 377 Selected Bibliography 377 chapter 11 1 Relational Database Design Algorithms and Further Dependencies 379 11.1 Properties of Relational Decompositions 380 11.2 Algorithms for Relational Database Schema Design 386

xx Contents 11.3 Multivalued Dependencies and Fourth Normal Form 396 11.4 Join Dependencies and Fifth Normal Form 402 11.5 Inclusion Dependencies 403 11.6 Other Dependencies and Normal Forms 404 11.7 Summary 407 Review Questions 407 Exercises 408 Laboratory Exercises 410 Selected Bibliography 411 chapter 1 2 Practical Database Design Methodology and Use of UML Diagrams 413 12.1 The Role of Information Systems in Organizations 414 12.2 The Database Design and Implementation Process 419 12.3 Use of UML Diagrams As an Aid to Database Design Specification 438 1 2.4 Rational Rose, a UML-Based Design Tool 447 1 2.5 Automated Database Design Tools 453 12.6 Summary 456 Review Questions 457 Selected Bibliography 459 part 4 Data Storage, Indexing, Query Processing, and Physical Design chapter 13 Disk Storage, Basic File Structures, and Hashing 463 13.1 Introduction 464 13.2 Secondary Storage Devices 467 13.3 Buffering of Blocks 473 13.4 Placing File Records on Disk 475

Contents xxi 13.5 Operations on Files 479 13.6 Files of Unordered Records (Heap Files) 482 13.7 Files of Ordered Records (Sorted Files) 483 13.8 Hashing Techniques 486 13.9 Other Primary File Organizations 496 13.10 Parallelizing Disk Access Using RAID Technology 497 13.11 New Storage Systems 500 13.12 Summary 503 Review Questions 504 Exercises 505 Selected Bibliography 509 chapter 1 4 Indexing Structures for Files 511 14.1 Types of Single-Level Ordered Indexes 512 14.2 Multilevel Indexes 522 14.3 Dynamic Multilevel Indexes Using B-Trees and B + -Trees 525 14.4 Indexes on Multiple Keys 538 14.5 Other Types of Indexes 542 14.6 Summary 543 Review Questions 544 Exercises 545 Selected Bibliography 547 chapter 1 5 Algorithms for Query Processing and Optimization 549 15.1 Translating SQL Queries into Relational Algebra 551 15.2 Algorithms for External Sorting 552 15.3 Algorithms for SELECT and JOIN Operations 554 15.4 Algorithms for PROJ ECT and SET Operations 565 15.5 Implementing Aggregate Operations and OUTER JOINS 566 15.6 Combining Operations Using Pipelining 568 15.7 Using Heuristics in Query Optimization 568 15.8 Using Selectivity and Cost Estimates in Query Optimization 578 15.9 Overview of Query Optimization in Oracle 588

xxii Contents 15.10 Semantic Query Optimization 589 15.11 Summary 589 Review Questions 590 Exercises 590 Selected Bibliography 591 chapter 1 6 Physical Database Design and Tuning 593 16.1 Physical Database Design in Relational Databases 593 16.2 An Overview of Database Tuning in Relational Systems 598 16.3 Summary 604 Review Questions 604 Selected Bibliography 605 pdrt ö Transaction Processing Concepts chapter 1 7 Introduction to Transaction Processing Concepts and Theory 609 17.1 Introduction to Transaction Processing 610 17.2 Transaction and System Concepts 616 17.3 Desirable Properties of Transactions 619 17.4 Characterizing Schedules Based on Recoverability 621 17.5 Characterizing Schedules Based on Serializability 624 17.6 Transaction Support in SQL 634 17.7 Summary 636 Review Questions 637 Exercises 638 chapter 1 0 Concurrency Control Techniques 641 18.1 Two-Phase Locking Techniques for Concurrency Control 642 18.2 Concurrency Control Based on Timestamp Ordering 652 18.3 Multiversion Concurrency Control Techniques 655 18.4 Validation (Optimistic) Concurrency Control Techniques 657

Contents xxiii 18.5 Granularity of Data Items and Multiple Granularity Locking 659 18.6 Using Locks for Concurrency Control in Indexes 663 18.7 Other Concurrency Control Issues 664 18.8 Summary 665 Review Questions 666 Exercises 667 Selected Bibliography 668 chapter 1 9 Database Recovery Techniques 669 19.1 Recovery Concepts 670 19.2 Recovery Techniques Based on Deferred Update 676 19.3 Recovery Techniques Based on Immediate Update 681 19.4 Shadow Paging 682 19.5 The ARIES Recovery Algorithm 684 19.6 Recovery in Multidatabase Systems 687 19.7 Database Backup and Recovery from Catastrophic Failures 689 19.8 Summary 689 Review Questions 690 Exercises 691 Selected Bibliography 694 part 6 Object and Object-Relational Databases chapter 20 Concepts for Object Databases 699 20.1 Overview of Object-Oriented Concepts 701 20.2 Object Identity, Object Structure, and Type Constructors 703 20.3 Encapsulation of Operations, Methods, and Persistence 709 20.4 Type and Class Hierarchies and Inheritance 714 20.5 Complex Objects 718 20.6 Other Objected-Oriented Concepts 720 20.7 Summary 723 Review Questions 724 Exercises 724

xxiv Contents chapter 21 Object Database Standards, Languages, and Design 727 21.1 Overview of the Object Model ofodmg 728 21.2 The Object Definition Language ODL 741 21.3 The Object Query Language OQL 746 21.4 Overview of the C++ Language Binding 755 21.5 Object Database Conceptual Design 757 21.6 Summary 760 Review Questions 761 Exercises 761 Selected Bibliography 762 chapter 22 Object-Relational and Extended-Relational Systems 763 22.1 Overview of SQL and Its Object-Relational Features 764 22.2 Evolution of Data Models and Current Trends of Database Technology 771 22.3 The Informix Universal Server 773 22.4 Object-Relational Features of Oracle 8 784 22.5 Implementation and Related Issues for Extended Type Systems 786 22.6 The Nested Relational Model 788 22.7 Summary 790 Selected Bibliography 791» part 7 Further Topics: Security, Advanced Modeling, and Distribution chapter 23 Database Security 795 23.1 Introduction to Database Security Issues 795 23.2 Discretionary Access Control Based on Granting and Revoking Privileges 800 23.3 Mandatory Access Control and Role-Based Access Control for Multilevel Security 804

23.4 Introduction to Statistical Database Security 810 23.5 Introduction to Flow Control 812 23.6 Encryption and Public Key Infrastructures 814 23.7 Privacy Issues and Preservation 816 23.8 Challenges of Database Security 817 23.9 Summary 818 Review Questions 819 Exercises 820 chapter 24 Enhanced Data Models for Advanced Applications 823 24.1 Active Database Concepts and Triggers 825 24.2 Temporal Database Concepts 835 24.3 Spatial and Multimedia Databases 849 24.4 Introduction to Deductive Databases 852 24.5 Summary 866 Review Questions 867 Exercises 868 Selected Bibliography 871 chapter 2 5 Distributed Databases and Client-Server Architectures 873 25.1 Distributed Database Concepts 874 25.2 Data Fragmentation, Replication, and Allocation Techniques for Distributed Database Design 880 25.3 Types of Distributed Database Systems 887 25.4 Query Processing in Distributed Databases 890 25.5 Overview of Concurrency Control and Recovery in Distributed Databases 895 25.6 An Overview of 3-Tier Client-Server Architecture 899 25.7 Distributed Databases in Oracle 901 25.8 Summary 904 Review Questions 904 Exercises 905 Selected Bibliography 907

part 8 Emerging Technologies chapter 26 Web Database Programming Using PHP 26.1 Structured, Semistructured, and Unstructured Data 914 26.2 A Simple PHP Example 919 26.3 Overview of Basic Features of PHP 921 26.4 Overview of PHP Database Programming 928 26.5 Summary 932 Review Questions 933 Exercises 933 Laboratory Exercises 934 Selected Bibliography 935 chapter 27 XML: Extensible Markup Language 937 27.1 XML Hierarchical (Tree) Data Model 938 27.2 XML Documents, DTD, and XML Schema 939 27.3 XML Documents and Databases 948 27.4 XMLQuerying 955 27.5 Summary 957 Review Questions 958 Exercises 958 Selected Bibliography 958 chapter 28 Data Mining Concepts 959 28.1 Overview of Data Mining Technology 960 28.2 Association Rules 963 28.3 Classification 975 28.4 Clustering 978 28.5 Approaches to Other Data Mining Problems 981

Conents xxvii 28.6 Applications of Data Mining 984 28.7 Commercial Data Mining Tools 984 28.8 Summary 987 Review Questions 987 Exercises 988 Selected Bibliography 989 chapter 29 Overview of Data Warehousing and OLAP 991 29.1 Introduction, Definitions, and Terminology 991 29.2 Characteristics of Data Warehouses 993 29.3 Data Modeling for Data Warehouses 994 29.4 Building a Data Warehouse 999 29.5 Typical Functionality of a Data Warehouse 1002 29.6 Data Warehouse versus Views 1003 29.7 Problems and Open Issues in Data Warehouses 1004 29.8 Summary 1006 Review Questions 1006 Selected Bibliography 1007 chapter 30 Emerging Database Technologies and Applications 1009 30.1 Mobile Databases 1010 30.2 Multimedia Databases 1017 30.3 Geographie Information Systems (GIS) 1024 30.4 Genome Data Management 1038 Selected Bibliography 1047 Credits 1050 appendix A Alternative Diagrammatic Notations for ER Models 1051 appendix B Parameters of Disks 1055

xxviii Contents appendix C Overview of the QBE Language 1059 C.1 Basic Retrievals in QBE 1059 C.2 Grouping, Aggregation, and Database Modification in QBE 1064 appendix D appendix E Overview of the Hierarchical Data Model (located on the Companion Website at http://www.aw.com/elmasri) Overview of the Network Data Model (located on the Companion Website at http://www.aw.com/elmasri) Selected Bibliography 1067 Index 1097