모델링이란? 복잡한 현실세계를 추상화, 단순화 명확화하기 위해 일정한 표기법에 의해 표현하는 기법
모델링의 특징
모델링의 3가지 관점
데이터 모델링이란?
데이터 모델이 제공하는 기능
데이터 모델링의 중요성
1) 파급효과 : 데이터 구조 변경에 의해 많은 영향이 갈 수 있다.
2) 복잡한 정보 요구사항의 간결한 표현 : 데이터 모델은 구축할 시스템의 정보 요구사항과 한계를 가장 명확하고 간결하게 표현할 수 있는 도구임. (예를 들면 건축물의 설계도면)
3) 데이터 품질 (Data Quality) : 데이터 구조가 데이터의 품질을 결정하는 중요한 요소이기 때문에 모델링시 유의해야 한다.
데이터 모델링의 3가지 요소
복수 | 단수 |
---|---|
엔터티 (ex. 과목) | 인스턴스 (ex. 수학,영어) |
개념적 모델링 -> 논리적 모델링 -> 물리적 모델링
1) 개념적 모델링 : 사용자와 개발자가 데이터 요구사항을 발견하는 것 지원. 추상적이므로 상위 문제에 대한 구조화 가능. 전 조직에 걸쳐 이루어진다면, 전사적 데이터 모델이라고도 불림.
2) 논리적 모델링 : 데이터 설계 프로세스의 Input으로써, 논리적인 구조와 규칙을 명확하게 표현. 식별자 확정, 정규화, M:M관계 해소, 참조 무결성 규칙 정의 등으로 신뢰성 있는 데이터구조 얻음.
3) 물리적 모델링 : 논리 데이터 모델이 어떻게 하드웨어에 표현될 것인지 다룸(=물리적 스키마).
프로젝트 생명주기(life cycle)에서 데이터 모델링
데이터 독립성의 필요성
데이터 독립성 모델(ANSI/SPARC)의 3단계 구조
항목 | 설명 |
---|---|
외부스키마 | 사용자 관점으로 구성. 접근하는 특성에 따른 스키마 구성 |
개념스키마 | 모든 사용자 관점을 통합한 조직 전체의 DB 기술함. DB에 저장되는 데이터와 관계를 표현하는 스키마. |
내부스키마 | DB가 물리적으로 저장되는 방법을 표현하는 스키마 |
논리적 독립성 | 개념스키마가 변경되어도 외부스키마에 영향 없도록. 사용자 특성에 맞는 변경 가능. 통합구조 변경가능. |
물리적 독립성 | 내부스키마가 변경되어도 외부/개념스키마에 영향 없도록. |
유무형에 따른 분류
발생시점에 따른 분류
속성의 특징
엔터티, 인스턴스, 속성, 속성값의 관계
속성의 명명
속성의 특성에 따른 분류
엔터티 구성방식에 따른 분류
차수 | IE 표기법 | Barker 표기법 |
---|---|---|
1:1 | 실선 & 선(1) | 실선 |
1:M | 실선 & 선(1) + 까마귀발(M) | 점선&선(1) + 실선&까마귀발(M) |
M:M | 실선 & 까마귀발(M) | 실선&까마귀발(M) |
식별자란 ? 엔터티내에서 인스턴스들을 구분할 수 있는 구분자
주식별자의 특징
엔터티에 주식별자가 지정되고 엔터티간 관계를 연결하면, 자식엔터티에서 부모엔터티로부터 받은 외부식별자를 자신의 주식별자로 이용할 것인지 또는 부모와 연결이 되는 속성으로만 이용할 것인지 결정해야 함
식별자 관계 (주식별자로 이용 O)
비식별자 관계 (주식별자로 이용 X)
문제점
적절한 관계모델링은 데이터 모델의 균형감을 준다.
비식별자관계 선택 프로세스
관계의 강/약 분석 (약한 관계 -> 비식별자관계 고려)
-> 자식테이블 독립PK필요 (독립 PK구성 필요 -> 비식별자관계 고려)
-> SQL복잡도 증가 / 개발생산성 저하
-> PK속성 단순화(비식별자관계 고려)
식별자와 비식별자 관계 비교
식별자 관계 | 비식별자 관계 | |
---|---|---|
목적 | 강한 연결관계 | 약한 연결관계 |
자식엔터티 | 자식 주식별자의 구성에 포함 | 자식 일반속성에 포함 |
표기법 | 실선 | 점선 |