모델링의 이해
모델링의 정의
- 정보시스템을 구축하기 위한 데이터관점의 업무 분석 기법
- 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정
- 데이터베이스를 구축하기 위한 분석/설계의 과정
모델링의 특징
- 추상화: 다양한 현상을 일정한 양식인 표기법에 의해 표현
- 단순화: 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현
- 명확화: 누구나 이해하기 쉽게 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술
따라서, 모델링은 현실세계를 추상화, 단순화, 명확화하기 위해 일정한 표기법에 의해 표기하는 기법
모델리의 세 가지 관점
모델링 = 데이터 관점 + 상관관점 + 프로세스 관점
데이터 관점(What, Data)
- 업무가 어떤 데이터와 관련이 있는지 또는 데이터간의 고나계는 무엇인지에 대해서 모델링하는 방법
프로세스관점(How, Process)
- 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야하는지를 모델링 하는 방법
데이터와 프로세스의 상관 관점
- 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법
데이터 모델의 기본 개념의 이해
데이터 모델이 제공하는 기능
- 시스템을 현재 또는 원하는 모습으로 가시화하도록 도와준다.
- 시스템의 구조와 행동을 명세화 할 수 있게 한다.
- 시스템을 구축하는 구조화된 틀을 제공한다.
- 시스템을 구축하는 과정에서 결정한 것을 문서화한다.
- 다양한 영역에 집중하기 위해 다른 영역의 세부 사항은 숨기는 다양한 관점을 제공한다.
- 특정 목표에 따라 구체화된 상세 수준의 표현방법을 제공한다.
데이터 모델링의 중요성
- 파급효과가 크다
- 복잡한 정보 요구사항의 간결한 표현
- 데이터 품질
데이터 모델링의 유의점
중복(Duplication)
- 데이터베이스가 여러 장소에 같은 정보 저장하지 않도록 한다.
비유연성(Inflexibility)
- 사소한 업무변화에 데이터모델 수시로 변경되면 유지보수가 어렵다.
- 그러므로, 데이터의 정의를 데이터의 사용 프로세스와 분리한다.
비일관성(Inconsistency)
- 데이터의 중복이 없어도 비일관성 발생 가능하다.
- 데이터와 데이터간의 상호 연관 관계에 대해 명확하게 정의하여야 한다.
데이터 모델링의 진행 3단계
- 개념적(추상) -> 논리적 -> 물리적(구체)
데이터베이스 스키마 구조 3단계
개념 스키마
- 모든 사용자 관점을 통합한 조직 전체 관점의 통합적 표현
- 데이터 모델링은 통합 관점을 가지고 있는 개념 스키마(Conceptual Schema)를 만들어 가는 과정.
외부 스키마
- 사용자 뷰(View)
- 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의
- 전체 데이터베이스의 한 논리적인 부분 (서브 스키마)
- 같은 데이터베이스에 대해서도 서로 다른 관점을 정의 할 수 있도록 허용
- 일반 사용자는 SQL을 사용하여 DB를 사용한다.
내부 스키마
- 물리적 저장장치 입장에서 본 데이터베이스 구조, 물리적인 저장 장치와 밀접한 계층
- 실제 데이터베이스에 저장될 레코드의 물리적인 구조를 정의
- 데이터 항목의 표현방법, 내부 레코드의 물리적 순서 등을 나타냄
- 시스템 프로그래머, 설계자가 보는 관점의 스키마
'공부 > SQL' 카테고리의 다른 글
[SQL/오라클] ROLLUP, CUBE, GROUPING SETS (0) | 2020.11.27 |
---|---|
[SQL/오라클] DROP vs DELETE vs TRUNCATE 차이 (0) | 2020.11.18 |
[SQL/오라클] NULL 개념 (0) | 2020.11.18 |
SQL Injection(삽입) 공격 (0) | 2020.09.14 |
[SQLD] 모델링의 이해(2) (0) | 2020.09.02 |