Data Analysis/데이터 아키텍처

[데이터 아키텍처 준전문가(DAsP)] 과목 4. 데이터 모델링 (1) 데이터 모델링 이해

알밤바 2026. 3. 17. 11:22
728x90
반응형

1. 데이터 모델링 개요

1) 데이터 모델링 ✅️

항목 상세 내용
모델링이 필요한 이유 파급효과 : 시스템 구축이 완성되어 가는 시점에 데이터 모델을 변경해야 하는 것이 큰 위험 요소임
정보 시스템의 간결한 표현 : 데이터 모델은 정보 요구사항을 정확하고 간결하게 표현할 수 있음
데이터 품질 : 잘못 설계된 모델링은 데이터의 정확성을 떨어뜨림
데이터 모델링의 필요성 • 애플리케이션과 데이터의 통합
• 개발자의 시스템 이해
데이터 모델링 시 주의할 점 • 중복
• 비유연성
• 비일관성

 

✔️ 개발자가 시스템 이해에 데이터 모델링이 필요한 이유

  • 데이터 정의, 생명주기 정보, 언제 어떻게 데이터가 사용되었는지 등 추적할 수 있는 정보를 제공
  • 물리적인 것과 논리적인 것을 구별하여 데이터를 사용하는 사람과 물리적인 모든 것으로부터 독립되어 조직과 사용자가 필요로 하는 필수적이고 기본적인 데이터를 정의할 수 있음
  • 데이터 모델링은 사용자가 원하는 것의 논리적 개념과 시스템이 어떻게 제공하는지의 물리적 개념을 명확하게 나타내줌

 

✔️ 참고) 3단계 스키마 구성

  • 외부 스키마 (External Schema) : 사용자 뷰 단계 (개개인의 관점에서 필요한 데이터만 정의 / 여러 개 존재 가능)
  • 개념 스키마 (Comceptual Schema) : 전사적 관점의 통합 단계 (모든 사용자 관점을 합친 DB 구조 설계도 / 하나만 존재)
  • 내부 스키마 (Internal Schema) : 물리적 저장 단계 (기술적인 내용을 담고 있음)

▶ 이렇게 3단계로 나누는 이유는 하나가 바뀌어도 다른 쪽은 영향을 안 받게 하기 위함 (데이터 독립성)

 

 

2) 데이터 모델링 단계

단계 상세 내용
개념 데이터 모델링 • 사용자의 요구사항을 분석하여, 핵심 엔터티와 관계를 발견하여 ERD 작성
• 상위 문제를 쉽게 구조화하며 사용자와 개발자가 논의할 수 있는 기반 마련
• 업무 중심적이고 포괄적인 수준의 모델링 진행
• 전사적 데이터 모델링, EA 수립 시 많이 이용
논리 데이터 모델링 • 비즈니스 정보의 논리적인 구조와 규칙을 명확하게 표현하는 과정
• 정규화, 식별자 확정, M:N 관계 해소, 참조 무결성 등 작업 실시
• Key, 속성, 관계 등을 정확하게 표현하고, 재사용성이 높음
물리 데이터 모델링 • 목표하는 DBMS의 특성을 고려한 스키마 설계
• 컬럼, 데이터 타입, 크기 등 정의
• 성능, 저장 등 물리적인 성격을 고려하여 설계
리버스 데이터 모델링 • 기존 시스템의 모델을 보유하지 않거나 현행화되지 않았을 때, 시스템의 메타 정보를 활용하여 모델 작성
• 모델링 CASE TOOL을 활용하여 기존 산출물을 통해 메타 정보를 수집하여, 이를 토대로 테이블과 컬럼을 분석한 후 이들의 관계를 파악하여 모델 작성

 

 

3) 데이터 모델링 원칙

원칙 상세 내용
커뮤니케이션 원칙 • 최종 사용자 및 이해관계자에게 시스템의 지향점을 설명
모델링 상세화 원칙 • 데이터의 본질과 잠재적 사용을 이해할 수 있을 만큼 상세화
논리적 표현 원칙 • 데이터에 대한 논리적 측면을 최대한 표현

 

 

4) 좋은 데이터 모델의 요소

요소 상세 내용
완전성 업무에 필요한 모든 데이터가 모델에 정의되어 있어야 함
중복 배제 동일한 정보는 1개만 있어야 함
비즈니스 룰 업무 규칙을 데이터 모델에서 구현해야 함
데이터 재사용 애플리케이션에 대해 독립적으로 설계되어야 데이터 재사용성을 향상할 수 있음
안정성 및 확장성 안정성 뿐만 아니라 추후 데이터를 쉽게 변경할 수 있도록 확장성 고려
간결성 테이블을 통합하여 모델의 간결함 유지
의사소통 요구사항에서 도출되는 업무 규칙을 데이터 모델에 최대한 자세히 표현
통합성 전체가 연결되어 움직여야 함

 

 

 

