논리 데이터 모델이란 무엇입니까?
논리 데이터 모델은 데이터 요소의 구조와 데이터 요소 간의 관계를 설정한 것입니다. 데이터 구현 방법을 자세히 설명하는 물리적 데이터베이스와는 독립적입니다. 논리 데이터 모델은 사용된 데이터의 청사진 역할을 합니다. 논리 데이터 모델은 더 많은 정보를 추가함으로써 개념적 데이터 모델링의 요소를 한 단계 더 발전시킵니다.
논리 데이터 모델은 일상적인 비즈니스 운영에 필수적인 정보의 모든 요소를 통합합니다.
논리 데이터 모델의 구성 요소
논리 데이터 모델에는 다음 세 가지 주요 구성 요소가 있습니다.
- 개체: 각 개체는 비즈니스와 관련된 일련의 사물, 사람 또는 개념을 나타냅니다.
- 관계: 모든 관계는 위의 두 엔터티 간의 연결을 나타냅니다.
- 속성: 각 속성은 설명적인 부분, 특성 또는 개체를 추가로 설명하는 데 유용한 기타 정보입니다.
논리 데이터 모델의 이러한 각 구성 요소에는 이름과 행위 정의가 제공됩니다. 구성 요소는 비즈니스 규칙을 지속적으로 문서화하고 정보 요구 사항을 요약하는 역할을 합니다. 그러나 위의 구성 요소는 비즈니스 요구 사항에 대한 설명으로만 제한됩니다. 상기 비즈니스 요구 사항을 처리, 구현 또는 저장하는 방법에는 관련이 없습니다.

논리 데이터 모델의 필요성
데이터가 모든 애플리케이션, 프로그램 또는 시스템의 가장 중요한 측면을 구현한다는 점을 감안할 때 고품질 데이터 처리 및 저장 시스템은 강력하고 정확한 기본 데이터 구조를 기반으로 구축되어야 합니다. 애플리케이션 개발자는 견고한 데이터 구조에 기반하여 최상의 사용자 인터페이스, 처리 시스템 또는 통계 분석 및 보고 설정을 자유롭게 설계할 수 있습니다.
시스템은 아무리 세련되고 기술적이든 간에 요구 사항을 충족하고 규칙을 따라야 하며 구축된 비즈니스 또는 기업의 목적에 부합해야 합니다. 그렇지 않으면 실용적인 것이 아닙니다. 따라서 논리 데이터 모델링은 애플리케이션 개발의 가장 중요한 다음의 두 가지 기본 사항을 결합합니다.
- 비즈니스 요구 사항
- 품질 데이터 구조
논리 데이터 모델의 특성
다음은 논리 데이터 모델의 가장 중요한 특성입니다.
- 논리 데이터 모델은 각 개별 프로젝트에 필요한 데이터를 설명할 수 있습니다. 그러나 프로젝트에서 요구하는 경우 다른 논리 데이터 모델과 원활하게 통합되도록 설계되었습니다.
- 논리 데이터 모델은 데이터베이스 관리 시스템과 별도로 개발 및 설계할 수 있습니다. 데이터베이스 관리 시스템의 유형은 모델에 그다지 영향을 미치지 않습니다.
- 데이터 속성에는 정확한 길이와 정밀도를 가진 데이터 유형이 포함됩니다.
- 논리 데이터 모델링에서는 기본 또는 보조 키가 정의되지 않습니다. 이 수준의 데이터 모델링에서는 관계를 정의하기 전에 설정된 커넥터 세부 정보를 확인하고 조정해야 합니다.
- 논리 데이터 모델은 비즈니스 영역의 정보에 대한 요구 사항을 그래픽으로 표현한 것과 같습니다. 모델은 데이터베이스나 데이터베이스 관리 시스템 자체가 아닙니다.
- 논리 데이터 모델은 파일 시스템과 같은 물리적 데이터 저장 장치와 무관합니다.
- 논리 데이터 모델은 기술의 급격한 변화에 영향을 받지 않도록 기술과 무관하게 설계되어야 합니다.
논리 데이터 모델링의 세부 사항
간단히 말해서 데이터 모델은 데이터 요구 사항 및 관련 설계의 설명과 관련된 데이터 사양 및 다이어그램의 집합입니다. 일반적으로 데이터 모델링 유형 및 활동에는 다음의 세 가지 유형이 있습니다.
개념 데이터 모델
이 데이터 모델은 기본적으로 시스템에 본질적으로 포함된 내용을 정의합니다. 비즈니스 이해 관계자 및 데이터 설계자는 일반적으로 다양한 비즈니스 개념 및 규칙을 구성 및 정의하고 해당 매개변수 또는 범위를 설정하려는 의도로 개념 데이터 모델을 생성하는 사람입니다.
논리 데이터 모델
논리 데이터 모델은 사용 중인 데이터베이스 관리 시스템에 관계없이 시스템이 구현되는 방법을 정의하는 역할을 합니다. 데이터 설계자와 비즈니스 분석가는 일반적으로 논리 데이터 모델의 작성자입니다. 논리 데이터 모델을 생성하는 목표는 기본 규칙과 데이터 구조에 대해 고도로 기술적인 맵을 개발하는 것입니다.
물리적 데이터 모델
물리적 데이터 모델은 시스템이 구현되는 방식과 특정 데이터베이스 관리 시스템의 요소와 관련이 있습니다. 이 모델은 일반적으로 개발자가 작성합니다. 아이디어는 실제 데이터베이스가 비즈니스 목적으로 사용되거나 구현되는 방법을 정의하는 것입니다.
일반적으로 말해서 개념 데이터 모델링과 논리 데이터 모델링은 모두 "요구사항 분석" 유형의 활동인 반면 물리적 데이터 모델링은 설계 활동으로 간주됩니다.
논리 데이터 모델은 비즈니스 요구 사항을 통합하고 메타데이터를 수집하는 물리적 데이터 모델의 기초로 됩니다. 논리 데이터 모델링은 표준 기술과 데이터 모델링 표기법을 사용하여 수행할 수 있습니다.
데이터 모델링은 데이터 의미를 구성하고, 데이터를 설명하고, 데이터의 일관성 한계를 해결하는 데 중점을 둔 활동입니다. 이는 개념 모델링의 기초를 형성하고 다양한 데이터 구성요소 간의 관계를 수립하는 건축가의 도면 또는 건물 개략도에 비유할 수 있습니다.
데이터 모델링 기술은 다음 두 가지 범주 중 하나로 분류됩니다.
- 개체 관계(ER) 모델
- UML(통합 모델링 언어)
논리 데이터 모델링은 전 세계 데이터 모델러가 통신 도구로 사용하는 표준 모델링 기술인 개체 관계 다이어그램(ERD라고 알려짐)을 사용하여 구축된 개체 관계 모델에 속합니다. 그 안에는 완전한 비즈니스 요구 사항 세트가 있지만 기술 구성 요소는 없습니다.

