본문 바로가기
[자격증] SQLD(SQL개발자)/↘ 데이터 모델링의 이해

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

by 승큐리티 2020. 5. 15.

[ SQLD ]

- 데이터 모델링의 이해 (1) 데이터 모델의 이해 -

데이터 모델링이 그래서 뭔데 !!??

1. 데이터모델 ( Data Model ) / 데이터모델링 ( Data Modeling )
data : 자료  model : 모형 modeling : 모형화
데이터 모델 : 현실세계의 자료 모형
데이터 모델링 :  현실세계의 자료를 데이터베이스(Data Base : 데이터를 두는 곳)에 저장하기 위해 모형화시키는 행위

2. 데이터모델링 특징
 2-1) 추상화
       일정한 형식에 맞춰서 표현
 2-2) 단순화
       누구나 쉽게 이해할 수 있도록 표현
 2-3) 명확화
       대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술

3가지요소
1. 어떤 것
2. 속성
3. 관계

3. 데이터모델링 관점
 3-1) 데이터
       업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법(What, Data)
 3-2) 프로세스
       업무가 수행하는 작업은 무엇인지 또는 무엇을 해야 하는지를 모델링하는 방법(How, Process) 
 3-3) 데이터와 프로세스
       업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 받고 있는지 모델링하는 방법(Interaction)

4. 데이터모델링 관계 순서
 ①. 개념적 모델링
      추상화수준이 제일 높고 기업의 업무중심적으로 모든 데이터를 모델링한다.
 ②. 논리적 모델링
      개념적 모델링 -> 물리적 모델링으로 변환하는 단계
      업무에 대해 식별자 정의, 관계, 속성 등을 정확하게 표현한다. 재사용성이 높다.
 ③. 물리적 모델링
      실제 데이터베이스를 구축하는 단계로 성능,보안,가용성 등 물리적인 성격을 고려하여 설계한다.

※ 데이터모델링 고려사항
데이터 중복, 비유연성, 비일관성이 발생 되면 안된다.
중복배제, Business Rule, 완전성은 좋은 모델링 요건에 해당된다.

5.  데이터모델 표기법 ERD ( Entity Relationship Diagram )
1976년 피터첸 (Peter Chen)이 표기법을 만들었고 데이터 모델링 이론, 표기법을 배울 때 많이 사용된다.

 5-1 ) 작업순서
① 엔터티를 그린다.
② 엔터티를 배치한다.
③ 엔터티 간 관계를 설정한다.
④ 관계명을 기술한다.
⑤ 관계의 참여도를 기술한다.
⑥ 관계의 필수여부를 기술한다.

 5-2 ) 고려사항
   5-2-1 ) 중요한 엔터티를 왼쪽 상단에 배치한다.
        ☞ 사람의 눈은 왼쪽에서 오른쪽으로 위쪽에서 아래쪽으로 이동하는 경향 때문에
   5-2-2 ) 관계이름은 현재형으로 사용하고 포괄적인 용어는 사용하지 않는다.
         ☞ 이해하기 쉽고 복잡하지 않아야 한다.

6. 데이터베이스의 독립성 - 3층 스키마 ( 3-Level Schema )
사용자, 설계자, 개발자가 DB를 바라보는 관점에 따라 DB를 기술하고 이들의 관계를 정의한 ANSI 표준으로 DB의 독립성 확보를 위한 방법이다.

6-1) DB 독립성 확보 시 장점
1. 데이터 복잡도 증가
2. 데이터 중복 제거
3. 요구사항 대응 향상
4. 유지보수 비용 절감

6-2) 3층 스키마 구조

 

 


외부 스키마 : 사용자 관점 / 응용 프로그램이 접근하는 데이터베이스 / 뷰

개념 스키마 : 설계자 관점 / 통합 데이터베이스 구조 / 사용자 전체 DB내의 규칙과 구조

내부 스키마 : 개발자 관점 / 물리적 저장 구조 / DB 저장구조, 레코드 구조, 필드 정의, 인덱스

 

6-3) 3층 스키마 독립성
논리적 독립성 : 개념 스키마가 변경되도 외부 스키마가 영향 받지 않는다.
물리적 독립성 : 내부 스키마가 변경되도 개념 스키마가 영향 받지 않는다.

댓글