집에서 하는 공부/SQLD

[SQLD]1과목.데이터 모델링의 이해-1

집돌이 공대남 2022. 5. 25. 15:03
반응형

정보처리기사를 마치고 2주동안의 공부를 기록하려고 한다.

첫 주는 SQL 자격검증 실전문제(노랭이)를 구매하여 1주동안 2번정도 처음부터 끝까지 다 풀어보았다.

다행히 정보처리기사 공부내용이 머리에 남아있어서 어느정도 풀리긴 풀렸는데

글이 길어지니 나중에는 머리가 아파오더이다.

공대남은 보통 공부를 할 때 한 권만 사서 그 책을 주구장창 보는 공부를 한다.

전에 정보처리기사 시에도 같은 방법이였다.

사설이 긴거 같은니 바로 정리 시작하겠다.


1 장 데이터 모델링의 이해

 

1절 데이터 모델의 이해

1. 모델링

-개념

현실세계를 단순화하여 표현하는 것

 

- 특징(단추명)

*단순화: 복잡한 현실세계 약속된 규약에 의해 제한된 표기법/언어로 표현함, 쉽게 이해할 수 있도록 단순화

*추상화(모형, 가설): 현실세계에서 일정한 형식(규칙)에 맞추어 표현 (일정 양식 표기법)

*명확화:  누구나 이해하기 쉽게 대상의 애매모호를 제거하고 정확하게 현상을 기술(노 애매, 정확)

 

- 관점

*데이터 관점(Data, What(무엇을 할지)): 업무와 데이터 or 데이터간의 관계

*프로세스 관점(Process, How(어떻게 할지)): 업무와 실제 하는 일 or 무엇을 해야하는지

*상관 관점(Interaction): 업무가 처리하는 일의 방법에 따라 데이터가 받는 영향

 

- 활용

[계획,분석,설계] 시 업무를 분석하고 설계하는데 이용되고,

[구축,운영] 시 변경과 관리의 목적으로 이용됨.

 

2. 데이터 모델링

-개념

정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법

현실세계 데이터를 약속된 표기법에 의해 표현

데이터베이스의 구축을 위한 분석, 설계 과정.

 

- 목적

정보에 대한 표기법을 통일하여 업무 내용 분석 정확도 증대

데이터 모델을 기초로 DB 생성

 

- 데이터 모델링 기능

시스템 가시화 도움

시스템의 구조와 행동 명세화가 가능

시스템 구축 및 구조화된 틀을 제공

시스템 구축 과정에서 결정한 것을 문서화

다양한 영역에 집중을 위해 다른 영역 세부사항을 숨김(다양한 관점 제공)

특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공

 

- 데이터 모델링 중요성

파급효과가 크다(Leverage): 데이터 구조 변경으로 인한 일련의 변경작업 위험요소를 해결

복잡한 정보 요구사항의 간결한 표현(Conciseness): 요구사항, 한계를 명확하게 하고 간결하게 표현

데이터 품질을 유지(Data Quality): 오래된 데이터의 정확성, 신뢰성 해결

 

- 데이터 모델링 유의점

중복(Duplication): 데이터베이스가 여러 장소에 같은 정보를 저장하는 것을 유의

비유연성(Inflexibility): 사소한 업무변화에 데이터모델이 수시로 변경되면 유지보수 어려워짐-

>데이터의 정의를 데이터의 사용과 프로세스로 분리

비일관성(Inconsistency): 데이터의 중복이 없어도 비일관성 발생 가능

-> 모델링을 할 때 데이터간 상호 연관관계 명확히 정의해야함.

 

3. 데이터 모델링 3단계

-개념적 모델링

엔터티와 속성을 도출하고 ERD를 작성함, 업무 중심적이고 포괄적인 수준의 모델링

 

-논리적 모델링

식별자를 도출하고 속성과 관계 등을 정의함, 정규화를 수행하여 데이터 모델의 독립성과 재사용성 확보, 논리 데이터 모델은 데이터 모델링 완료 상태

 

-물리적 모델링

DB를 구축함, 성능 및 보안 등 물리적인 성격 고려

 

※ 프로젝트 생명주기(Life Cycle)

계획 > 분석 > 설계 > 개발 > 테스트 > 전환/이행 단계로 구성됨, 1) 계획과 분석 단계는 개념적 모델링 2) 분석 단계는 논리적 모델링 3) 설계 단계는 물리적 모델링에 해당

 

4. DB3단계 구조

-개념

데이터 독립성 확보를 목표로 함

 

DB 3단계 구조

 

- DB 독립성의 필요성

데이터의 중복성과 데이터 복잡도 증가로 인한 유지비용 증가와, 요구사항 대응에 효율이 저하된다.

 

- 3층 스키마(3-level Schema)

*외부 스키마: 각 사용자 단계의 개인적 DB 스키마, 사용자 관점, 응용 프로그램이 접근하는 DB를 정의함

*개념 스키마: 조직 전체의 통합된 DB 스키마, 설계자 관점 데이터 모델링의 지향점

*내부 스키마: 물리적으로 데이터가 저장되는 방법을 표현하는 스키마, 개발자 관점, 물리적 저장 구조임

 

 

- 데이터 독립성

논리적 독립성: 외부 스키마가 개념 스키마의 변화에 무관함, 논리적 사상 없음

물리적 독립성: 개념 스키마가 내부 스키마의 변화에 무관함, 물리적 사상 없음

 

5. 데이터 모델링 3요소

엔터티, 관계, 속성

 

6. ERD(Entity Relationship Diagram)

-개념

1) 엔터티는 사각형

엔터티

2) 관계는 마름모

관계

3) 속성은 타원형으로 표현, 현실의 데이터 모두 표현 가능

속성

1)  엔터티 도출

2)  엔터티 배치

3)  엔터티 간 관계 설정

4)  관계명 기술

5)  관계차수 표현: 1:1, 1:N, M:N

6)  관계선택사양 표현: 필수, 선택

 

-좋은 모델링의 요건

1) 완전성 2) 중복 배제 3) 업무 규칙 4) 데이터 재사용 5) 의사소통 6) 통합성


SQL은 정말 지식이 부족한 영역인데,

이번에 공부를 시작한게 참으로 많은 도움이 되는 영역이다.

뿌듯한 공부시간이여서 좋다.

 

오늘도 화이팅!

반응형