대략 설명을 해보면,
a. 호스트가 먼저 있어서 숙소를 등록한다. (여러개 등록 가능)
b. 이후에 등록한 숙소들을 대상으로 날짜/금액 테이블을 집어넣고 예약정보를 만든다.
c. 숙소에는 추가정보를 집어넣거나 관리할 수 있다.
d. 고객은 숙소정보와 예약정보를 읽고, 예약 데이터를 만든다.
e. 고객은 거래(결제) 데이터를 남길 수 있고, 후기 데이터를 남길 수 있다.
물론 실제로는 호스트와의 실시간 연결, 고객상담 등 추가 기능이 있겠지만 대략적으로는 이렇게 보인다.
나는 사용자들이나 데이터들 사이에 무슨 일이 일어날 것인지, 어떤 데이터가 필요한지는 생각했지만, 실제로 기능 (회원가입, 숙소만들기, 정보변경, 예약하기, 결제하기 등)이 발생할 때 서로 어떤 테이블이 오갈 것 인지에 대해서 고려하지 않았다.
이제 사용자 들이 무슨 기능을 어떤 데이터를 주고 받으면서 작동시킬지에 대해서 다시 그림을 그려보고, 앱(작동 클래스)를 분리시키고 다시 데이터베이스 모델을 만들러 가겠다.
CRUD에 대해서만 배운다던가, 인터넷강의 등으로 1시간/30분만에 만드는 간단한 기능구현! 만 해보다가, 조금 더 복잡한 작업을 시작했을 뿐인데 이렇게 헤맨다. 스스로 한심하기도 하고 약간 설레기도 한다. 화이팅