내 첫 모델링 과제는 스타벅스 메뉴(그것도 음료만)를 모델링 해보는 것이었다.
동기 두 명과 함께 아래의 테이블 세 개 짜리 모델링에 반나절을 불태웠는데, 그마저도 보완해야할 사항이 무척 많았다.
이후로도 1차 프로젝트, 2차 프로젝트, 기업협업, 사이드프로젝트 등 모델링을 해볼 기회가 꽤 있었다.
그런데 항상 시간에 쫒겨 모델링이 도대체 무엇인지, 어떤 원칙으로 해야하는지 이론적으로 정리해볼 기회가 없었다.
열심히 삽질하고 멘토님, 동기, 현업 담당자 분들의 피드백을 받으면서 나름의 원칙을 체득하는 수 밖에 없었다.
그래서 이 기회에 데이터베이스의 설계에 대해 간략하게나마 정리해보려 한다.
데이터베이스 설계란?
- 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 것.
- 주된 내용은 테이블의 이름이나 열, 자료형을 결정하는 것.
- 테이블 간의 관계를 생각하며 여러 테이블을 정의 하고 작성하는 것.
Name(물리명)
Logical Name(논리명)
무엇이든 저장할 수 있는 자료형은 없기 때문에, 테이블 열에는 자료형을 지정해야 한다.
프로젝트를 진행하며 자주 사용했던 자료형과 그 용도는 아래와 같다.
주로 Aquerytool을 이용해 ERD를 작성했었다.
그러나, 테이블 수가 많고 관계가 복잡한 경우 Draw.io를 이용하면 좀더 깔끔하게 작성할 수 있다고 한다.
참고 :
Wecode 교육과정
아사이 아츠시, SQL 첫걸음
일단, 끝.😇