중앙정보기술인재개발원/DB

[데이터베이스] | ERD, 개념 모델링, 논리적 모델링, 물리적 모델링

soidev 2025. 4. 16. 17:45

[게시판]
회원가입을 할 수있다.(아이디,비밀번호,생년월일,성별 등)
로그인을 할 수 있다
게시글을 쓸 수 있다(제목,내용)
상세 글 보기가 가능하고, 조회수가 올라간다
회원들은 특정 글을 좋아요 할 수 있다(글당 1회 한정)

 

1️⃣ 모델링(Modeling)이란?

현실 세계의 데이터를 데이터베이스에 맞게 구조화하는 과정
쉽게 말하면, 어떤 데이터를 어떻게 저장하고 연결할지 설계하는 일이야.


2️⃣ 모델링 단계

📌 (1) 개념 모델링

  • 목적: 현실 세계의 개체(Entity)와 그 관계(Relationship)를 정의
  • 중점:
    • 엔티티(예: 회원, 상품, 주문 등) 정의
    • 엔티티 간 관계 설정
  • 형태: 말 그대로 개념 위주. 실제 데이터 구조는 아님
  • 도구 예시: 말로 정리하거나, 박스로 "이게 뭐랑 관계 있음" 정도만 표현


📌 (2) 논리적 모델링

  • 목적: 실제 DB 설계를 위한 구체적인 틀 만들기
  • 중점:
    • 테이블 수 결정
    • 속성(컬럼) 정의
    • Primary Key (기본키) 설정
    • Foreign Key (외래키) 설정
    • 정규화 (중복 제거, 효율적 구조 만들기)
  • 형태: 현실을 반영해서 DB로 옮기기 직전 상태
  • 도구 예시: ERD(개체-관계 다이어그램)로 시각화

📌 (3) 물리적 모델링

  • 목적: 실제 DBMS에 맞게 구현
  • 중점:
    • 데이터 타입(String, Int 등) 설정
    • 인덱스, 성능 고려
    • DBMS 제약사항 반영 (ex. MariaDB에서의 FK 설정 등)
  • 형태: 진짜 DB에 적용할 수 있는 상태

3️⃣ ERD란?

Entity Relationship Diagram (ERD)
엔티티(테이블)와 관계(연결)를 도식으로 표현한 그림

  • 박스: 엔티티(테이블)
  • 박스 안: 속성들(컬럼)
  • 선: 엔티티 간 관계
    • 1:1, 1:N, N:M 관계 표현
    • 외래키로 관계 연결

📌 ERD 그리는 무료 사이트

https://www.erdcloud.com/

 

ERDCloud

Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.

www.erdcloud.com

4️⃣ ERD 그리는 기본 팁 ✏️

  1. 엔티티 도출: "무엇을 저장할 건지" 생각 → 예: 회원, 게시글, 댓글
  2. 속성 정리: 각 엔티티에 필요한 속성 작성 → 이름, 나이, 날짜 등
  3. PK 설정: 각 엔티티에 고유값(PK)을 설정
  4. 관계 연결: 외래키(FK)로 연결
    • 예: 게시글 테이블의 user_id → 회원 테이블의 id와 연결

  • 시작 보기보드 : 논리로 설정 바로

예시


✅ 예시 요약

단계예시
개념 모델링 회원 - 주문 - 상품 관계 설정
논리 모델링 회원 테이블, 주문 테이블 만들고 PK, FK 지정
물리 모델링 실제 SQL로 테이블 만들기 + 데이터타입 설정

 

 

 

 

 

(물리적 모델링)