더북(TheBook)

이런 목표를 달성하는 일반적인 방법은 의미 없는 숫자 데이터로 자동 생성되는 컬럼을 기본키로 만드는 것이다. 관계형 데이터베이스 관리 시스템(Relational DataBase Management System, RDBMS) 소프트웨어에 따라 이 컬럼은 여러 이름으로 칭하는데 DB2, SQL Server, 오라클 12c에서는 IDENTITY, 액세스에서는 AutoNumber, MySQL에서는 AUTO_INCREMENT, PostgreSQL에서는 serial 컬럼이라고 한다. 오라클 12c 이전 버전에서는 동일한 기능을 구현하려면 컬럼 속성이 아닌 독립적인 시퀀스(Sequence) 객체를 사용해야 했다. DB2, SQL Server, PostgreSQL에서도 시퀀스 객체를 지원한다.

관계형 데이터베이스에서 참조 무결성(Reference Integrity, RI) 개념은 매우 중요하다. 참조 무결성을 준수한다는 것은 널이 아닌 외래키(Foreign Key)가 설정된 자식 테이블의 각 레코드와 일치하는 레코드가 부모 테이블에 존재한다는 것을 의미한다.

잘 설계된 Orders 테이블이라면 고객 정보 컬럼에 외래키를 설정해 Customers 테이블의 기본키와 연결되어 있을 것이다. 따라서 John Smith라는 고객이 실제로 여러 명이더라도 Customers 테이블의 각 로우는 유일한 키를 가지므로 각 주문에 대응하는 오직 하나의 고객만 쉽게 식별할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.