제1절 데이터 모델의 이해
1. 모델링
- 다양한 현상을 추상화, 단순화하여 일정한 표기법에 의해 표현하는 것
- 모델이란 현실 세계의 추상화 된 반영
2. 모델링의 특징
- 추상화: 현실세계에 맞춘 형식으로 표현, 모형화
- 단순화: 복잡한 현실세계를 규약에 의해 표현, 표기법
- 명확화: 누구나 이해하기 쉽게 애매모호함을 제거하여 표현
3. 모델링의 관점
- 데이터 관점(what): 업무가 어떤 데이터와 관련이 있는지, 데이터 간의 관계는 무엇인지 모델링
- 프로세스 관점(how): 업무가 실제하고 있는 일, 해야하는 일을 모델링
- 데이터와 프로세스의 상관 관점(interaction): 업무 처리하는 일의 방법에 따른 데의터의 영향을 모델링
4. 데이터 모델링의 중요성과 유의점
- 중요성
- 파급효과: 모델 변경이 불가피한 상황에서, 초래하는 위험요소
- 간결한 표현: 데이터 모델 구축시, 명확하고 간결하게 표현할 수 있는 도구
- 데이터 품질 유지: 데이터는 오래될 수록 가치가 높아지지만, 정확도 유지 필요
- 유의점
- 중복: 데이터베이스가 여러 장소에 같은 정보를 저장하면 안 됨
- 비유연성: 사소한 업무변화에 데이터 모델이 수시로 변경됨, 유지보수 어려움 발생
- 비일관성: 데이터 중복이 없어도 비일관성이 발생할 수 있음
5. 데이터 모델링의 3단계
추상화 수준에 따라 개념적, 논리적, 물리적 데이터 모델링으로 정의
- 개념적 데이터 모델링(계획/ 분석): ERD(Entity Relationship Diagram) 도출, 업무중심, 포괄적인 수준의 모델링
- 논리적 데이터 모델링(분석): 테이블 도출 및 key, 속성, 관계를 표현, 재사용성이 높으며, 정규화 수행
- 물리적 데이터 모델링(설계): DB구축-실제로 이식할 수 있도록 성능, 저장 등 물리적 성격을 고려하여 설계
6. 데이터 독립성
필요성: 유지보수 비용/ 데이터 중복성/ 데이터 복잡도/ 증가 및 요구사항 대응 저하
- 데이터의 구조가 변경되어도 응용 프로그램이 변경될 필요가 없음
- 논리적 독립성 + 물리적 독립성으로 실현됨
1) 데이터베이스 스키마
- 데이터 모델링 대상(틀)
- 데이터베이스 구조, 데이터 타입, 제약조건에 대한 명세
- 데이터베이스 설계 단계에서 명시되며, 자주 변경되지 않음
2) 데이터베이스 3단계 구조
- 외부 스키마: 응용 프로그램 관점에서 요구사항, 사용자 관점, DB 정의
- 개념 스키마: 외부 스키마가 필요하는 데이터를 모두 모아놓은 것(설계자 관점)
- 내부 스키마: 데이터베이스가 물리적으로 저장된 형식(개발자관점)
3) 사상(Mapping)
- 상호 독립적인 개념을 연결시켜주는 다리
- 데이터 독립성에는 크게 2가지로, 사상 도출
3-1) 외부적/ 개념적 사상(논리적 사상): 외부화면 및 사용자 인터페이스 스키마 구조는 개념스키마와 연결
3-1) 개념적/ 내부적 사상(물리적 사상): 개념스키마 구조와 물리적 저장된 구조(테이블 스페이스)와 연결
7. 데이터 모델링 3요소(개체, 속성, 관계)
- 업무가 관여하는 어떤 것(Thing): 엔터티타입 | 엔터티/ 엔터티(복수) | 인스턴스(단수), 어커런스
- 어떤 것이 가지는 성격(Atrtibutes): 속성 | 속성값
- 어떤 것들 간의 관계(Relationships): 관계 | 페어링
8. ERD (Entity Relationship Diagram)
- 데이터 모델 표기법 : 엔터티를 사각형, 관계를 마름모, 속성을 타원형으로 표현
9. ERD 표기법을 이용하여 모델링 하는 방법
3) 엔터티 간 관계 설정: 식별자 관계를 우선 설정함(식별자 관계 : 부모로부터 상속받은 FK(외래키)가 자식의 PK(기본키)의 일부가 되는 관계)
10. 좋은 모델링의 요건
- 완전성: 업무에 필요로하는 모든 데이터가 데이터 모델에 정의되어야 한다
- 중복배제: 동일한 사실은 한 번만 기록
- 업무규칙: 업무규칙이 데이터 모델에 표현되어야 한다
- 데이터 재사용: 회사 전체 관점에서 공통 데이터 도출, 전 영역 사용할 수 있도록 설계
- 통합성: 동일한 데이터는 조직의 전체에서 한 번만 정의되고 이를 참조, 활용
'IT 자격증 > SQLd' 카테고리의 다른 글
[SQLd] 51회 D-7 합격 이후, 보수 교육: 자격증 영구 갱신 (0) | 2023.12.31 |
---|---|
[SQLd] 기출복원 문제(21~49회) 복원/ 개념 (0) | 2023.11.12 |
[SQLd] D-7 연습문제 및 개념 (0) | 2023.11.06 |
[SQL] 오라클 설치/환경 세팅 방법, DBeaver에 오라클 연동하기 (0) | 2023.05.25 |