TIL

23/12/13 __ TIL DB 테이블 설계하기

GABOJOK 2023. 12. 14. 01:22

 

 

내일배움캠프 에서 백오피스 프로젝트로  과제가 나왔고,

그중 우리팀은 펫시터 서비스를 진행하기로 했다. 

 

데이터베이스 설계부분이 정말 어려웠는데, 서로간의 연간관계도 어려웠지만,

날짜 데이터를 어떻게 처리해야할지 정말 감이 안왔다.

 

 

처음에는 배열을 생각했지만, 튜터님께 찾아가 여쭤보니 아래와 같은 사실을 알수 있었다. 

날짜 데이터를 배열로 하게 되면, 어떤 값을 찾기 위해 , 첫번째 부터 계속 돌아야 하기 때문에 별로 좋지 않다. 

 

 

그래서 아래와 같은 방법 중 선택을 하기로 했다. 

 

1.  no SQL 데이터 베이스를 이용해 날짜 데이터를 넣는다. 
      장점 )  여러 날짜 데이터를 한번에 넣을 수 있다. 
      단점 )  비 관계형 데이터베이스 이다.( 관계형 데이터베이스를 사용하고 싶었다.)

2. sql 데이터베이스를 넣을때 하루에 해당하는 날짜 데이터를 넣는다.
즉 1-3일 이라면 , 1, 2, 3 각각의 데이터가 생겨나며 개수 만큼의 로우가 생긴다. 
     장점 ) sql에서 날짜 데이터를 처리할 수 있다. 
     단점 ) 모든 날짜 데이터를 처리하기 위해 그 개수만큼 디비에 접속한다. 

 

그러나 현재 서비스 크기에서는 무리가 없을것이라고 판단하여, 2번으로 진행하기로 했다. 

아래는 결정된 스키마 구조이다. 

 

 

 

여전히 날짜 데이터를 여러번 처리하는 부분이 고민이지만, 시간이 없어서 일단 이렇게 결정하고 빠르게 프로젝트 진행을 해야할 것 같다. 

어떻게 처리를 좀더 효율적으로 할 수 있을지는 더 많은 고민이 필요하다.