핵심 인사이트 (3줄 요약)

  1. 본질: 도메인(Domain)은 관계형 데이터베이스의 속성이 가질 수 있는 합법적인 원자값(Atomic Value)들의 집합이다.
  2. 가치: 도메인은 데이터 타입보다 더 의미 있는 제약 개념으로, 잘못된 값의 입력을 막아 무결성을 지킨다.
  3. 판단: 도메인을 잘 정의해야 CHECK 제약, ENUM, 형 변환, NULL 정책까지 일관되게 설계할 수 있다.

Ⅰ. 개요 및 필요성

속성은 아무 값이나 받을 수 없고, 허용된 범위 안에서만 값을 가져야 한다. 도메인은 이 허용 범위를 정의하는 보이지 않는 울타리다.

정확한 도메인을 두면 잘못된 입력을 초기에 막을 수 있고, 검색과 비교도 일관되게 할 수 있다.

  • 📢 섹션 요약 비유: 사과 바구니에는 사과만 넣어야 하고, 도메인은 바구니에 무엇을 넣을지 정해 주는 규칙이다.

Ⅱ. 아키텍처 및 핵심 원리

Attribute
  ↓
Domain
  ↓
Allowed Atomic Values
  ↓
Integrity Check
개념의미
Domain속성의 합법적인 값 집합
Atomic Value더 쪼개지지 않는 원자값
Constraint도메인 위반을 막는 규칙

도메인은 단순 타입이 아니다. 예를 들어 INT 타입이라도 나이는 음수가 될 수 없고, 월급은 0보다 커야 하므로 의미적 제약까지 고려해야 한다.

  • 📢 섹션 요약 비유: 숫자라고 다 같은 숫자가 아니라, 어떤 칸에는 나이만, 어떤 칸에는 월급만 들어갈 수 있다.

Ⅲ. 비교 및 연결

구분DomainData TypeConstraint
범위의미적 허용값저장 형식검증 규칙
역할값의 집합 정의표현 방식위반 차단
예시성별, 연령, 금액INT, VARCHARCHECK, NOT NULL

도메인은 타입과 제약을 이어 주는 개념이다. 타입만 맞고 의미가 틀리면 데이터 품질은 여전히 나빠진다.

  • 📢 섹션 요약 비유: 같은 크기 컵이라도 물만 담을 수 있는지, 주스도 되는지는 규칙이 다르다.

Ⅳ. 실무 적용 및 기술사 판단

체크리스트

  1. 속성별 허용 값 범위를 정의했는가?
  2. CHECK 제약이나 ENUM으로 도메인을 표현했는가?
  3. NULL 허용 여부를 명확히 했는가?
  4. 형 변환과 문자 집합을 일관되게 관리하는가?
  5. 도메인 위반이 입력 단계에서 차단되는가?

안티패턴

  • 타입만 맞으면 된다고 생각하는 설계
  • 의미 없는 자유 입력을 허용하는 설계
  • 도메인 규칙을 애플리케이션 코드에만 숨기는 설계
  • NULL 정책 없이 필드만 쌓는 설계

기술사 관점에서는 도메인을 단순 데이터 타입으로 축소하지 말아야 한다. 도메인은 데이터 의미와 무결성을 함께 담는 설계 개념이다.

  • 📢 섹션 요약 비유: 크레파스 상자에 있는 색만 써야 그림이 망가지지 않는다.

Ⅴ. 기대효과 및 결론

도메인을 명확히 하면 잘못된 데이터가 줄고, 통계와 검색도 안정적이 된다. 결국 도메인은 데이터 품질의 출발점이다.

결론적으로 도메인은 속성이 가질 수 있는 의미 있는 값의 경계다.

  • 📢 섹션 요약 비유: 상자에 넣을 수 있는 장난감 종류를 먼저 정해 두는 일이다.

관련 개념 맵

Attribute
  ↓
Domain
  ↓
Constraint
  ↓
Data Integrity

관련 키워드 및 발전 흐름도

원자값
  ↓
도메인
  ↓
제약 조건
  ↓
데이터 무결성

어린이를 위한 3줄 비유 설명

바구니에는 아무거나 넣지 못해요.
도메인은 넣을 수 있는 것만 정해 주는 규칙이에요.
그래야 데이터가 헷갈리지 않아요.