4.4.1 스키마
예약을 어떤 형식으로 저장해야 할까요? 관계형 데이터베이스나 그래프 데이터베이스[89] 혹은 문서 데이터베이스에 저장해야 할까요?
『테스트 주도 개발로 배우는 객체 지향 설계와 실천(Growing Object-Oriented Software, Guided by Tests; GOOS)』[36]의 정신을 따른다면 테스트 주도 개발을 가장 잘 지원하는 기술을 선택해야 합니다. 가급적 자동화된 테스트 내에서 호스팅할 수 있는 것이 좋습니다. 문서 데이터베이스가 적당해 보이네요.
하지만 저는 교육적인 목적으로 관계형 데이터베이스, 특히 SQL 서버를 선택하겠습니다. 이유는 첫째, 원칙에 입각한 외부 접근 테스트 주도 개발을 학습하는 경우에 GOOS[36]라는 이미 훌륭한 참고 자료가 있습니다. 둘째, 관계형 데이터베이스는 어디서나 사용되기 때문입니다. 특정 관계형 데이터베이스를 반드시 사용해야 하는 경우도 있습니다. 조직에서 특정 공급업체와 지원 계약을 맺고 있거나, 운영팀에서 유지 관리하고 백업하는 방법을 알고 있다는 이유로 특정 시스템을 선호할 수 있습니다. 또는 동료들이 특정한 데이터베이스에 가장 익숙할 수도 있습니다.