본문 바로가기

공부/SQL

[SQLD] 모델링의 이해(1)

모델링의 이해

모델링의 정의

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

 - 현실세계의 데이터(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