2. 데이터 모델링 기법 이해

1) 개체 - 관계 모델 구성 요소

요소 상세 내용
엔터티 • 엔터티 종류 중, 키 엔터티가 될만한 것을 우선 도출하여 메인/액션 엔터티 도출
• 엔터티는 동질성을 가지는 개체 집합이며, 행위의 집합으로 정의할 수 있음
속성 • 엔터티에 저장되는 개체 집합의 특성을 설명하는 항목
• 서로 다른 집합에 정의된 속성은 같은 도메인을 공유할 수 있음 (ex. 주소, 전화번호)
식별자 • 개체를 식별할 수 있는 속성 (하나 또는 그 이상의 속성으로 구성)
• 엔터티를 대표할 수 있는 속성
• 하나의 엔터티에는 반드시 하나의 식별자가 존재
• 식별자는 논리적인 관점에서 사용되고, 키는 물리적인 관점에서 사용됨
• 식별자와 키가 서로 일치하지 않을 수 있음

• 본질 식별자 : 집합의 본질을 명확히 설명할 수 있는 의미상의 주어
• 후보 식별자 : 인스턴스를 유일하게 식별할 수 있는 속성 또는 속성 조합
• 대체 식별자 : 원래의 식별자를 대신할 수 있는 또 다른 속성
• 인조 식별자 : 기존 본질 식별자를 쓸 수 없는 상황이 발생했을 때 사용
• 실질 식별자 : 인스턴스를 식별하기 위해 부여된 식별자 (본질/인조 식별자 모두 가능)
관계 • 엔터티 간의 연관성 표현

• 1:1 : X, Y에 속하는 개체는 각각 하나씩만 연결
• 1:M : X에 속하는 한 개체는 Y에 속하는 한 개체에만 연결되며, Y에 속하는 한 개체는 X에 속하는 여러 개체와 연결
• M:N : X, Y에 속하는 한 개체는 각각 여러 개체와 연결됨
카디날리티 관계에 참여하는 하나의 개체에 대해 다른 엔터티에서 몇 개의 개체가 참여하는지 나타냄
존재 종속 한 엔터티의 존재가 다른 엔터티의 존재에 영향을 받는 것
서브타입 • 전체 집합인 슈퍼타입의 부분 집합
• 배타적 (1개만 관련) / 포괄적 (1개 이상 관련)으로 구분
• 슈퍼타입은 공통적인 모든 속성을 포함하고 있음
• 서브타입은 각 서브타입에 적절한 속성만 포함

 

 

3. 데이터 모델링 표기법 이해

  바커 표기법 I/E 표기법
엔터티
속성 엔터티 안에 위치 엔터티 안에 위치
관계
식별자
엔터티 중 상단의 박스 안에 표시 (ex. 사원번호)
서브타입
- 배타적/포괄적일 경우 존재
- 배타적일 경우, 관계에 X 표시
관계 표현 비교
 

 


 

✔️ 데이터 모델이 제공하는 것 ✅️

  • 시스템을 구축하는 틀 제공
  • 시스템의 구조와 행동을 명세화할 수 있게 해줌
  • 다양한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점 제공

 

✔️ 객체 지향 모델링 ✅️

  • 데이터(속성)와 데이터를 사용하는 기능(메소드)를 하나로 묶어서(객체) 관리하는 개념
  • 객체 = 데이터 + 메소드
  • 핵심 구성 요소
    • 객체(Object) : 실세계에 존재하는 독립적인 개체 (ex. 조직, 시스템 등)
    • 속성(Attribute) : 객체가 가진 데이터 값 (ex. 이름, 직무, 경력 등)
    • 메소드(Method) : 객체가 수행하는 동작 (ex. 데이터 분석, 로그 설계 등)
    • 클래스(Class) : 같은 성격의 객체를 만들기 위한 틀 (ex. '데이터 분석가'라는 클래스)
  • 조직이나 시스템은 객체라는 것에 관련되어 있고, 객체에 대한 정보를 저장
  • 객체는 대개 객체를 기술하는 데이터와 그 기술 데이터를 운영하는 메소드로 구성
  • 객체는 연관(Association) 또는 상속을 통해서 다른 객체와 연결
  • 속성 유형과 메소드를 공유하는 객체가 그룹화되어서 '클래스(Class)'라고 함
  • 객체는 메소드를 다른 객체로 전달할 수 있음
  • 메소드를 오버라이딩(Overriding)해서 다른 객체에서 사용 가능
  • OID(Object Identifier)는 객체의 값 일부를 사용하며, 그 값이 바뀌면 OID도 변경이 가능함
728x90
반응형