소프트웨어 개발자/좋은 API, DB 설계하기

[좋은 DB 설계하기] 설계시 고려하면 좋을 기본 개념들

yubi5050 2024. 8. 15. 15:24

기본 원칙

  1. 무결성 - 데이터베이스 내에 모든 값은 언제나 정확한 값을 유지해야 한다.
  2. 유연성 - 데이터베이스 구조는 요구사항 변화에 대해 수정이 쉬워야 한다.
  3. 확장성 - 데이터베이스 구조는 기능 확장에 대해서 수정이 쉬워야 한다.

 

엔티티 이해

  • 유형 엔터티 : 물리적인 형태 o, ex. 상품, 회원)
  • 개념 엔터티 : 물리적인 형태 x, 개념적, ex. 부서, 학과)
  • 사건 엔터티 : 행위로 인해 발생, ex. 주문, 이벤트 응모)

 

기본키 생성시 자연키 vs 인조키 

기본 키란 해당 레코드를 식별하기 위한 유일한 값

 

자연키 (DB에서 자동으로 생성해주는 것)

  • 장점 : 자동으로 인덱싱 해줌
  • 단점 : 혹여 기본키 수정해야 될 상황 발생시 문제 발생

 

인조키 (직접 생성 후 지정)

  • 장점 : 비즈니스 로직으로 인한 기본키 변경시에도 유연한 대처 가능
  • 단점 : 인덱싱 추가 지정 필요 필요