데이터베이스 설계 및 모델링이란?

데이터베이스 설계와 모델링에 따라 데이터베이스가 얼마나 효율적으로 실행되는지, 기업이 정보를 얼마나 빨리 그리고 정확하게 검색할 수 있는지에 영향을 준다.

데이터베이스 스키마

데이터베이스 스키마란 특정 데이터베이스의 구조 또는 구성에 대한 형식적인 설명으로, 관계형 데이터베이스에 일반적으로 사용된다. 데이터베이스 스키마에는 일반적으로 6가지 스키마가 있으며, 아래와 같다.

-> 평면 / 계층적 / 네트워크 / 관계형 / star / snowflake

<출처 : https://www.integrate.io/blog/database-schema-examples>

물리적 데이터베이스 스키마 : 데이터가 스토리지 시스템에 물리적으로 저장되는 방식과 스토리지 형태를 설명
논리적 데이터베이스 스키마 : 데이터에 적용되는 논리적 제약 조건을 설명하고, 테이블, 관계, 보기, 무결성 제약 조건 등을 정의

관계형/비관계형 데이터베이스 비교

데이터베이스 스키마를 설계한다는 것의 의미는?

데이터베이스에 방대한 양의 정보를 저장하는 방법에 대한 '청사진'을 그리는 것. 스키마는 데이터베이스 전체의 논리적 보기를 나타내는 추상적인 개요 또는 구조이기 때문이다.

데이터를 별도의 entity로 구성하고, 구성된 entity 간의 관계를 생성하는 방법과 데이터에 제약 조건을 적용하는 방법을 결정한다.

왜 중요할까?

  • 데이터 중복 감소/제거
  • 데이터 불일치/부정확성 방지
  • 데이터 정확성/무결성 보장
  • 신속한 데이터 조회, 검색 및 분석 지원
  • 보안, 접근 권한 설정

그렇다면 설계 방법은?

일반적으로 아래 3단계를 고려하여 설계를 한다.

  • 데이터의 형식이 일관되어야 한다.
  • 모든 레코드 항목에 고유한 기본 키가 있어야 한다.
  • 중요한 데이터가 생략되지 않아야 한다.

모범 사례의 스키마 설계는 아래를 따랐다고 한다.

  • 명명 규칙 : 적절한 명명 규칙을 정의하고 사용하여 이름 필드에 일관성 유지
  • 보안 : 접근 권한 및 데이터 암호화하여 저장
  • 문서화 : 작업을 위한 공유를 위하여 문서화 필요
  • 정규화 : 중복을 줄이고 무결성을 높이며, 적절한 정규화로 성능을 향상시킨다.
  • 전문 지식

지금까지 데이터베이스 설계 및 모델링에 대하여 간략하게나마 공부해보았다. 데이터베이스 설계와 모델링은 현업 업무를 하면서도 항상 고민해야 할 문제라고 생각하며, 앞으로도 꾸준히 관심을 가지고 공부해야 겠다. 보다 자세한 사항은 아래 블로그를 확인하면 좋다.

<참고 블로그>
https://www.integrate.io/ko/blog/complete-guide-to-database-schema-design-ko/

profile
백엔드 개발자

0개의 댓글