
SQLD 단원별 목록으로
1. 모델링의 이해
가) 모델링의 정의
- 사람이 살아가면서 나타날 수 있는 다양한 현상은 사람, 사물, 개념 등에 의해 발생된다 고 할 수 있으며 모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미한 다. 즉 모델을 만들어가는 일 자체를 모델링으로 정의할 수 있다.

나) 모델링의 특징
1) 추상화(모형화, 가설적): 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것을 의미한다.
2) 단순화: 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념을 의미한다.
3) 명확화: 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확(正確)하게 현상을 기술하는 것을 의미한다.
※ 모델링을 다시 정의하면 ‘현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표 기법에 의해 표현하는 기법’으로 정리할 수 있다.
다) 모델링의 세 가지 관점
- 모델링은 크게 세 가지 관점인 데이터관점, 프로세스관점, 데이터와 프로세스의 상관관점으로 구분하여 설명할 수 있다.

1) 데이터관점: 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 관계는 무엇인지에 대해서 모델링하는 방법.(What, Data)
2) 프로세스관점: 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법(How, Process)
3) 데이터와 프로세스의 상관관점: 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향 을 받고 있는지 모델링하는 방법(Interaction)
2. 데이터 모델의 기본 개념의 이해
가) 데이터 모델링의 정의
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
- 현실세계의 데이터(What)에 대한 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계의 과정
나) 데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
- 시스템의구조와 행동을 명세화할 수 있게 한다.
- 시스템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점을 제공한다.
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.
3. 데이터 모델링의 중요성 및 유의점
가) 파급효과(Leverage)
- 데이터 구조의 변경으로 인한 일련의 변경작업은 전체 시스템 구축 프로젝트에서 큰 위험요소가 된다.
나) 복잡한 정보 요구사항의 간결한 표현(Conciseness)
- 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구이다.
다) 데이터 품질(Data Quality)
- 데이터베이스에 담겨 있는 데이터는 기업의 중요한 자산이다.
- 데이터 품질의 문제가 야기되는 중대한 이유 중 하나가 바로 데이터 구조의 문제이다. 중복 데이터의 미정의, 데이터 구조의 비즈니스 정의의 불충분, 동일한 성격의 데이터를 통합하지 않고 분리함으로써의 나타나는 데이터 불일치 등의 데이터 구조의 문제 등이 있다.
① 중복(Duplication) : 데이터베이스가 여러 장소에 같은 정보를 저장하는 잘못을 하지 않도록 한다.
② 비유연성(Inflexibility) : 데이터 모델링은 데이터 혹은 프로세스의 작은 변화가 애플리케이션과 데이터베이스에 중대한 변화를 일으킬 수 있는 가능성을 줄여야 한다.
③ 비일관성(Inconsistency) : 데이터 모델링을 할 때 데이터와 데이터 간 상호 연관 관계에 대한 명확한 정의를 해줘야 한다.
4. 데이터 모델링의 3단계 진행


5. 프로젝트 생명주기(Life Cycle)에서 데이터 모델링

6. 데이터 모델링에서 데이터 독립성의 이해
가) 데이터 독립성의 필요성

나) 데이터베이스의 3단계 구조
- ANSI/SPARC의 3단계 구성의 데이터독립성 모델은 외부단계와 개념적 단계, 내부적 단계로 구성된 서로 간섭되지 않는 모델을 제시함.

다) 데이터독립성 요소

- 데이터베이스 스키마 구조는 3단계로 구분되고 각각은 상호 독립적인 의미를 가지고 고유한 기능을 가진다.
라) 두 영역의 데이터독립성
- 3단계로 개념이 분리되면서 각각의 영역에 대한 독립성을 지정하는 용어가 바로 논리적인 독립성과 물리적인 독립성이다.

마) 사상(Mapping)
- 영어로 ‘Mapping’은 우리말로 ‘사상’이라고 번역되는데 이것은 상호 독립적인 개념을 연결시켜주는 다리를 뜻한다.
데이터독립성에서는 크게 2가지의 사상이 도출된다.

※ 외부 화면이나 사용자에게 인터페이스하기 위한 스키마 구조는 전체가 통합된 개념 적 스키마와 연결된다는 것이 논리적 사상이다.
또한 통합된 개념적 스키마 구조와 물리적으로 저장된 구조의 물리적인 테이블스페이스와 연결되는 구조가 물리적 사상이다.
7. 데이터 모델링의 중요한 세 가지 관점
가) 데이터 모델링의 세 가지 요소

※ 이 세 가지는 데이터 모델링을 완성해 가는 핵심 개념으로서 결국 엔터티, 속성, 관계로 인식되는 것이다. 사물이나 사건 등을 바라볼 때 전체를 지칭하는 용어를 어떤 것(Things)이라 하고, 그 어떤 것이 가지는 세부적인 사항을 성격(Attributes)이라고 할 수 있다.
또한 각각의 어떤 것은 다른 어떤 것과 연관성을 가질 수 있는데 이것을 관계(Relationship)라고 표현한다.
나) 단수와 집합(복수)의 명명
- 단수와 복수의 개념을 분명하게 구분하고 있고 실제로 데이터 모델링을 할 때 많이 활용되는 용어이다.

8. 데이터 모델링의 이해관계자


9. 데이터 모델의 표기법인 ERD의 이해
가) 데이터 모델 표기법
- 엔터티를 사각형으로 표현하고 관계를 마름모 속성을 타원형으로 표현.

나) ERD(Entity Relationship Diagram) 표기법을 이용하여 모델링하는 방법
① ERD 작업 순서

② 엔터티 배치
- 중요도에 따라 왼쪽에서 오른쪽, 위 쪽에서 아래쪽으로 배치
③ ERD 관계의 연결
- 초기에는 모두 Primary Key로 속성이 상속되는 식별자 관계를 설정하도록 한다.
- 중복되는 관계가 발생되지 않도록 하고 Circle 관계도 발생하지 않도록 유의하여 작성하도록 한다.

④ ERD 관계명의 표시
- 관계설정이 완료되면 연결된 관계에 관계이름을 부여하도록 한다.
관계이름은 현재형을 . 사용하고 지나치게 포괄적인 용어는 사용하지 않도록 한다.

⑤ ERD 관계 관계차수와 선택성 표시

10. 좋은 데이터 모델의 요소
- 완전성 (Completeness)
- 중복배제 (Non-Redundancy)
- 업무규칙 (Business Rules)
- 데이터 재사용 (Data Reusability)
- 의사소통(Communication)
- 통합성(Integration)
'자격증 > SQL개발자(SQLD)' 카테고리의 다른 글
| 2-1장. 데이터 모델과 성능_성능 데이터 모델링의 개요 (8) | 2023.05.16 |
|---|---|
| 1-5장. 데이터 모델링의 이해_식별자(Identifiers) (6) | 2023.05.14 |
| 1-4장. 데이터 모델링의 이해_관계(Relationship) (13) | 2023.05.14 |
| 1-3장. 데이터 모델링의 이해_속성(Attribute) (4) | 2023.05.10 |
| 1-2장. 데이터 모델링의 이해_엔터티(Entity) (6) | 2023.05.08 |