목록Database/Database (2)
규도자 개발 블로그
이런 말로도 쓸 수 있겠다. 데이터베이스에 들어가는 값은 최대한 변하지 않는 값이어야 한다. 예를 들어서 어떤 플랫폼에서 나이를 다룬다고 하자. 그리고 사람들의 나이를 각 회원들의 열에 저장하였다. 생각만으로 머리가 아파지지 않는가? 나이를 세는 기준은 무엇인가. 연도? 생일? 만약에 전자라면 해가 지날 때마다 모든 회원들의 나이데이터를 불러와서 1을 더한 다음에 다시 저장하는 과정을 거쳐야 한다. 만약에 후자라면 매일매일 날짜를 체크하여 회원의 생일이 지났는지를 검사하여 생일이 지났으면 해당 회원의 나이를 불러와서 1을 더한 다음에 다시 저장해야한다. 이것도 아주 단적인 예만 말한 것이다. 만약에 회원이 외국인이라면? 혹은 나이를 세는 기준이 바뀐다면? 그도 그럴 것이 이 '나이'라는 것이 현대에 와서..
쿼리로 구할 수 있는 데이터는 따로 데이터베이스에 넣지 않는 것이 좋다. 그 데이터를 복잡한 연산에 자주 사용하는 것이 아니라면 말이다. 예를 들어 여러 플랫폼에서 흔하게 볼 수 있는 추천인 시스템을 구현한다고 했을 때, 해당 회원에 종속돼야할 정보는 해당 회원에게 발급된 추천인 코드와 해당 회원이 가입할 때 입력하였던 추천인코드, 이 두 개면 시스템을 구성하는 데는 충분하다. 하지만 만약, 해당 회원에게 종속된 데이터에 부가적인 정보, 예를 들어 해당 회원을 추천한 회원들의 목록, 추천한 회원들의 숫자 등의 정보가 부가적으로 존재할 뿐더러 이 정보를 실제 서비스플로우에서 사용하게 되는 경우라면... 갑자기 머리가 아파진다. 특정 회원을 추천한 회원들의 목록은 쿼리로 구할 수 있다. 그 회원들의 숫자 또..