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
반응형
'Data Analysis > 데이터 아키텍처' 카테고리의 다른 글
| [데이터 아키텍처 준전문가(DAsP)] 과목 4. 데이터 모델링 (3) 논리 데이터 모델링 (0) | 2026.03.17 |
|---|---|
| [데이터 아키텍처 준전문가(DAsP)] 과목 4. 데이터 모델링 (2) 개념 데이터 모델링 (1) | 2026.03.17 |
| [데이터 아키텍처 준전문가(DAsP)] 과목 3. 데이터 표준화 (0) | 2026.03.15 |
| [데이터 아키텍처 준전문가(DAsP)] 과목 2. 데이터 요건 분석 (2) (1) | 2026.03.14 |
| [데이터 아키텍처 준전문가(DAsP)] 과목 2. 데이터 요건 분석 (1) (0) | 2026.03.08 |






