Page 10 -
P. 10
그림 1-1 일관성 없는 데이터
컴퓨터 관점에서 그림 1-1을 본다면 모든 값이 유일한 것은 분명한 사실이
지만, 이들은 모두 같은 사람이거나 적어도 첫 번째와 두 번째, 네 번째 로우
는 동일한 사람(John A. Smith)일 수 있다. 컴퓨터는 사람보다 훨씬 빠르게 데
이터를 처리할 수 있지만, 상당한 양의 프로그래밍 없이는 언제 특정 데이터
를 동일한 것으로 간주해야 할지 판단하는 작업은 잘 처리하지 못한다. 따라
서 이 테이블에서는 Customer 컬럼을 기본키로 정의할 수 있는데, 유일한 값
을 가져야 한다는 요구 사항을 만족시키더라도 바람직한 선택은 아니다.
그렇다면 무엇이 기본키의 좋은 후보 자격이 될 수 있을까? 다음 특성을 따
르는 컬럼을 후보군으로 삼으면 된다.
● 유일한 값을 가져야 한다.
● 널 값을 가질 수 없다.
● 안정적인 값이어야 한다(즉, 값을 갱신할 필요가 없다).
● 가능한 한 간단한 형태여야 한다(예를 들어 문자나 부동소수점보다는 정수
형이 낫고, 여러 컬럼보다는 단일 컬럼이 낫다).
이런 목표를 달성하는 일반적인 방법은 의미 없는 숫자 데이터로 자동 생
성되는 컬럼을 기본키로 만드는 것이다. 관계형 데이터베이스 관리 시스템
(Relational DataBase Management System, RDBMS) 소프트웨어에 따라 이 컬럼은
여러 이름으로 칭하는데 DB2, SQL Server, 오라클 12c에서는 IDENTITY, 액
1장 데이터 모델 설계 033
SQL 코딩의 기술(본문)최종.indd 33 2017-11-15 오후 11:27:49