‘데이터베이스 설계를 잘한다’ 혹은 ‘데이터 모델링을 잘한다’는 게 어떤 의미인가요?
45
작성한 질문수 3
안녕하세요, 강사님. 강의를 들으면서 데이터베이스 설계와 모델링의 중요성을 많이 느끼고 있습니다.
문득 ‘데이터베이스 설계를 잘한다’ 혹은 ‘데이터 모델링을 잘한다’는 게 어떤 의미인지 궁금해졌습니다.
설계 과정에는 개념적, 논리적, 물리적 모델링 등 여러 단계가 있고, 각 단계마다 좋은 설계의 기준이 조금씩 다를 것 같은데요.
실무에서는 이런 기준을 어떤 방식으로 판단하시나요?
만약 같은 요구사항을 모델링했을 때 한쪽은 유지보수성이 높고 다른 쪽은 성능이 좋은 경우, 어떤 관점에서 우선순위를 정하시는지도 궁금합니다.
좋은 강의 제작해주셔서 감사합니다!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 든든한꼬마님.
데이터베이스 설계 및 모델링을 잘한다는 것은 다음과 같은 여러 요소를 고려하여 최적의 데이터 구조를 만드는 능력을 의미합니다:
개념적 모델링: 비즈니스 요구사항을 올바르게 이해하고, 이를 반영할 수 있는 논리적인 구조를 만드는 것이 중요합니다. 이는 사용자와의 소통, 요구사항 분석 능력도 포함합니다.
논리적 모델링: 여러 엔티티 및 그들 간의 관계를 명확히 정의하고, 데이터 무결성과 사용자 요구를 충족하는 구조를 설계해야 합니다.
물리적 모델링: 논리적 설계를 실제 데이터베이스 시스템에 맞게 최적화하는 과정으로, 성능과 물리적 제약들을 고려하여 적절히 구현해야 합니다.
실무에서는 대개 다음의 기준을 사용하여 설계를 평가합니다:
- 정규화 수준: 데이터 중복을 제거하고 무결성을 보장하는 구조인지 확인합니다.
- 확장성: 요구사항의 변화나 데이터 증가에 대비하여 설계를 확장성 있게 구성해야 합니다.
- 성능: 쿼리 성능이 적절한지, 인덱싱이 잘 되어 있는지를 판단합니다.
유지보수성 vs 성능 문제에서는 상황에 따라 다른 우선순위를 적용할 수 있습니다. 예를 들어, 처음 단계에서는 유지보수성을 우선으로 두고 데이터 모델을 설계하며, 추후 필요에 따라 성능 최적화를 진행하기도 합니다. 이 과정은 팀의 목표와 프로젝트의 성격에 크게 의존할 수 있습니다.
더 자세한 내용은 다음 링크의 질문과 답변에서 참고하실 수 있습니다:
1. 객체설계에 대해서 질문이 있습니다.
2. 데이터 중심 테이블 설계와 객체 중심의 테이블 설계
3. 데이터베이스 설계 질문드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.
0
29
1
자연키 vs 대리키 실무질문
0
18
1
1:N 관계에서 중간테이블 (연관엔티티)
0
44
2
일대일 fk 위치
0
37
1
제 3 정규형 vs BCNF 정규형 차이점?
0
81
3
BCNF 질문
0
72
2
연관 엔티티 네이밍 규칙
0
48
1
진짜 강의 듣는거 너무 고문
0
133
1
28강 sql 파일 어딨나여?
0
86
1
2NF의 엄밀한 정의
0
72
1
comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.
0
120
3
학습중인 수업자료를 받아볼 수 있을까요??
0
100
2
수업자료 pdf파일관련 건의 - 제목 링크위치 개선
0
86
2
서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문
1
102
2
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
0
80
1
슈퍼/서브 타입 joined 전략
0
71
2
created_at 관련 구현과 DB ENUM에 대해
0
71
1
M:N 관계의 연관 엔티티 설계 순서
0
77
2
데이터 역사성 훼손 문제
0
65
2
실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.
0
83
1
구글이 이메일 변경을 허용하는 이유
0
123
1
order_item 테이블 (order_id, product_id) 유니크 제약조건 누락
0
100
2
BCNF 정규화에 대한 질문
0
121
2
주문, 결제 엔티티의 분류
1
127
1





