Notice
Recent Posts
Recent Comments
Link
250x250
반응형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- n8n
- SQLD
- 데이터모델링
- go
- go best practices
- Database
- cypher쿼리
- 커뮤니티 탐지
- graph
- 자격증
- 프로그래밍
- 고루틴
- neo4j성능
- Golang
- arangodb
- Neo4j
- cypher 쿼리
- 그래프 데이터베이스
- 엔터티
- 중심성 측정
- GraphDB
- token bucket
- concurrency
- cypher
- apoc 라이브러리
- 쿼리프로파일링
- cypher팁
- basic golang
- 그래프데이터베이스
- 정리
Archives
- Today
- Total
Jamie the programmer
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [01] 데이터 모델링의 이해 본문
Contents
접기

1. 데이터 모델링
- 데이터 모델링은 현실세계를 데이터베이스로 표현하기 위해서 추상화한다.
- 데이터 모델링을 하기 위해서는 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야 한다.
- 고객의 업무 프로세스를 이해하면, 데이터 모델링 표기법을 사용해서 모델링을 한다.
- 데이터 모델링은 복잡하지 않도록 모델링을 해서 고객이 쉽게 이해할 수 있어야 한다.
- 데이터 모델링은 고객의 업무 프로세스를 추상화하고, 소프트웨어를 분석 및 설계하면서 점점 더 상세해진다.
- 데이터 모델링은 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스의 규칙을 정의한다.
- 정의된 비즈니스 규칙을 데이터 모델로 표현한다.
2. 데이터 모델링의 특징
- 추상화(Abstraction)
- 데이터 모델링은 추상화해야 한다.
- 추상화는 공통적인 특징을 찾고 간략하게 표현한다.
- 현실세계를 간략하게 표현한다.
- 단순화(Simplification)
- 데이터 모델링은 단순화해야 한다.
- 복잡한 문제를 피하고 누구나 이해할 수 있게 표현한다.
- 명확성(Clarity)
- 데이터 모델링은 명확해야 한다.
- 의미적 해석이 모호하지 않고 명확하게 해석되어야 한다.
- 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다.
3. 데이터 모델링 단계
- 개념적 모델링(Conceptual Data Modeling)
- 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대해서 데이터 모델링을 수행한다.
- 복잡하게 표현하지 않고 중요한 부분을 위주로 모델링 하는 단계이다.
- 업무관점에서 모델링하며 기술적인 용어는 가급적 사용하지 않는다.
- 전사적 관점에서 기업의 데이터를 모델링한다.
- 추상화 수준이 가장 높은 수준의 모델링이다.
- 계층형 데이터 모델, 네트워크 모델, 관계형 모델에 관계없이 업무 측면에서 모델링을 한다.
- 논리적 모델링(Logical Data Modeling)
- 개념적 모델링을 논리적 모델링으로 변환하는 작업이다.
- 식별자를 도출하고 필요한 모든 릴레이션을 정의한다.
- 정규화를 수행해서 데이터 모델의 독립성을 확보한다.
- 특정 데이터베이스 모델에 종속한다.
- 식별자를 정의하고 관계, 속성 등을 모두 표현한다.
- 정규화를 통해서 재사용성을 높인다.
- 물리적 모델링(Physical Modeling)
- 데이터베이스를 실제 구축한다.
- 즉, 테이블, 인덱스, 함수 등을 생성한다.
- 구축할 데이터베이스 관리 시스템에 테이블, 인덱스 등을 생성하는 단계이다.
- 성능, 보안, 가용성을 고려하여 데이터베이스를 구축한다.
데이터 모델링 관점
- 데이터
- 비즈니스 프로세스에서 사용되는 데이터를 의미한다.
- 구조 분석, 정적 분석
- 프로세스
- 비즈니스 프로세스에서 수행하는 작업을 의미한다.
- 시나리오 분석, 도메인 분석, 동적 분석
- 데이터와 프로세스
- 프로세스와 데이터 간의 관계를 의미한다.
- CRUD(Create, Read, Update, Delete) 분석
4. 데이터 모델링을 위한 ERD
(Entity Relationship Diagram)
- 1976년 피터첸(Peter Chen)이 Entity Relationship Model 표기법을 만들었으며 데이터 모델링의 사실상 표준으로 사용되고 있다.
- 엔터티와 언터티 간의 관계를 정의하는 모델링 방법이다.
ERD 작성 절차
- 엔터티를 도출하고 그린다.
- 엔터티를 배치한다.
- 엔터티 간의 관계를 설정한다.
- 관계명을 서술한다.
- 관계 참여도를 표현한다.
- 관계의 필수 여부를 표현한다.
ERD 작성 시 고려사항
- 중요한 엔터티를 가급적 왼쪽 상단에 배치한다.
- ERD는 이해가 쉬워야 하고 너무 복잡하지 않아야 한다.
5. 데이터 모델링 고려사항
- 데이터 모델의 독립성
- 독립성이 확보된 모델은 고객의 업무 변화에 능동적으로 대응할 수 있다.
- 독립성을 확보하기 위해서는 중복된 데이터를 제거해야 한다.
- 데이터 중복을 제거하는 방법이 바로 정규화이다.
- 고객 요구사항의 표현
- 데이터 모델링으로 고객과 데이터 모델러 간에 의사소통을 할 수 있어야 함으로, 고객의 요구사항을 너무 복잡하지 않게 표현한다.
- 요구사항을 간결하고 명확하게 표현해야 한다.
- 데이터 품질 확보
- 데이터베이스 구축 시에 데이터 표준을 정의하고 표준 준수율을 관리해야 한다.
- 데이터 표준을 확보해야 데이터 품질을 향상시킬 수 있다.

728x90
반응형
'IT 자격증 > SQLD' 카테고리의 다른 글
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [06] 관계 (Entity Identifier) (0) | 2025.03.04 |
---|---|
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [05] 관계 (Relationship) (0) | 2025.02.26 |
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [04] 속성 (Attribute) (1) | 2025.02.26 |
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [03] 엔터티 (Entity) (0) | 2025.02.24 |
[SQLD 이론/IT 자격증] Part 1 - 데이터 모델링 : [02] 3층 스키마 (3-Level Schema) (0) | 2025.02.24 |