Databases Illuminated, 4th Edition
- Length: 682 pages
- Edition: 4
- Language: English
- Publisher: Jones & Bartlett Learning
- Publication Date: 2022-03-23
- ISBN-10: 1284231585
- ISBN-13: 9781284231588
- Sales Rank: #3100629 (See Top 100 Books)
Databases Illuminated integrates database theory with a practical approach to database design and implementation. The text is specifically designed for the modern database student, who will be expected to know both theory and applied design and implementation as professionals in the field. The author presents a sample database project throughout the text, using this unique pedagogical tool to take students step-by-step through all the key concepts of database theory, design, and management. These major concepts are rehearsed in independent student projects that follow each chapter.
This integrated, modern approach to databases, combined with strong pedagogical features, accessible writing, and a full package of student and instructor’s resources, makes Databases Illuminated the perfect textbook for courses in this exciting field.
Cover Title Page Copyright Page Dedication Contents Preface About the Author Acronyms Used in This Book 1 Introductory Database Concepts 1.1 Uses of Databases 1.2 A Sample Database 1.3 The Integrated Database Environment 1.4 Roles in the Integrated Database Environment 1.5 Advantages of the Integrated Database Approach 1.6 Historical Developments in Information Systems 1.6.1 Developments in Storage Media 1.6.2 Database Models 1.7 Big Data 1.8 Chapter Summary Exercises 2 Database Planning and Database Architecture 2.1 Data as a Resource 2.2 Characteristics of Data 2.2.1 Data and Information 2.2.2 Levels of Discussing Data 2.2.3 Data Sublanguages 2.3 Stages in Database Design 2.4 Design Tools 2.4.1 Data Dictionary 2.4.2 Diagramming Tools 2.4.3 CASE Packages 2.5 Functions of the Database Administrator 2.5.1 Planning and Design 2.5.2 Developing the Database 2.5.3 Database Management 2.6 The Three-Level Database Architecture 2.6.1 External Views 2.6.2 Logical Model 2.6.3 Internal Model 2.6.4 Physical Level 2.6.5 Record Retrieval 2.6.6 Data Independence 2.7 Overview of Data Models 2.7.1 The Entity-Relationship Model 2.7.2 Relational and Other Record-Based Models 2.7.3 Object-Oriented Model 2.7.4 Object-Relational Model 2.7.5 Data Warehouse Models 2.7.6 Semistructured Data Models 2.7.7 Big Data and NoSQL Models 2.8 Chapter Summary Exercises 3 The Entity-Relationship Model 3.1 Purpose of the Entity-Relationship (ER) Model 3.2 Entities 3.3 Attributes 3.3.1 Domains 3.3.2 Null Values 3.3.3 Multivalued Attributes 3.3.4 Composite Attributes 3.3.5 Derived Attributes 3.4 Keys 3.4.1 Superkeys 3.4.2 Candidate Keys 3.4.3 Primary Keys 3.5 Relationships 3.5.1 Degree of Relationships 3.5.2 Attributes of Relationship Sets 3.5.3 Cardinality of a Relationship 3.5.4 Showing Cardinalities in an ER Diagram 3.5.5 Participation Constraints 3.5.6 Using (min,max) Notation for Cardinality and Participation 3.6 Roles 3.7 Existence Dependency and Weak Entities 3.8 Sample ER Diagrams 3.9 The Extended Entity-Relationship Model 3.10 Generalization and Specialization 3.10.1 Specialization 3.10.2 Generalization 3.10.3 Generalization Constraints 3.10.4 Multiple Hierarchies and Inheritance 3.11 Union 3.12 Sample EER Diagrams 3.13 Chapter Summary Exercises 4 The Relational Model 4.1 Advantages of the Relational Model 4.2 Relational Data Structures 4.2.1 Tables 4.2.2 Mathematical Relations 4.2.3 Database Relations and Tables 4.2.4 Properties of Relations 4.2.5 Degree and Cardinality 4.2.6 Relation Keys 4.3 Integrity Constraints 4.4 Representing Relational Database Schemas 4.5 Relational Data Manipulation Languages 4.5.1 Categories of DMLs 4.5.2 Relational Algebra 4.6 Views 4.7 Mapping an ER Model to a Relational Schema 4.8 Mapping an EER Model to a Relational Schema 4.8.1 Summary of ER to Relational Mapping Concepts 4.8.2 Mapping EER Set Hierarchies to Relational Tables 4.8.3 Mapping Unions 4.8.4 EER to Relational Mapping Example 4.9 Forward and Reverse Engineering: ER and Relational Models 4.10 Chapter Summary Exercises 5 Relational Database Management Systems and SQL 5.1 Brief History of SQL in Relational Database Systems 5.2 Architecture of a Relational Database Management System 5.3 Defining the Database: SQL Data Definition Language (DDL) 5.3.1 Create Database, Create Schema 5.3.2 Create Table 5.3.3 Create Index 5.3.4 Alter Table, Rename Table 5.3.5 Drop Statements 5.3.6 Additional SQL DDL Example 5.4 Manipulating the Database: SQL Data Manipulation Language (DML) 5.4.1 Introduction to the Select Statement 5.4.2 Select Using Multiple Tables 5.4.3 Select with Aggregate Functions 5.4.4 Select With Group By 5.4.5 Select with Pattern Strings 5.4.6 Operators For Updating: Update, Insert, Delete 5.5 Creating and Using Views 5.6 The System Catalog 5.7 Chapter Summary Exercises 6 Normalization and Denormalization 6.1 Objectives of Normalization 6.2 Insertion, Update, and Deletion Anomalies 6.3 Functional Dependency 6.4 Superkeys, Candidate Keys, and Primary Keys 6.5 Normalization Using Candidate Keys 6.5.1 First Normal Form 6.5.2 Full Functional Dependency and Second Normal Form 6.5.3 Transitive Dependency and Third Normal Form 6.5.4 Boyce-Codd Normal Form 6.5.5 Comprehensive Example of Functional Dependencies 6.6 Properties of Relational Decompositions 6.6.1 Attribute Preservation 6.6.2 Dependency Preservation 6.6.3 Lossless Decomposition 6.6.4 Decomposition Algorithm for Boyce-Codd Normal Form with Lossless Join 6.7 Higher Normal Forms 6.8 The Normalization Process 6.8.1 Analysis 6.8.2 Synthesis 6.8.3 Normalization from an Entity-Relationship Diagram 6.9 When to Stop Normalizing 6.10 Non-normalized Databases 6.11 Chapter Summary Exercises 7 Advanced SQL 7.1 Introduction to Advanced SQL Features 7.2 Additional SQL Functions 7.2.1 Numeric Single-Row Functions 7.2.2 Character Single-Row Functions 7.2.3 Date and Time Functions 7.3 Sequences 7.4 Temporal Databases and SQL 7.4.1 User Valid Time 7.4.2 Transaction Time 7.5 SQL Programming 7.5.1 SQL Persistent Stored Modules (PSMs) 7.5.2 Embedded SQL 7.5.3 Application Programming Interfaces (APIs) 7.5.4 Dynamic SQL 7.6 Using COMMIT and ROLLBACK Statements 7.7 Active Databases 7.7.1 Enabling and Disabling Constraints 7.7.2 SQL Triggers 7.8 Global and Private Temporary Tables 7.9 Java Database Connectivity (JDBC) 7.9.1 Developing a JDBC Application 7.9.2 The Statement Object 7.9.3 The PreparedStatement Object 7.9.4 The CallableStatement Object 7.9.5 Updating the Database 7.9.6 Querying Metadata 7.10 Chapter Summary Exercises 8 Introduction to Database Security 8.1 Issues in Database Security 8.1.1 Accidental Security Threats 8.1.2 Deliberate Security Threats 8.2 Fundamentals of Access Control 8.2.1 Physical Security 8.2.2 Information System Access Control 8.3 Database Access Control 8.4 Using Views for Access Control 8.5 Security Logs and Audit Trails 8.6 Encryption 8.6.1 Symmetric Key Encryption 8.6.2 Public-Key Encryption 8.7 Data De-identification 8.8 SQL Data Control Language (DCL) 8.9 Security in Oracle 8.9.1 Security Features 8.9.2 Oracle Security Tools 8.9.3 Administrative Accounts 8.9.4 User Privileges 8.9.5 Creating and Managing User Accounts 8.10 Statistical Database Security 8.11 SQL Injection 8.11.1 SQL Vulnerability 8.11.2 Further Examples of SQL Injection 8.11.3 Mitigation of SQL Injection 8.12 Database Security and the Internet 8.12.1 Proxy Servers 8.12.2 Firewalls 8.12.3 Digital Signatures 8.12.4 Certification Authorities 8.13 Chapter Summary Exercises 9 Object-Based Models 9.1 Rationale for the Object-Oriented Data Model 9.2 Object-Oriented Data Concepts 9.2.1 Objects and Literals 9.2.2 Classes 9.2.3 Class Hierarchies and Inheritance 9.2.4 Object Identity 9.3 Object-Oriented Data Modeling Using UML 9.4 The ODMG Model and Object Definition Language (ODL) 9.4.1 Class Declarations 9.4.2 Extent 9.4.3 Attributes 9.4.4 Relationships 9.4.5 Methods 9.4.6 Classes and Inheritance 9.4.7 N-ary Relationships and M:N Relationships with Attributes 9.4.8 Keys 9.5 Object Query Language (OQL) 9.6 Developing an OO Database Application 9.6.1 Overview of InterSystems Iris 9.6.2 Schema Definition in Iris 9.7 Extending the Relational Model 9.7.1 Large Object Data Types 9.7.2 Structured Types 9.7.3 UDTs 9.7.4 Reference Types 9.7.5 Type Hierarchies in Standard SQL 9.7.6 Type Hierarchies in Oracle 9.7.7 Nested Tables in Oracle 9.7.8 Oracle Object Views 9.8 Converting a UML Diagram to an Object-Relational Database Model 9.9 Converting an EER Diagram to an Object-Relational Database Model 9.10 Chapter Summary Exercises 10 Relational Query Optimization 10.1 Query Processing and Query Optimization 10.2 Logical Query Optimization 10.2.1 The Query Tree 10.2.2 An SQL Query and Its Relational Algebra Translation 10.2.3 Performing SELECT Operations Early 10.2.4 Evaluating Conjunctive Conditions 10.2.5 Performing PROJECT Early 10.2.6 Equivalence of Algebraic Operations 10.2.7 Heuristics for Query Optimization 10.3 Physical Query Optimization 10.3.1 Cost Factors 10.3.2 Cost of Processing Selects 10.3.3 Processing Joins 10.3.4 Processing Other Operations Projection 10.3.5 Adaptive Query Optimization 10.3.6 Pipelining 10.4 Query Optimization in Oracle 10.5 Chapter Summary Exercises 11 Transaction Management 11.1 ACID Properties of Transactions 11.2 Need for Concurrency Control 11.2.1 The Lost Update Problem 11.2.2 The Uncommitted Update Problem 11.2.3 The Problem of Inconsistent Analysis 11.3 Serializability 11.4 Locking 11.4.1 Deadlock and Starvation 11.4.2 Two-Phase Locking Protocol 11.4.3 Levels of Locking 11.5 Timestamping 11.5.1 Basic Timestamping Protocol 11.5.2 Thomas’s Write Rule 11.5.3 Multiversion Timestamping 11.6 Optimistic Techniques 11.7 Need for Recovery 11.8 Recovery Techniques 11.8.1 Deferred Update Protocol 11.8.2 Checkpoints 11.8.3 Immediate Update Protocol 11.8.4 Shadow Paging 11.8.5 Overview of the ARIES Recovery Algorithm 11.9 Transaction Management in Oracle 11.9.1 Transaction Limits 11.9.2 Isolation Levels 11.9.3 Types of Locks 11.9.4 Recovery Management 11.10 Chapter Summary Exercises 12 Distributed Databases 12.1 Rationale for Distribution 12.2 Architectures for a Distributed System 12.2.1 Distributed Processing Using a Centralized Database 12.2.2 Client-Server Systems 12.2.3 Parallel Databases 12.2.4 Distributed Databases 12.2.5 Peer-to-Peer Data Management Systems 12.2.6 Cloud Database Systems 12.3 Components of a Distributed Database System 12.4 Data Placement 12.5 Transparency 12.6 Transaction Control for Distributed Databases 12.6.1 Concurrency Control 12.6.2 Recovery 12.7 Distributed Query Processing 12.7.1 Steps in Distributed Query Processing 12.7.2 The Semijoin Operation 12.8 Blockchain Technology 12.8.1 Blockchain Architecture and Functionality 12.8.2 Blockchain Benefits and Future Directions 12.9 Chapter Summary Exercises 13 Semistructured Data 13.1 Data and the Internet 13.2 A Semistructured Data Model 13.3 JavaScript Object Notation (JSON) 13.4 Extensible Markup Language (XML) 13.4.1 Standalone XML Documents 13.4.2 Document Type Definition (DTD) 13.4.3 XML Schema Definition (XSD) 13.4.4 XML Data Manipulation 13.4.5 XML Parsers 13.5 JSON and XML in Relational Databases 13.6 Oracle Implementation of Semistructured Data 13.6.1 JSON in Oracle 13.6.2 XML DB 13.6.3 Oracle XML Developer Kits 13.7 Chapter Summary Exercises 14 Big Data and NoSQL 14.1 Big Data 14.2 Distributed File Systems and Parallel Programming Paradigms 14.2.1 Hadoop Distributed File System 14.2.2 MapReduce 14.2.3 Spark 14.2.4 Hive and HiveQL 14.3 NoSQL 14.3.1 Defining NoSQL Technology 14.3.2 NoSQL Systems 14.4 A Document Database System: MongoDB 14.5 A Graph Database System: Neo4j 14.6 Chapter Summary Exercises 15 Data Warehouses 15.1 Origins of Data Warehousing 15.2 Operational Databases and Data Warehouses 15.3 Components of a Data Warehouse 15.4 Data Warehouse 3-Level Architecture 15.5 Data Lakes 15.6 Developing a Data Warehouse 15.6.1 Top-Down Method 15.6.2 Bottom-Up Method 15.6.3 Data Vault Method 15.7 Data Models for Data Warehouses 15.7.1 Star Schema and Snowflake Schema 15.7.2 Data Cubes and Hypercubes 15.7.3 Semistructured Data 15.7.4 Column Stores 15.8 Data Warehouse Administration 15.9 Views and View Materialization 15.10 Data Analytics 15.10.1 Techniques for ROLAP 15.10.2 Basic Data Cube Operations 15.10.3 SQL Analytic Functions 15.11 Data Mining 15.11.1 Purpose of Data Mining 15.11.2 Types of Knowledge Discovered 15.11.3 Models and Methods Used 15.11.4 Applications of Data Mining 15.12 Chapter Summary Exercises 16 Social, Ethical, and Legal Issues 16.1 Computerization and Society 16.2 Ethical Issues in Information Technology 16.2.1 A Framework for Ethical Decision Making 16.2.2 Ethical Standards for Computing Professionals 16.3 Databases and Privacy Issues 16.3.1 Privacy and Security 16.3.2 Privacy as a Human Right 16.3.3 Privacy Legislation in the United States 16.3.4 Privacy Legislation in the European Union 16.3.5 Privacy Legislation in Other Countries 16.4 Intellectual Property 16.4.1 Definition of Intellectual Property 16.4.2 Legal Protections for Intellectual Property 16.4.3 Intellectual Property Protection for Software 16.5 Chapter Summary Exercises Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.