Today I Learned
오늘은 기본 sql 공부를 끝내고 sqld 이론에 대해 공부를 시작했다. 다음주 수요일에 면접이 2개가 동시에 잡혀 면접준비에 치중하고 있어 공부 분량은 아직 많지 않지만 둘 다 놓치지 않고 열심히 해보자!
데이터 모델링
모델링
현실 세계를 단순화해서 표현한 것
- 추상화 : 일정한 형식에 맞춰 표현
- 명확성 : 이해가기 쉽게 표현
- 단순화 : 제한된 표기나 언어로 표현
- 데이터 관점 : 업무와 데이터 및 데이터 사이의 관계
- 프로세스 관점 : 진행되고 있거나 진행되어야 하는 업무
- 상관 관점 : 데이터에 대한 업무 처리 방식의 영향
좋은 모델링의 요건
- 완전성
- 중복 배제
- 업무 규칙
- 데이터 재사용
- 의사소통
- 통합성
데이터 모델링
정보 시스템 구축을 귀한 데이터 관점의 업무 분석 기법
목적
정보에 대한 표기법을 통일해 업무 분석 내용 정확성 증대 및
데이터 모델을 기초로 DB 생성
데이터 모델링의 3요소
기능
- 가시화
- 명세화
- 문서화
- 구체화
- 구조화된 틀 제공
- 다양한 관점 제공
데이터 품질
- 유일성 : 데이터 중복 저장 방지
- 유연성 : 데이터 정의와 데이터 사용 프로세스 분리
- 일관성
데이터 모델링 3단계
-
개념적 모델링 : 엔티티와 속성을 도출하고 ERD 작성. 업무 중심의 포괄적 수준의 모델링
-
논리적 모델링 : 식별자 도출하고 속성과 관계 정의. 정규화를 수행해 데이터 모델의 독립성과
재사용성 확보. 논리 데이터 모델은 데이터 모델링 완료 상태
-
물리적 모델링 : 실제 DB를 구축. 성능과 보안 등 물리적인 성격도 고려
- 프로젝트 생명주기(Lifecycle)
계획 > 분석 > 설계 > 개발 > 테스트 > 전환/이행
계획과 분석은 개념, 분석은 논리, 설계는 물리적 모델링에 해당.
DB의 3단계 구조
목표는 데이터 독립성 확보
이미지 출처 : prinha
3층 스키마
- 외부 스키마 : 각 사용자 단계의 개인적 DB 스키마. 사용자 관점, 응용 프로그램이 접근하는 DB를 정의
- 개념 스키마 : 조직 전체의 통합된 DB 스키마. 설계자 관점, 데이터 모델링의 지향점
- 내부 스키마 : 물리적으로 데이터가 저장되는 방법을 표현. 개발자 관점, 물리적 저장 구조.
데이터 독립성
- 필요성 : 데이터 중복과 복잡도 증가로 인해 유지보수 비용증가와 요구사항 대응 저하를 막기 위해
- 논리적 독립성 : 외부 스키마가 개념 스키마 변화에 무관
- 물리적 독립성 : 개념 스키마가 내부 스키마의 변화에 무관
ERD
Entity Relationship Diagram
이미지 출처 : @codren