Atomic Value
원자값은 “업무에서 하나의 값으로 다루는가”까지 포함한다
한 셀에 여러 값을 넣으면 검색과 수정이 문자열 처리 문제가 됩니다. 1NF는 반복 값을 별도 튜플로 분리해 각 속성 값이 도메인 안의 단일 값이 되게 합니다.
1NF 위반
한 속성에 여러 전화번호 저장
| student_id | name | phones |
|---|---|---|
| 2024001 | 김철수 | 010-1111, 010-2222 |
| 2024002 | 이영희 | 010-3333 |
전화번호 하나만 검색·삭제하려면 셀 안의 문자열을 다시 해석해야 합니다.
→
1NF 만족
반복 값은 별도 릴레이션으로 분리
| student_id | name |
|---|---|
| 2024001 | 김철수 |
| 2024002 | 이영희 |
1:N
| student_id | phone |
|---|---|
| 2024001 | 010-1111 |
| 2024001 | 010-2222 |
| 2024002 | 010-3333 |
Search
조건 검색이 단순해진다
WHERE phone = ... 조건이 값 하나에 바로 적용됩니다.
Update
부분 수정이 안전해진다
한 번호만 고치려고 문자열 전체를 다시 만들지 않습니다.
Constraint
제약 조건을 걸 수 있다
각 phone 값에 UNIQUE나 CHECK 규칙을 적용할 수 있습니다.
Context
원자성은 업무 기준이다
주소도 시·구 검색이 필요하면 더 작은 속성으로 나눌 수
있습니다.