CSCE 4523 DBMS – Midterm Study Guide – covers Chapters 1-3, 5, 8-12 Open book, open notes, emphasis is on understanding the material, grading is on a curve DBMS Architecture - Chapters 1-3 Three layer architecture (physical, logical = conceptual, application) – mappings between the layers – logical and physical independence properties (encapsulation boundaries) How DBMS relates to logic, information retrieval (e.g., google) Closed world assumption Data Models – Chapter 3 What is a data model? Relational model Primary key, candidate key, foreign key Entity Integrity – Referential Integrity Give example of integrity constraint and integrity constraint violation Relational Algebra – Chapter 5 Why is it called an algebra? Relational closure Project, select, join (theta, outer, natural), union, intersection Aggregation operators like Sum, Average Views Triggers 1 Relational Calculus – SQL – Chapter 3, 5 Why is it called a calculus? Data definition language - Create/Alter/Drop {catalog, schema, table, view, domain} Data manipulation language - Insert/Update/Delete Query language - Select .. from .. where .. group by .. having .. order by .. Joining a table with itself e.g. courses and their prerequisites Nested queries: selects, joins, … inside of selects Null values – meaning of nulls and truth table Views – what they are – materialized views – can you update views (what problem do you run into) Interfacing a programming language to a DBMS – ODBC – Chapter 8, esp. 8.5 Physical Data Organization – Chapter 9 Records Disk organization, sectors, seek-rotational latency-block transfer Virtual memory Access paths – Primary index, secondary index Heap, Hash, Tree index – relative access cost Clustered//Unclustered and Sparse/Dense indexes 1 Multiple attributes, Multi-level index 1 Static/Dynamic indexes B-tree, B+-tree Extendable hashing, linear hashing 1 Join indexes 1 Logical and physical pointers Grid-based storage (in class, not in the book) Query Processing, Optimization and Tuning – Chapter 9.8, 10, 11, 12 Query tree, query execution plan Identities, Join-order Main steps in optimization, Heuristic vs. cost-based optimization Join alternatives – nested loop join, sort-merge join, hash join External sorting Tuning – design decisions, monitoring, 80-20 rule SURLY – SURLY Spec Representation of tuples, tables, indexes Methods an index must handle Tradeoffs re Heap, Hash, and Tree index 1 Not covered in class or on test, but read about this – worth knowing.