| Survey of 3375 Topics | ||||
| Text Topics | understood | familiar | hazy | greek to me |
| 1.1 Fundamental Database Concepts | 3 | 2 | 1 | |
| History of Database Systems | 3 | 2 | 1 | |
| The Relational and Object-Relational Models | 3 | 2 | 1 | |
| The Database Systems Covered | 3 | 1 | 1 | |
| A Relational Database Example | 3 | 1 | 1 | |
| An Object-Relational Database Example | 3 | 1 | 1 | |
| 1.2 Database Users | 3 | 1 | 1 | |
| 1.3 Overview of Relational and Object-Relational DBMS | 1 | 1 | ||
| Chapter 2: The Relational Model | 1 | 1 | ||
| Chapter 3: Basic SQL Query Language | 1 | 1 | ||
| Chapter 4: The Object-Relational Model | 1 | 1 | ||
| Chapter 5: Programs to Access a Database | 1 | 1 | ||
| Chapter 6: Database Design | 1 | 1 | ||
| Chapter 7: Integrity, Views, Security, and Catalogs | 1 | 1 | ||
| Chapter 8: Indexing | 1 | 1 | ||
| Chapter 9: Query Processing | 1 | 1 | ||
| Chapter 10: Update Transactions | 1 | 1 | ||
| Chapter 11: Parallel and Distributed Databases | 1 | 1 | ||
| 1.4 Putting It All Together | 1 | 1 | ||
| Chapter 2 The Relational Model | ||||
| 2.1 The CAP Database | 3 | 2 | 1 | |
| 2.2 Naming the Parts of a Database | 3 | 2 | 1 | |
| Domains and Datatypes | 3 | 2 | 1 | |
| Tables and Relations | 3 | 2 | 1 | |
| 2.3 Relational Rules | 3 | 2 | 1 | |
| 2.4 Keys, Superkeys, and Null Values | 3 | 2 | 1 | |
| Null Values | 3 | 2 | 1 | |
| 2.5 Relational Algebra | 3 | 2 | 1 | |
| Fundamental Operations of Relational Algebra | 3 | 2 | 1 | |
| 2.6 Set-Theoretic Operations | 3 | 2 | 1 | |
| The Union, Intersection, and Difference Operations | 3 | 2 | 1 | |
| Assignment and Alias | 3 | 2 | 1 | |
| The Product Operation | 3 | 2 | 1 | |
| 2.7 Native Relational Operations | 3 | 2 | 1 | |
| The Projection Operation | 3 | 2 | 1 | |
| The Selection Operation | 3 | 2 | 1 | |
| Precedence of Relational Operations | 3 | 2 | 1 | |
| The Join Operation | 3 | 2 | 1 | |
| The Division Operation | 3 | 2 | 1 | |
| 2.8 The Interdependence of Operations | 3 | 2 | 1 | |
| 2.9 Illustrative Examples | 3 | 2 | 1 | |
| 2.10 Other Relational Operations | 3 | 2 | 1 | |
| Outer Join | 3 | 2 | 1 | |
| Theta Join | 3 | 2 | 1 | |
| Chapter 3 Basic SQL Query Language | ||||
| 3.1 Introduction | 2 | 2 | 1 | |
| SQL Capabilities | 2 | 2 | 1 | |
| SQL History-Standards and Dialects | 2 | 2 | 1 | |
| 3.2 Setting Up the Database—Typographical Conventions | 2 | 2 | 1 | |
| Standard Typographical Conventions | 2 | 2 | 1 | |
| A Practical Exercise | 2 | 2 | 1 | |
| 3.3 Simple Select Statements | 2 | 2 | 1 | |
| 3.4 Subqueries | 2 | 2 | 1 | |
| The IN Predicate | 2 | 2 | 1 | |
| The Quantified Comparison Predicate | 2 | 2 | 1 | |
| The EXISTS Predicate | 2 | 2 | 1 | |
| A Weakness of SQL: Too Many Equivalent Forms | 2 | 2 | 1 | |
| 3.5 UNION Operators and FOR ALL Conditions | 2 | 1 | ||
| The UNION Operator | 2 | 1 | ||
| Division: SQL "FOR ALL . . ." Conditions | 2 | 1 | ||
| 3.6 Some Advanced SQL Syntax | 2 | 2 | ||
| The INTERSECT and EXCEPT Operators in Advanced SQL | 2 | 2 | ||
| Join Forms in Advanced SQL | 2 | 2 | ||
| Outer Join | 2 | 2 | ||
| Join Forms Implemented in Database Systems | 2 | 2 | ||
| 3.7 Set Functions in SQL | 2 | 2 | ||
| Handling Null Values | 2 | 2 | ||
| Text Topics | understood | familiar | hazy | greek to me |
| 3.8 Groups of Rows in SQL | 2 | 4 | ||
| 3.9 A Complete Description of SQL Select | 2 | 4 | ||
| Identifiers | 2 | 4 | ||
| Expressions, Predicates, and the search_condition | 2 | 4 | ||
| Scalar Subqueries as Expressions: Advanced SQL | 1 | 4 | ||
| Basic SQL versus Advanced SQL: Summary | 1 | 4 | ||
| A Discussion of the Predicates | 1 | 4 | ||
| 3.10 Insert, Update, and Delete Statements | 1 | 4 | ||
| The Insert Statement | 1 | 4 | ||
| The Update Statement | 1 | 4 | ||
| The Delete Statement | 1 | 4 | ||
| 3.11 The Power of the Select Statement | 4 | |||
| The Non-Procedural Select Statement | 4 | |||
| Turing Power | 4 | |||
| Limited Power of the Basic SQL Select Statement | 4 | |||
| Chapter 4 Object-Relational SQL | ||||
| 4.1 Introduction | ||||
| ORSQL Capabilities | ||||
| Form of Presentation for This Chapter | ||||
| Object Relational History | ||||
| 4.2 Objects and Tables | ||||
| 4.2.1 Object Types in ORACLE | ||||
| Definition of the REF Object reference | ||||
| 4.2.2 INFORMIX Row Types for Objects | ||||
| Absence of REFs in INFORMIX | ||||
| Type Inheritance in INFORMIX | ||||
| 4.2.3 Objects and Tables: Summary | ||||
| Object-Orientation | ||||
| 4.3 Collection Types | ||||
| 4.3.1 Collection Types in ORACLE | ||||
| Table Types and Nested Tables | ||||
| Nested Cursors for Retrieving from a Table of Tables | ||||
| Array Types for VARRAYs | ||||
| SQL Syntax for Collections in ORACLE | ||||
| Inserts and Updates in ORACLE | ||||
| 4.3.2 Collection Types in INFORMIX | ||||
| SQL Syntax for Collections in INFORMIX Inserts and updates in INFORMIX. | ||||
| 4.3.3 Collection Types: Summary | ||||
| 4.4 Procedural SQL, User-Defined Functions (UDFs), and Methods | ||||
| 4.4.1 ORACLE PL/SQL Procedures, UDFs and Methods | ||||
| PL/SQL: ORACLE’s Procedural SQL Language | ||||
| Using PL/SQL to implement Methods in ORACLE | ||||
| Update Methods | ||||
| 4.4.2 INFORMIX User-Defined Functions | ||||
| SPL: INFORMIX’s Procedural SQL Language | ||||
| Using SPL to Implement UDFs in INFORMIX | ||||
| Update Functions | ||||
| 4.4.3 User-Defined Functions: Summary | ||||
| 4.5 External Functions and Packaged User-Defined Types (UDTs) | ||||
| Binary Data and BLOBS | ||||
| External Functions | ||||
| Encapsulation | ||||
| Distinct Types | ||||
| BLOB Objects | ||||
| Packaged UDTs and Other Encapsulated UDTs | ||||
| Summary | ||||
| Chapter 5 Programs to Access a Database | ||||
| 5.1 Introduction to Embedded SQL in C | 1 | 2 | 1 | 2 |
| A Simple Program Using Embedded SQL | 1 | 2 | 1 | 2 |
| Selecting Multiple Rows with a Cursor | 1 | 2 | 1 | 2 |
| 5.2 Condition Handling | 1 | 2 | 1 | 2 |
| Whenever Statement: Scope and Flow of Control | 1 | 2 | 1 | 2 |
| Explicit Error Checking | 1 | 2 | 1 | 2 |
| Handling Errors: Getting Error Messages from the Database | 1 | 2 | 1 | 2 |
| Indicator Variables | 1 | 2 | 1 | 2 |
| 5.3 Some Common Embedded SQL Statements | 1 | 2 | 1 | 2 |
| The Select Statement | 1 | 2 | 1 | 2 |
| The Declare Cursor Statement | 1 | 2 | 1 | 2 |
| Text Topics | understood | familiar | hazy | greek to me |
| The Delete Statement | ||||
| The Update Statement | ||||
| The Insert Statement | ||||
| Cursor Open, Fetch, and Close | ||||
| Other Embedded SQL Operations | ||||
| 5.4 Programming for Transactions | ||||
| The Concept of a Transaction | ||||
| How Transactions Are Specified in Programs | ||||
| A Transaction Example | ||||
| The Transaction Isolation Guarantee and Locking | ||||
| Special Considerations in Transactions | ||||
| 5.5 The Power of Procedural SQL Programs | ||||
| Customized Set Functions | ||||
| Dynamic SQL | ||||
| 5.6 Dynamic SQL | ||||
| Execute Immediate | ||||
| Prepare, Execute, and Using | ||||
| Dynamic Select: The Describe Statement and the SQLDA | ||||
| 5.7 Some Advanced Programming Concepts | ||||
| Scrollable Cursors | ||||
| Cursor Sensitivity | ||||
| Other Development Environments for Database Programming | ||||
| Chapter 6 Database Design | ||||
| 6.1 Introduction to E-R Concepts | 3 | 1 | 2 | |
| Entities, Attributes, and Simple E-R Diagrams | 3 | 1 | 2 | |
| Transforming Entities and Attributes to Relations | 3 | 1 | 2 | |
| Relationships among Entities | 3 | 1 | 2 | |
| 6.2 Further Details of E-R Modeling | 3 | 1 | 2 | |
| Cardinality of Entity Participation in a Relationship | 3 | 1 | 2 | |
| One-to-One, Many-to-Many, and Many-to-One Relationships | 3 | 1 | 2 | |
| Transforming Binary Relationships to Relations | 3 | 1 | 2 | |
| 6.3 Additional E-R Concepts | 3 | 1 | 2 | |
| Cardinality of Attributes | 3 | 1 | 2 | |
| Weak Entities | 3 | 1 | 2 | |
| Generalization Hierarchies | 3 | 1 | 2 | |
| 6.4 Case Study | 3 | 1 | 2 | |
| 6.5 Normalization: Preliminaries | 2 | 2 | ||
| A Running Example: Employee Information | 2 | 2 | ||
| Anomalies of a Bad Database Design | 2 | 2 | ||
| 6.6 Functional Dependencies | 2 | 2 | ||
| Logical Implications among Functional Dependencies | 2 | 2 | ||
| Armstrong’s Axioms | 2 | 2 | ||
| Closure, Cover, and Minimal Cover | 2 | 2 | ||
| 6.7 Lossless Decompositions | 2 | 2 | ||
| 6.8 Normal Forms | 3 | 1 | 2 | |
| A Succession of Decompositions to Eliminate Anomalies | 3 | 1 | 2 | |
| Normal Forms: BCNF, 3NF, and 2NF | 3 | 1 | 2 | |
| An Algorithm to Achieve Well-Behaved 3NF Decomposition | 3 | 1 | 2 | |
| A Review of Normalization | 3 | 1 | 2 | |
| 6.9 Additional Design Considerations | 3 | 1 | 2 | |
| Database Design Tools | 3 | 1 | 2 | |
| Chapter 7 Integrity, Views, Security, and Catalogs | ||||
| 7.1 Integrity Constraints | ||||
| Integrity Constraints in the Create Table Statement | ||||
| Primary Keys, Foreign Keys, and Referential Integrity | ||||
| Foreign Key Constraints: Product Variations | ||||
| The Alter Table Statement | ||||
| Non-Procedural and Procedural Integrity Constraints: Triggers | ||||
| 7.2 Creating Views | ||||
| Updatable and Read-Only Views | ||||
| The Value of Views | ||||
| 7.3 Security: The Grant Statement in SQL | ||||
| Variations in Database Products | ||||
| 7.4 System Catalogs | ||||
| Catalog Variations in Database Products | ||||
| The INFORMIX System Catalog | ||||
| Catalog Tables for Object-Relational Constructs: ORACLE and INFORMIX |