카디널리티(Cardinality)

agnusdei·7일 전
0

Database

목록 보기
23/30

카디널리티(Cardinality) 통합 정리


1. 기본 개념

**카디널리티(Cardinality)**는 상황에 따라 약간 다른 의미로 사용되지만, 공통적으로 "어떤 대상의 개수" 또는 **"몇 번 연결되거나 발생하는가"**를 나타내는 개념입니다.


2. ER 모델에서의 카디널리티

● 정의

ER(Entity-Relationship) 모델에서 카디널리티는 **개체(Entity) 간의 관계(Relationship)**에서, **한 개체가 다른 개체와 관계를 가질 수 있는 수(횟수)**를 의미합니다.

● 종류

유형설명예시
1:1 (일대일)한 사람은 하나의 여권만 가질 수 있음주민 - 주민등록증
1\:N (일대다)고객 한 명은 여러 주문을 할 수 있음고객 - 주문
N\:M (다대다)학생 여러 명이 여러 과목을 수강할 수 있음학생 - 과목

● ER 다이어그램 표현

  • 1:1 → [A] 1 --- 1 [B]
  • 1\:N → [A] 1 --- N [B]
  • M\:N → [A] N --- M [B]

※ 보통 관계선 위에 숫자(1, N, M) 또는 (min, max) 형식으로 표현


3. ER 모델이 아닌 경우의 카디널리티

● 수학 (집합 이론)

  • 정의: 집합 내 원소의 개수

  • 예:

    • A = {1, 2, 3} → 카디널리티 = 3
    • B = ∅ → 카디널리티 = 0

● 관계형 데이터베이스(RDB)

1) 속성의 카디널리티

  • 정의: 컬럼의 서로 다른 값 개수 (Unique values)

  • 예:

    • 성별(Gender): 남/여 → 카디널리티 2
    • 주민번호: 모두 다름 → 카디널리티 매우 높음

2) 테이블 간 관계형 카디널리티

  • 외래키 제약조건에 따라 ER 모델처럼

    • 1:1, 1\:N, N\:M 관계 정의 가능
    • 예: 하나의 고객 ID가 주문 테이블에서 여러 번 등장 → 1\:N

● 데이터 분석/프로그래밍

  • 집합(Set)이나 배열(List)의 요소 개수
  • 분석 변수의 카디널리티 → 범주형 변수의 클래스 수
  • 예: 컬럼 “지역”이 서울/부산/대전 → 카디널리티 = 3

4. 요약 비교

구분의미예시
ER 모델개체 간 관계 수고객 1명 ↔ 주문 여러 건 (1\:N)
수학(집합 이론)집합의 원소 개수{a, b, c} → 3개
DB 속성 카디널리티속성(컬럼)의 서로 다른 값 개수성별: 2개 (남/여)
프로그래밍/통계데이터 값의 다양성 또는 연결 수Set 자료형 원소 수

어린이 버전 요약

  • 카디널리티는 “몇 개예요?” 또는 “몇 번 연결돼요?” 같은 질문이야!
  • ER 모델에서는 사람들끼리 친구가 몇 명까지 될 수 있느냐는 뜻이고,
  • 수학에서는 상자 안에 물건이 몇 개 들어 있느냐는 거야.
  • 데이터에서는 “서로 다른 값이 몇 가지냐”를 말해!

0개의 댓글