데이터 모델과 SQL

[데이터 모델과 SQL] 0.서비스 개발과 데이터 모델

영바이트 2022. 12. 13. 19:59

웹 서비스를 개발하면서 느끼는 것이지만 웹 서비스는 기능(function)을 만드는 일이 아니라 연결(network)을 만드는 일임을 새삼 느끼게 된다. 연결의 대상은 어떤 노드들이고 이들 노드들 사이의 관계(link)가 데이터 모델로 묘사된다. 네트워크는 노드와 관계를 함께 포함하는 개념이다.

 

예를 들어 서비스의 사용자를 아래와 같은 데이터로 나타낸다고 하자.

user_id 이름 연락처 취미
1 김○○ 010-1234-5678 독서
2 석□□ 010-1357-2468 게임
... ... ... ...

 

만약 user_id가 1인 사람과 user_id가 2인 사람이 친구라면 아래와 같이 연결 데이터로 이를 나타낼 수 있다.

matching_id user_id_1 user_id_2 거리
1 1 2 1
... ... ... ...

 

만약 어떤 서비스를 웹 위에서 구현한다고 하면 웹 프로그램이 일차적으로 하는 일은 이 데이터 모델을 관리하고 서비스 사용자에게 적절하게 제공하는 일일 것이다. 물론 편리한 UI와 같은 경험을 사용자에게 제공해야 하는 것도 소홀히 할 수 없다. 웹 서비스를 구성하는 MVC(Model - View - Control) 개념에서 모델(M)이 가장 처음에 나오는 이유도 여기에 있다.

 

결론은 데이터 모델이 아주 중요하고 수준 높은 서비스 개발자라면 데이터 모델을 잘 설계할 수 있어야 한다는 점이다. 그런 이유로 필자도 데이터 모델 그리고 SQL에 대해 좀 더 깊이 공부해 볼 계획이다.