데이터 설계 가지고 놀기

Description: 데이터 설계를 경험을 통해 직간접적으로 배운 중요성과 방법을 소개하고 일반화합니다. 이를 통해 문제를 해결할 때 어떻게 설계하는 것이 좋은 설계일까에 대한 정보를 젝오합니다.

현재 노트: KR-410.10 b 데이터 설계 가지고 놀기
상위 분류: KR-410.10 개발자로서 한 번쯤 생각해볼 고민들

#개인학습과성장 #성장경험

데이터 설계 가지고 놀기

프로그래밍에서 구현을 하다보면 자주 언급되는 공통 역량이 있다.

  1. 이름 짓기
  2. 데이터 설계

이 글에서는 데이터 설계에 관련된 이야기를 다루며 내 경험 위주로 얻은 것을 적은 후, 일반화하는 것이 목적이다.
여기서 말하는 데이터 설계 란 단순히 배열, 해쉬맵 같은 자료구조를 선택하는 것이 아니라, 특정 문제를 해결하기 위해 데이터를 어떻게 구성하고 처리할지에 대한 구체적인 설계 과정을 의미합니다."

예를들어 우리가 순환근무자를 위한 근무표 생성 프로그램을 만든다고했을때, 실제 테이블 표 , 순환근무자의 정보등의 데이터를 처리할 때 어떤 구조, 어떤 키값을 가질까와 같은 의미이다.

구체적으로 실제 테이블 표에 대해

데이터 설계 정하기가 중요한 이유

내가 개인적으로 느낀것은 데이터 설계를 잘 선정하면 얻는 장점

  1. 모듈화 하기 쉽다. 입출력이 명확해져서 모듈을 만들때의 입, 출력을 쉽게 이해할 수 있다.
  2. 성능이 높아진다. 문자열대신 숫자라던가, 배열 대신 해쉬등과 같은 구조에따라 성능이 높아질 수 있다.
  3. 버그를 줄이기 쉽다. 어떤 구조인가에 따라 사용하는 메소드들이 달라질텐데, 이 메소드가 명확해져서 판단하기 쉽다.
  4. 유지보수가 편리해진다. 너무 복잡한 데이터 설계를 한 경우 그 용도,의미,한계등을 파악하기가 쉽지 않습니다. 그래서 적절한 기능을 위한 적절한 데이터 설계는 추후 유지 보수에 도움이 됩니다.
    이 외에도 여러 장점이 있지만, 대표적으로 위와 같은 장점들이 있다.

복잡한 편의점의 시스템을 구현하는 경험에서 느낀부분이었습니다.
편의점의 경우 생각보다 복잡한 시스템으로 재고를 처리하게 되는데

일반화하기

이런 경험을 통해 데이터 설계하기에 있어서 필요한 경우 해당 기능 수행시에만 필요한 데이터를 설정하는 것도 문제를 해결하는 한 방법이구나 라고 배웠습니다