Engine Atlas

Engine-neutral Database Foundations

DB를 처음 배울 때 필요한 개념부터 시작합니다

table과 row가 무엇인지, key와 constraint가 어떤 write를 허용하는지 이해한 뒤 SQL result와 transaction으로 이어갑니다.

Foundation 01 시작하기

Learning sequence

여섯 lesson이 DB 기초를 연결합니다

Foundation 01은 지금 학습할 수 있습니다. Foundation 02–06은 이어질 순서만 먼저 보여 줍니다.

  1. FOUNDATION 01

    Tables, rows, and keys

    학습 가능

    schema와 현재 rows는 어떻게 다르고, key는 어떤 row를 지키나요?

    customers와 orders를 직접 비교하고, 세 proposed row가 primary key와 foreign key를 통과하는지 예측합니다.

    Foundation 01 시작하기
  2. FOUNDATION 02

    Constraints and relationships

    NOT NULL, UNIQUE, CHECK와 관계 cardinality는 어떤 write를 허용할까요?

    constraint와 referential action을 entity relationship에 연결합니다.

    준비 중
  3. FOUNDATION 03

    How a query builds a result

    FROM에서 시작한 rows는 어떤 논리 순서로 최종 result가 될까요?

    JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT의 의미를 rows로 추적합니다.

    준비 중
  4. FOUNDATION 04

    Joins, groups, and subqueries

    match가 없거나 여러 개일 때 result row 수는 왜 달라질까요?

    INNER/LEFT JOIN, aggregate, EXISTS, CTE와 window의 결과 의미를 비교합니다.

    준비 중
  5. FOUNDATION 05

    Schema design and normalization

    어떤 dependency가 update anomaly를 만들고 table 분리를 요구할까요?

    functional dependency, 1NF–3NF/BCNF와 denormalization trade-off를 다룹니다.

    준비 중
  6. FOUNDATION 06

    Transactions and anomalies

    동시에 실행된 read와 write는 언제 안전하지 않은 결과를 만들까요?

    COMMIT, ROLLBACK, isolation anomaly, serializability, deadlock과 retry를 연결합니다.

    준비 중

MySQL Execution & Concurrency

기본 SQL을 이미 안다면

SELECT, JOIN, WHERE, ORDER BY, LIMIT의 기본 의미를 이미 안다면 실제 MySQL 실행 경로부터 시작할 수 있습니다.

MySQL LAB 01 열기