본문으로 건너뛰기
데이터베이스 기초집LESSON 05

ERD 작성과 카디널리티

난이도초급 → 중급
예상 시간35분
선수지식이전 강의

5강. ERD 작성과 카디널리티

1. 이번 강의에서 해결할 문제

관계 이름만 적고 몇 개까지 연결되는지 정의하지 않으면 중복 결과와 고아 행을 막을 수 없습니다. 게임 랭킹 서비스의 최소·최대 카디널리티를 ERD와 문장으로 함께 표현합니다.

2. 학습 목표

3. 핵심 개념

카디널리티는 한 엔터티 인스턴스가 다른 엔터티 몇 개와 연결될 수 있는지를 나타냅니다. 게임과 플레이어는 서로 여러 개와 연결되므로 N:M이지만, match_results를 두면 Game 1:N MatchResult와 Player 1:N MatchResult가 됩니다. 최소 카디널리티 0은 선택 관계, 1은 필수 관계입니다.

4. 단계별 예시

문서 경로: C:\dev\game-ranking-service\docs\database\05-erd.md

docs/database/05-erd.md
erDiagram
PLAYER ||--o{ MATCH_RESULT : participates
GAME ||--|{ MATCH_RESULT : contains
CHARACTER ||--o{ MATCH_RESULT : selected_as
PLAYER ||--o{ RANKING_SNAPSHOT : receives
SEASON ||--o{ RANKING_SNAPSHOT : groups
docs/database/05-erd-rules.txt
PLAYER 1명은 경기 결과가 0개 이상이다.
종료된 GAME 1개는 경기 결과가 2개 이상이어야 한다.
MATCH_RESULT 1개는 PLAYER, GAME, CHARACTER를 각각 정확히 1개 참조한다.
PLAYER와 GAME의 조합은 한 번만 나타난다.
PowerShell · 문서 목록 확인
Get-ChildItem C:\dev\game-ranking-service\docs\database\05-erd*

5. 동작 원리

ERD의 까마귀발은 최대 “여러 개”, 원은 최소 0, 막대는 최소 또는 최대 1을 나타냅니다. 다이어그램은 구조를 빠르게 전달하고 관계 규칙 문장은 최소 참여 수나 조건부 규칙을 명확히 합니다. UNIQUE (game_id, player_id)는 연결 엔터티의 중복 참가를 막는 구현 후보가 됩니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

ERD 작성과 카디널리티 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1다음 중 “ERD 작성과 카디널리티”의 핵심 요약을 실제 상황에 맞게 적용한 것은 무엇인가요?
  2. 문제 2“ERD 작성과 카디널리티”에서 ‘ERD만 그리고 규칙을 생략’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

5강. ERD 작성과 카디널리티 미완료 상태