논리 데이터 모델의 장점
- 시간이 지나면서 데이터가 안정적으로 유지됨에 따라 논리 데이터 모델도 안정적인 모델이 되어 데이터 재사용 및 물리적 데이터 공유에 매우 도움이 되며, 결과적으로 중복 데이터의 저장 공간을 줄일 수 있습니다.
- 논리 데이터 모델의 구성 요소는 더 많은 팀의 (종종 변화하는) 요구 사항을 고려함에 따라 재활용, 재사용 및 조정할 수 있습니다.
- 논리 데이터 모델의 구축 및 유지 관리와 관련된 비용은 특히 처음부터 모든 비즈니스 요구 사항과 규칙을 식별하고 통합함으로써 제공되는 이점으로 인해 장기적으로 상쇄됩니다.
- 비즈니스 규칙을 통합하고 명확히 함으로써 구축 프로세스의 구성 요소, 즉 설계, 코딩, 테스트 및 배포가 더 빨라집니다.
- 논리 데이터 모델이 있으면 구현 이전의 개발 라이프 사이클 자체에서 변경, 실수 수정 또는 누락된 데이터 입력이 더 쉽고 비용 효율적으로 됩니다.
- 사용자의 변경 요청은 사전 예방적으로 최소화할 수 있습니다.
- 논리 데이터 모델은 각각의 모든 비즈니스 프로세스와 규칙이 내부에 연결되어 있으므로 영향 분석에 사용할 수 있습니다.
- 논리 데이터 모델의 개체는 비즈니스 언어로 된 행위 정의를 포함하므로 시스템 문서를 유지 관리하고 접속하기가 더 쉽습니다.
논리 데이터 모델을 개발하지 않으면 어떻게 됩니까?
간단히 말해서 문제가 있을 수 있습니다. 사용자는 새로운 시스템을 설계할 때 핵심 요소로 기술이 아니라 데이터를 강조 표시하지 않으면 프로세스와 활동에 몰두할 수 있습니다. 순전히 물리적 워크플로를 기반으로 데이터 모델을 설계하면 중요한 비즈니스 요구 사항을 표현하지 못합니다.
디자이너가 비즈니스 요구 사항에 따라 데이터 요소를 설명하지 않고 생성하는 테이블과 파일은 제대로 구성되지 않고 기본 구조가 제대로 구성되어 있지 않은 경향이 있습니다. 코딩, 테스트 또는 배포 중에도 화면 또는 보고서 레이아웃에서 추가 데이터 요소를 발견하고 고려하면 개발자는 사전 예방적이기보다는 사후 대응적이어야 합니다. 출력은 작동 또는 유지 관리가 어렵고, 오류 또는 초과 텍스트로 가득 차 있고, 시스템 문서를 제외하고, 시간이 오래 걸리고 사용할 수 없는 믹스 앤 매치 엔터티입니다.
논리 데이터 모델은 기본적인 비즈니스 요구 사항과 이들 간의 관계를 기반으로 데이터 요소의 구조를 정의하므로 논리 데이터 모델이 없으면 비즈니스 프로세스를 개선할 기회를 많이 놓치게 됩니다. 개발자는 단순히 기존 절차를 자동화하거나 결국 쓸모 없게 될 수 있는 새로운 기술 플랫폼에서 레거시 시스템을 재생성하게 됩니다.
논리 데이터 모델링을 적용하면 데이터 분석가가 최신 기술에 대해 독립적으로 생각하고 비즈니스 프로세스 개선에 집중할 수 있습니다.
따라서 논리 데이터 모델은 모든 애플리케이션 개발 프로젝트에서 중요하고 지울 수 없는 구성 요소가 되어야 합니다. 데이터베이스 설계보다 이상적으로 선행되어야 하는 중요한 단계입니다.