Data Base/DB 모델링

[DB 모델링] 데이터베이스 설계 5단계

JoonYong 2024. 1. 22. 00:52
반응형

 

 

데이터베이스는 웹사이트, 앱, 비즈니스 운영 등 다양한 분야에서 중요한 역할을 합니다. 데이터베이스 설계는 데이터를 효율적이고 효과적으로 관리하기 위한 중요한 과정이며, 성공적인 데이터베이스 구축을 위한 필수 요소입니다.

본 게시글에서는 데이터베이스 설계의 5단계를 자세하게 설명하고, 각 단계별 주요 고려 사항, 팁, 실용적인 예시, 각 단계별 결과물 등을 제공하여 데이터베이스 설계 과정을 명확하고 이해하기 쉽게 안내합니다.

 


1단계: 요구사항 분석

 

데이터베이스 설계의 첫 단계는 프로젝트의 요구사항을 명확하게 분석하는 것입니다.

다음 질문들을 고려하여 요구사항을 정의해야 합니다.

저는 보통 엑셀을 활용합니다.

  • 목적: 데이터베이스의 용도, 저장될 데이터 종류, 데이터 사용 방식, 예상 사용자 수, 성능 및 보안 요구사항 등을 명확하게 정의합니다.
  • 결과물: 요구사항 문서 (SRS)

2단계: 개념적 설계

 

요구사항 분석 결과를 바탕으로 데이터베이스의 구조를 설계합니다. 다음 요소들을 정의해야 합니다.

 

ERD(Entity Relationship Diagram)

  • Entity(개체): 저장할 가치가 있는 중요한 데이터(사람, 사물, 개념, 사건) - 네모
  • Attribute(속성): 개체나 관계가 가지고 있는 고유한 특성 - 원
  • Relationship(관계): 개체와 개체가 맺고 있는 의미 있는 연관성 - 마름모

개념적 설계는 위 사진처럼 E-R 다이어그램을 사용하여 시각적으로 표현할 수 있습니다.

 

설계 단계

  1. 개체 추출, 개체간 주요 속성 키 속성 선별(명사를 찾아라!)
  2. 개체 간의 관계 결정(동사를 찾아라!)
  3. E-R 다이어그램으로 표현

 

  • 목적: 데이터베이스의 논리적 구조를 설계합니다. 엔터티, 속성, 관계를 정의하고 ER 다이어그램을 사용하여 시각적으로 표현합니다.
  • 결과물: E-R 다이어그램
    (추천 사이트 : https://lucid.app/)

3단계: 논리적 설계

 

 

개념적 설계를 구체적인 데이터베이스 모델로 변환하는 단계입니다. 다음 요소들을 정의해야 합니다.

  • 테이블: 데이터를 저장하는 구조
  • 필드: 테이블의 각 열
  • 데이터 타입: 각 필드의 데이터 타입
  • 키: 테이블 레코드를 식별하는 값
  • 제약 조건: 데이터 무결성을 유지하는 규칙

논리적 설계는 데이터베이스 관리 시스템(DBMS)에 따라 다르게 구현될 수 있습니다.

 

  • 목적: 개념적 설계를 구체적인 데이터베이스 모델로 변환합니다. 테이블, 필드, 데이터 유형, 키, 제약 조건 등을 정의합니다.
  • 결과물: 논리적 데이터 모델, 테이블 스키마
  • 추천 사이트: (https://www.erdcloud.com/)
    • Identifying Relationship(식별관계)
    • Non-Identifying Relationship(비식별관계)
  • 카디낼러티를 이용하여 Relationship을 Entity화한다.

4단계: 물리적 설계

논리적 설계를 실제 DBMS에 적용하는 단계입니다. 다음 요소들을 고려해야 합니다.

  • 인덱싱: 데이터 검색 속도 향상
  • 파티셔닝: 데이터 분할
  • 저장 매체: 데이터 저장 장치 선택

물리적 설계는 DBMS의 성능 및 효율성에 영향을 미치는 중요한 단계입니다.

 

  • 목적: 논리적 설계를 실제 DBMS에 적용합니다. 인덱싱, 파티셔닝, 저장 매체 등을 선택합니다.
  • 결과물: 물리적 데이터 모델, 인덱스 정의, 파티셔닝 정의, 저장 매체 선택

 


5단계: 테스트 및 구현

 

데이터베이스 설계가 완료되면 테스트를 통해 설계의 정확성을 검증해야 합니다. 테스트를 통해 발견된 문제점은 설계 단계에서 수정해야 합니다. 테스트가 완료되면 데이터베이스를 실제 환경에 구현합니다.

  • 목적: 설계의 정확성을 검증하고 데이터베이스를 실제 환경에 구현합니다.
  • 결과물: 테스트 결과 보고서, 구현된 데이터베이스

 


데이터베이스 설계 팁

실용적인 예시

5단계를 사용하여 온라인 상점의 데이터베이스를 설계할 수 있습니다.

 

요구사항 분석:

  • 고객, 상품, 주문 등의 데이터를 저장해야 합니다.
  • 고객은 상품을 검색하고 구매할 수 있어야 합니다.
  • 관리자는 상품 정보를 관리하고 주문을 처리해야 합니다.

개념적 설계:

  • 고객, 상품, 주문 엔터티를 정의합니다.
  • 고객은 상품을 구매하는 관계를 정의합니다.

논리적 설계:

  • 고객, 상품, 주문 테이블을 정의합니다.
  • 각 테이블의 필드, 데이터 유형, 키, 제약 조건을 정의합니다.

물리적 설계:

  • 고객 테이블은 성능을 위해 인덱싱을 적용합니다.
  • 상품 테이블은 데이터 크기가 커서 파티셔닝을 적용합니다.
  • 데이터는 고성능 SSD에 저장합니다.

테스트 및 구현:

  • 테스트를 통해 데이터베이스 설계의 정확성을 검증합니다.
  • 테스트 결과를 바탕으로 설계를 수정합니다.
  • 설계된 데이터베이스를 실제 환경에 구현합니다.

 

 

 

https://velog.io/@coastby/DB-DB-%EC%84%A4%EA%B3%84-%EA%B3%BC%EC%A0%95

 

[DB] DB 설계 과정

DB 설계 순서1️⃣ 요구사항 수집 분석실제 세계에서 어떤 시스템을 구축할 것인지에 대한 요구사항 수집요구사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지 분석2️⃣ 개념

velog.io

 

 

 

 

 

반응형