Final Review Summary
-
-
-
-
You get cheat sheet from midterm as well
Summary
- ER/EER diagrams and schema
- Description of SQL
- Description to Relational and vice versa
- Making queries from ER diagrams
- BCNF (common between both)
- Keys, views, triggers (practice 2-3 times)
- Transaction graph (written form and table)
- Old/new events (seen in triggers)
- Query processing tree
- Conversions between forms ER → SQL → RA → Query Plans (60% minimum)
50% questions on final similar to content on assignment 4
Maybe 20% questions from assignments 1-3 on final
Lec 1 (Intro + Terminology)
- Terminology (MC/Definitions)
- Shoot for bold words (definitions and facts)
- Actors in terminology
- Database - Collection of related, representative of some part of the real world
(miniworld)
- Examples
- No questions related to specific databases
- Phases for designing a database (Conceptual, logical, physical, req.
specification)
- Where to apply ER, SQL, distributed systems, etc.
- DDL (querying), DML (manipulation)
- Data catalog - Relations and their schema
- Pay attention to diagrams
Lec 2 (Relational Data Model)
- Relational model
- Relation, tuple, attributes
- Instance - Relation at a point in time
- Domains, schema, attributes
- No formalization
- Cartesian product and joins
- Value types (multivalued/composite/flat) and NULL behaviour
Lec 3 (Constraints) ***
- Constraint types (implicit/explicit/semantic) and find examples
- Domain
- Key (superkey, foreign, primary, candidate)
-
-
-
-
-
-
-
-
- Integrity (domain, check, unique, referential) and find examples
- Foreign key rules
Lec 4 (Basic SQL) - Assignments :)
- Make queries guaranteed
- Commands, functions, operators
- ER/EER diagram business case
- SQLite syntax (>) in general
- Practice with things available
- Given a table and query/queries, mental compiling
Lec 5 (Relational Algebra)
- Same ones as the assignment (simpler though), guaranteed
- Project, select, rename, join (try to prac.)
- Query trees*** (also seen in query processing)
Lec 6 (Nested SQL) - Understanding for business cases
- Self-joins (this one’s tricky)
Lec 7 (SQL updates)
- UPDATE, INSERT, DELETE (should be standard)
- Shouldn’t be any DELETE’s, focus is extraction
- Assertions (sure)
- Triggers ***
- PROPER TRIGGER CONFIG (slide 12)
- Event, condition, action
Lec 8 (NULLs) - Again behaviour
- Boolean logic
- IS NULL
- When is NULL ignored
- Join and NULL
Lec 9 (Views) - “Query with a name”
- Security
- View materialization - Answer also stored, not in schema
- Must be recalculated after base tables change
- Prac View syntax
Lec 10 (ER Model)
- Relationships
- Total vs partial
- Probably will draw one
- Labelled corrected
- Go for 1 to N unless they ask
- ER Diagrams high priority
Lec 11 (EER Model)
- Extension of ER Model
- Specialization vs generalization
- Disjoint/overlapping
Lec 12 - (ER to Relation conversion)
-
-
-
-
-
1. Regular entities
2. Weak entities
3. 1-1s
4. 1-Ns
5. M-Ns
Lec 13 (Dependencies) ***
- 1+ question for sure
- BCNF (3x practice)
- Questions probably difficult
- Functional/trivial dependency
- Lotta theory, understand from the diagrams
- Not explicit, must understand the theory
Lec 14 (DB Systems)
- Diagrams for architectures
- Different levels (internal, conceptual, external)
- Physical/logical data independence
- Slide 7
- 4/5 line definition for short answer
- “Which of the following is not DDL”
- Client server, three-tier architectures (there’s one more architecture type to look
for)
- Skip classification
Lec 15 (Transactions)
- read/write
- Commit/abort
- Transaction notation (read, write, begin, end)
- Transaction errors, how they break ACID
Lec 16 (Concurrency Recovery)
- ACID (again)
- Interpret transaction tables
- Rows are chronological steps
- Draw table
- Problem types (exam only)
- Ie, Phantom
- Sequence/schedule
- Serializing
- Serialization graph (probably on the exam)
- Cycle breaks serializability
- DB locks and 2PL
- How to serialize (reorder the schedule)
- Deadlock and starvation (theory)
- Understand the rest
Lec 17 (Query Processing) - Translating SQL query to relational to structure trees
- Query processing
-
-
-
- Easy equivalence rules proofs (?)
- Skim complexity
Lec 18 (Security)
- Access control mechanisms
- DAC, MAC, RBAC
- Bell-LaPadula - No read-up or write-down
- Skim grant and revoke
- Study grant table
Lec 19 (Distributed databases)
- Benefits of distributed databases (get distinctions)
- Different types of data allocation and fragmentation types
- Vertical fragmentation - Treat like view
- Horizontal fragmentation - Using WHERE for different locations
- Pros/cons of fragmentation
- Lock management (big theory question [?])
Lec 20 (Data warehouses) - Skipped for final. Logic is that it is pipeline to data science