SkillByAIOpen interactive version →

Database Fundamentals

Learn DBMS fundamentals: ER modelling, relational algebra, SQL, normalisation, transactions and ACID, concurrency control, recovery, indexing and CAP.

Start course →

What you'll learn

Syllabus

What a Database System Is

  1. Why Databases Instead of Files
  2. Three-Schema Architecture and Data Independence
  3. Data Models

Entity-Relationship Modelling

  1. Entities, Attributes and Relationships
  2. Weak Entities, Specialisation and Aggregation
  3. Mapping ER Diagrams to Tables

The Relational Model and Relational Algebra

  1. Relations, Keys and Integrity Constraints
  2. Relational Algebra
  3. SQL Essentials for Fundamentals

Functional Dependencies and Normalisation

  1. Functional Dependencies, Closures and Keys
  2. Normal Forms: 1NF, 2NF, 3NF and BCNF
  3. Lossless Decomposition, Dependency Preservation and Denormalisation

Transactions and Isolation

  1. Transactions and ACID
  2. Schedules and Serializability
  3. Anomalies and Isolation Levels

Concurrency Control and Recovery

  1. Locking, Two-Phase Locking and Deadlocks
  2. Timestamps, Optimistic Control and MVCC
  3. Logging, Checkpoints and Crash Recovery

Storage, Indexing and Query Processing

  1. Pages, Files and the Buffer Pool
  2. Indexes: B+ Trees and Hashing
  3. Query Processing, Join Algorithms and EXPLAIN

Beyond a Single Relational Database and Revision

  1. NoSQL, CAP and BASE
  2. Replication, Partitioning and Distributed Transactions
  3. Practical Database Design Checklist
  4. Revision and Exam Questions