데이터베이스 기초집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
0 / 2ERD 작성과 카디널리티 미니 퀴즈
선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.
LESSON STATUS
5강. ERD 작성과 카디널리티 미완료 상태학습을 마쳤나요?
직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.