데이터베이스 설계와 모델링에 따라 데이터베이스가 얼마나 효율적으로 실행되는지, 기업이 정보를 얼마나 빨리 그리고 정확하게 검색할 수 있는지에 영향을 준다.
데이터베이스 스키마란 특정 데이터베이스의 구조 또는 구성에 대한 형식적인 설명으로, 관계형 데이터베이스에 일반적으로 사용된다. 데이터베이스 스키마에는 일반적으로 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/