일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Group Functions
- SQL숫자형 함수
- Britcent 3개월 완독 챌린지
- 단일 행 서브 쿼리
- SQL Grouping Functions
- Aggregation Function
- SQL연산자
- Searched Case Expression
- sql
- sql전문가
- SQLD
- SQL문자형함수
- Window Functions
- 연관 서브 쿼리
- Atomic Habit
- sqlp
- nvl
- 3개월 완독 챌린지
- CASE중첩
- Simple Case Expression
- Cloud ERP
- SQL기본
- 다중 열 서브 쿼리
- SQL개발자
- SQL내장함수
- Where
- 데이터모델링
- null
- SUM
- AVG
- Today
- Total
슴슴한 IT
[SQLD,SQLP]데이터 모델링 본문
모델링의 정의
일반적으로 어떤 시스템, 개념 또는 현상을 추상화하여 단순화 된 형태로 표현하는 과정을 말합니다. 모델은 현실 세계의 복잡성을 이해하고 설명하기 위해 사용되며, 여러 분야에서 다양한 종류의 모델이 활용되는데, 모델링은 이러한 모델을 만들어내는 과정을 의미합니다.
모델링의 특징
1) 추상화(모형화, 가설적)
현실세계의 다양한 현상을 일정한 형식과 표기법에 맞추어 표현하는 것입니다. 이는 데이터 모델링을 통해 현실 세계의 복잡성을 단순하고 이해하기 쉬운 개념으로 변환할 수 있게 해줍니다.
- 예시 : 금융시스템에서 계좌, 거래와 같은 실제 개체들을 추상화하여 개체로 표현하며, 테이블로 저장
☞ 개체 상화
고객이름, 주소, 전화번호 등 고객 개체의 속성도 추상화 될수 있으며, 테이블의 열로 변환
☞ 속성 추상화
학생과 강의 간의 수강 관계를 추상화하여 개념적 관계로 표현, 외래키로 표현
☞ 관계 추상화
2) 단순화
복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 단순하고 명확한 구조로 변환하여 쉽게 이해할 수 있도록 하는 개념입니다. 데이터 모델은 개념적 모델부터 물리적 모델까지 단계별로 구성되며, 각 단계에서 데이터 구조와 관련된 개념들이 단순하게 표현되며, 단순화는 데이터베이스의 이해와 유지보수를 용이하게 만듭니다.
- 예시 : 비슷한 속성을 가지는 개체들을 단일 엔터티로 통합하거나 여러 엔터티가 가지는 유사한 속성들을
일반화하여 상위 개념의 속성으로 표현할 수 있으며 다중 관계를 적절히 분리하여 모델을 단순화
3) 명확화
대상에 대한 애매모함을 제거하고 정확하게 현상을 기술하는 개념입니다. 잘 정의된 모델은 데이터의 일관성과 정확성을 보장하고 데이터베이스 시스템을 효과적으로 관리할 수 있도록 합니다.
- 예시 : 속성의 데이터 유형,길이,제약 조건 등을 명시하여 데이터 구조와 의미를 명확하게 전달
엔터티 간의 관계 및 역활을 명시하여 데이터의 의미와 구조를 명확하게 전달
각 엔터티의 기본 키의 역할과 특성을 명시하여 데이터의 유일성과 식별성을 보장
엔터티,속성,관계 등의 요소들에 일관된 네이밍 규칙을 적용하여 모델의 이해도를 높이고 혼선 방지
즉, 모델링은 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표현한 기법입니다.
모델링의 세 가지 관점
1) 데이터 관점
업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data)
- 데이터의 구조, 속성, 관계, 제약 조건 등 데이터의 특성과 특징 중심
- 데이터가 어떻게 저장되고 조작되는지 초점
- 데이터의 의미와 구조를 명확히하고, 데이터의 일관성과 정확성을 유지하는데 중점
- 데이터베이스의 설계와 관리, 데이터 품질 관리 등에 주로 사용
2) 프로세스 관점
실제하고 있는 업무는 무엇인지 또는 무서을 해야 하는지를 모델링하는 방법(How , Process)
- 프로세스나 시스템의 동작과 흐름 중심으로 접근하는 관점
- 데이터 처리의 흐름, 프로세스 간의 상호작용, 제어 구조, 비즈니스 규칙 등을 중심으로 모델링
- 프로세스 간 상호작용과 흐름을 명확히 표현
- 시스템 분석과 설계, 비즈니스 프로세스 개선 등에 주로 사용
3) 데이터와 프로세스 상관 관점
업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법(Interaction)
- 데이터와 프로세스 간의 밀접한 상호작용과 관계를 중심으로 데이터의 처리 과정에서 데이터의 의미와 변형, 프로세스의 동작과 흐름을 고려
- 데이터 중심 시스템 분석 및 설계, 데이터 흐름 다이어그램 등에 사용
데이터 모델링의 기본 개념
1) 데이터 모델링의 정의
현실 세계의 개체(Entity), 속성(Attribute), 관계(Relationship) 등을 추상화하여 데이터베이스 구조로 표현하는 프로세스를 말합니다. 데이터 모델링은 데이터베이스 설계의 핵심 요소로서 데이터의 구조, 관계 및 제약 조건을 명확하게 정의하여 데이터의 일관성, 유지관리, 쿼리 성능 등을 보장합니다.
- 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
- 현실 세계의 데이터(What)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석 및 설계 과정
2) 데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하는데 도움
- 시스템의 구조와 행동을 명세화
- 시스템을 구축하는 구조화 한 틀을 제공
- 시스템 구축 과정에서 결정한 것을 문서화
- 다양한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점을 제공
- 특정 목표에 따라 구체화 한 상세 수준의 표현방법을 제공
데이터 모델링의 중요성
1) 파급효과
데이터 구조의 변경으로 인한 표준 영향 분석, 어플리케이션 변경 영향 분석 등 많은 영향 영향 분석이 일아나고, 시스템 전반에 걸친 변경 작업은 시스템 구축 프로젝트의 위험요소로 작용
2) 복잡한 정보 요구 사항의 간결한 표현
데이터 모델링은 구축할 시스템의 정보 요구사향과 한계를 가정 명확하고 간결하게 표현할 수 있는 도구 역할
3) 데이터 품질
데이터 품질 저하의 주요 요인은 중복 데이터 미정의, 데이터 구조와 비즈니스 간 정의 불충분, 데이터 불일치로 인한 데이터 구조 문제이며 이로 인한 데이터 품질 문제는 바로잡기가 불가능한 경우가 대부분임
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
'SQL' 카테고리의 다른 글
[SQLD,SQLP]데이터 모델링 - 세 가지 요소 : 개체, 속성, 관계 (0) | 2023.06.26 |
---|---|
[SQLD,SQLP]데이터 모델링 - 데이터 독립성의 이해 (0) | 2023.06.25 |
[SQLD,SQLP]데이터 모델링 3단계 (0) | 2023.06.24 |
[SQLD,SQLP]개발자라면 SQL 만큼은 배워야지 (0) | 2023.06.19 |
[SQLD,SQLP]SQL 자격 검증 시험에 대한 모든 것 (0) | 2023.06.19 |