[ 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층 스키마 독립성
논리적 독립성 : 개념 스키마가 변경되도 외부 스키마가 영향 받지 않는다.
물리적 독립성 : 내부 스키마가 변경되도 개념 스키마가 영향 받지 않는다.
'[자격증] SQLD(SQL개발자) > ↘ 데이터 모델링의 이해' 카테고리의 다른 글
[ SQLD ] 데이터 모델과 성능 - 1. 정규화와 성능 (0) | 2020.05.20 |
---|---|
[ SQLD ] 데이터 모델링의 이해 - 5. 식별자 ( Identifiers ) (0) | 2020.05.20 |
[ SQLD ] 데이터 모델링의 이해 - 4. 관계 ( Relationship ) (0) | 2020.05.18 |
[ SQLD ] 데이터 모델링의 이해 - 3. 속성 ( Attribute ) (0) | 2020.05.18 |
[ SQLD ] 데이터 모델링의 이해 - 2. 엔터티 (Entity) (0) | 2020.05.17 |
댓글