당우 일기장

DB설계 전체과정 본문

DB

DB설계 전체과정

당우 2025. 4. 7. 19:48

DB 설계 과정 이란?

데이터베이스를 효율적으로 설계하기 위해 데이터를 파악하고 정리해서 테이블로 만드는 과정

실생활 예시

냉장고를 정리한다고 생각해보자.
어떤 음식을 넣을지(데이터 파악),
채소는 채소 칸, 고기는 고기 칸으로 나누는(그룹핑) 과정을 거치면 나중에 찾기 쉬워진다.

 

1. 저장해야 하는 데이터 파악하기

 

데이터베이스를 설계하기 전에 어떤 데이터를 저장해야 하는 지 파악해야 한다

그러려면 대략적인 UI화면 디자인이 나와있어야한다 

ui예시

ui 디자인이 나오기 전이라면 요구사항 명세서 라도 정리되어 있어야  어떤 데이터를 저장해야 하는 지 파악할수있다

(요즘은 요구사항 정의서는 잘 작성하지않는 추세이다)

요구사항명세서   

 

요구사항 명세서 - Google 검색

4] 프로젝트 범위관리, 요구사항 명세서를... blog.gridge.co.kr

www.google.com

구글에 검색하면 많이나오니 찾아보자

2. 그룹핑 해서 분류하기

저장해야 하는 데이터를 묶어서 그룹핑 할 수 있는 상위개념을 찾아야한다.

[예시]

비슷한 데이터끼리 묶기: 관련 있는 데이터를 상위 개념으로 묶어서 그룹으로 나눈다

아이디 패스워드 이름 이메일 -> 사용자

영화이름, 출연배우, 상영시간 -> 영화

게시글 제목, 내용,생성시간 -> 게시글

 

 

상위 개념 찾기: 데이터를 묶을 수 있는 큰 카테고리를 정하자

예: "좋아요 수, 댓글 수"는 "게시글" 그룹에 포함될 수 있음.

 

 중복 줄이기: 같은 데이터가 여러 그룹에 중복되지 않게 정리.

예: "사용자 이름"은 "사용자" 그룹에만 넣고, "게시글" 그룹에는 "사용자 ID"만 연결.

 

 

 

3. 6가지 규칙 적용시키면서 테이블 분리해나가기

  • 정규화(Normal Form) 규칙을 적용해서 테이블을 나눠요.
  • 1NF: 데이터가 원자값이어야 함(한 열에 여러 값 X).
  • 2NF: 부분 종속 제거(기본 키에 완전히 종속).
  • 3NF: 이행 종속 제거(기본 키 외 다른 열에 종속 X).
  • BCNF: 결정자가 후보 키여야 함.
  • 4NF, 5NF: 다치 종속, 조인 종속 제거(고급 단계).
  • 예: "사용자"와 "게시글"을 나눠서 users 테이블과 posts 테이블로 분리.

 

 

 

 DB 설계 과정: 데이터를 파악하고, 그룹핑해서, 정규화로 테이블 나누기.

핵심 포인트: 데이터 파악 → 그룹핑 → 정규화로 깔끔하게 정리.

 

 

-----------------------------------------------------------------------------------

이 글은 박재성님의 비전공자도 이해할 수 있는 DB설계 입문/실전 강의를 요약한 내용입니다