💡 핵심 인사이트
카디널리티 비율(매핑 카디널리티)은 두 개체가 관계를 맺을 때, "한쪽 개체 1마리가 반대쪽 개체 몇 마리와 손을 잡을 수 있는가?"를 수치화한 대응(Mapping) 규칙입니다.
1:1, 1:N, M:N 세 가지로 나뉘며, 나중에 테이블을 만들 때 외래 키(FK)를 어느 테이블에 심어줄 것인지, 아니면 교차 테이블을 새로 팔 것인지를 결정하는 가장 중대한 건축 설계도가 됩니다.
Ⅰ. 카디널리티 비율의 3가지 유형
실제 비즈니스 규칙(사규)에 따라 이 비율이 결정됩니다.
1. 1 : 1 (일대일 관계)
- 정의: A 개체의 하나가 B 개체의 단 하나와만 연결되고, 반대로 B 개체의 하나도 A 개체의 단 하나와만 연결되는 닫힌 관계입니다.
- 예시:
[사원]과[회사 PC](사원 1명은 PC 1대만 지급받고, 그 PC는 1명의 사원만 쓴다). - DB 매핑법: 두 테이블 중 아무 곳에나 상대방의 기본 키(PK)를 가져와 외래 키(FK)로 심어주면 끝납니다.
2. 1 : N (일대다 관계) ★가장 흔함★
- 정의: A 개체의 하나가 B 개체 여러 개와 연결될 수 있지만, 반대로 B 개체는 오직 A 개체 하나와만 연결되는 상하/소속 관계입니다.
- 예시:
[부서] 1:N [사원](영업부 1개에는 사원이 100명 있을 수 있지만, 사원 홍길동은 오직 영업부 1곳에만 소속된다). - DB 매핑법: 1:N 관계에서는 반드시 N(다) 쪽 테이블에 1(일) 쪽 테이블의 기본 키(PK)를 외래 키(FK)로 꽂아 넣어야 합니다. (사원 테이블 이마에 '영업부 번호' 딱지를 붙여줍니다.)
3. M : N (다대다 관계) ★가장 복잡함★
- 정의: 양쪽 개체 모두가 서로 여러 명과 양다리(문어발)를 걸칠 수 있는 난잡한 관계입니다.
- 예시:
[학생] M:N [과목](홍길동은 DB, OS, 네트워크 3과목을 듣고, DB 과목 안에는 홍길동, 김철수, 이영희 수십 명이 들어옵니다). - DB 매핑법 (매우 중요): 관계형 DB는 물리적으로 다대다 관계를 1개의 외래 키로 표현할 수 없습니다. 따라서 학생과 과목 테이블 사이에 '수강내역'이라는 제3의 교차 테이블(매핑 테이블)을 강제로 파내어, 1:N과 N:1 두 개의 관계로 찢어놓아야만 DB 시스템이 굴러갑니다.
Ⅱ. ERD에서의 표기법 (새발의 피, Crow's Foot)
현업에서 가장 많이 쓰는 IE 표기법(Information Engineering)에서는 선의 끝부분 모양으로 비율을 그립니다.
- 1 (하나): 선 끝에 수직선(
|)을 긋습니다. - N (여러 개): 선 끝을 닭발이나 새 발자국(
∈) 모양으로 세 갈래로 벌려놓습니다. - 예: 부서
|─────────∈사원 (부서 1개에 사원 여러 명)
📢 섹션 요약 비유: 카디널리티 비율은 남녀의 미팅 방식입니다. 1:1은 철저하게 한 명씩 짝을 짓는 일대일 소개팅입니다. 1:N은 인기 많은 의자왕(부서) 한 명 주위에 여러 명의 팬(사원)이 둘러앉은 팬미팅입니다. M:N은 수십 명의 남녀가 칵테일 잔을 들고 이리저리 돌아다니며 연락처를 무한대로 뿌리는 광란의 파티장이므로, 이를 정리하려면 '연락처 수첩(교차 테이블)'이 반드시 별도로 필요합니다.