개념적 데이터모델링
태그 :
- 개념
- - 해당 조직의 업무요건을 충족하기 위해서 주제영역과 핵심 데이터 집합, 핵심 데이터 관계를 정의하는 상위수준의 개략적 데이터 설계작업 - DBMS 클래스나 특정 DBMS와 독립적인 개념적 스키마를 기술하는 과정
1.개념적 모델링의 개요
가. 개념적 모델링 정의
- 해당 조직의 업무요건을 충족하기 위해서 주제영역과 핵심 데이터 집합, 핵심 데이터 관계를 정의하는 상위수준의 개략적 데이터 설계작업
- DBMS 클래스나 특정 DBMS와 독립적인 개념적 스키마를 기술하는 과정
나. 개념적 모델링 절차
다. 개념모델의 핵심엔터티 도출
- 업무에서 관리하고자 하는 데이터형태로 주제영역에서 가장 중심이 되는 데이터 집합, 핵심 업무 프로세스(Business Process)와 대응 됨
- 데이터 집합 중 독립중심 데이터 집합이나, 의존중심 데이터 집합이 핵심 데이터 집합의 대상이 될 수 있음
라. 개념모델- 핵심 속성(Attribute) 도출
- 정보를 구성하는 최소단위의 데이터 중 핵심 데이터 집합의 특징을 표현
- 식별자 속성 및 데이터 집합의 중요 속성이 핵심 속성의 대상이 됨
- 핵심 데이터집합에 2 ~ 5개 정도의 핵심 속성을 도출하는 것이 일반적임
- 논리모델에서 핵심 속성 이외에 비즈니스 요건을 고려하여 전체 속성 도출
마. 속성 검증 및 확정
최소단위분할 (원자단위 검증) |
원자 단위? -> 집합 개념의 속성은 단순개념으로 분할 최소 단위까지 분할 후 필요에 따라 통합 |
유일 값 존재 검증 (유일값 검증) |
Single Value ? -> 여러 값을 가지거나 반복 속성 제거 반복경우 새로운 엔티티로 분할 |
가공 값 유무 판단 (추출값 검증) |
재현성 : 버렸다고 가정하고 쉽게 재현가능하면 추출값, 아니면 원천값으로 판단 |
관리수준 상세화 검토 (상세화 결정) |
속성이 자기 소유의 속성을 가지면 엔티티 현재의 만족보다는 미래의 관리수준 감안 필요 |
2. 개념적 데이터 모델링의 작성절차와 방식
가. 작성절차
절차 |
상세내용 |
기법 및 종류 |
주제영역 선정 |
- 하위 주제 영역 또는 데이터 집합들로 구성 -업무 기능과 대응 |
상향식, 하향식, Inside-out, 혼합식 설계방식 |
핵심 데이터 집합선정 (Entity) |
- 데이터의 보관 단위로써 주제영역에서 중심이 되는 데이터 집합을 정의 |
독립중심, 의존중심, 의존특성, 의존연관데이터 |
관계설정 (cardinality) |
-업무적 연관성에 따라 개체간 갖는 relationship 설정 |
1:1, 1:N, M:N, 순환관계
|
핵심속성 정의 (Attribute) |
- 데이터 집합의 특성을 나타내는 항목 |
원자단위검증, 유일값 존재검증, 가공값 유무판단, 관리수준 상세화 판단 |
식별자 정의 (Identifier) |
- 데이터 집합을 유일하게 식별해 주는 속성(PK로 구현) |
PK, CK, AK, FK로 구분 |
나. 방식
단계 |
내용 |
|
개념적 스키마 모델링 (데이터 중심설계) |
뷰 통합 방법 (하향식) |
① 요구조건 명세로부터 먼저 몇 개의 부문별 뷰(View)를 식별하고 모델링 - 개체 식별->키 애트리뷰트 결정 -> 관계성 식별 -> 애트리뷰트 기술
② 부문별 뷰들을 통합해서 하나의 전체적 개념 스키마 구성 - 동일성 통합(identity integration) : 동일 요소나 동의어들을 통합 - 집단화(aggregation) : 개체 원소들을 그룹핑 - 일반화(generalization) : 개체들의 공통 성질을 기초로 대분류 - 상호 모순 해결: 이름, 타입, 도메인, 제약조건, 키 |
애트리뷰트 합성 방법 (상향식) |
① 애트리뷰트 식별/분류 : 유일성 여부에 따라 구분 ② 개체 정의 : 기본키, 대체키, 설명 애트리뷰트 ③ 관계성 정의 : 개체간, 개체-애트리뷰트, 애트리뷰트간 관계 ④ 개념적 구조(ERD) 표현 : Cardinality, 종속 정보, 누락 정보 |
|
트랜잭션 모델링(처리중심 설계) |
응용을 위한 트랜잭션을 명세 - 주요 트랜잭션을 식별하고 기능적 특성을 데이터베이스 설계 초기에 명세 - 스키마에 트랜잭션이 필요로 하는 정보가 모두 포함되고 있는지 확인 - 트랜잭션의 상대적 중요성, 예상 실행 빈도수 파악 (물리적 DB 설계의 자료)
입출력과 기능적 행태 명세 - 입력 데이타, 출력 데이타, 내부 제어 흐름 트랜잭션 유형 : 검색, 갱신, 혼합(검색, 갱신) |
3. E-R model(개체-관계 모델)
가. 개체-관계 모델은 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 명확하게 표현하기 위해서 가장 널리 사용되고 있는 모델이다.
구분 |
설명 |
|
개체(entity) |
• 단독으로 존재하며 다른 것과 구별되는 객체 |
|
개체타입 (entity type) |
• 이름과 애트리뷰트들로 정의되며, 애트리뷰트들은 그 개체의 특성을 기술함 • 개체 집합(entity set) : 특정 개체 타입에 대한 인스턴스 집합 |
|
애트리뷰트 (attribute) |
• 단순 애트리뷰트 & 다중값 애트리뷰트 |
• 단순 애트리뷰트(simple attribute) : 더 이상 작은 구성 요소로 분해할 수 없는 애트리뷰트 • 복합 애트리뷰트 (composite sttribute) |
• 단일값 애트리뷰트 & 다중값 애트리뷰트 |
• 단일 값 애트리뷰트 (single-valued attribute) : 각 개체에 대해 하나의 값만을 갖는 애트리뷰트 (학생 개체타입의 학번 애트리뷰트) |
|
• 유도 애트리뷰트 & 저장 애트리뷰트 |
• 유도 애트리뷰트(derived attribute) : 어떤 애트리뷰트의 값이 다른 관련된 애트리뷰트나 개체가 가지고 있는 값으로부터 유도되어 결정되는 애트리뷰트 (평균 성적 애트리뷰트) • 저장 애트리뷰트(stored attribute) : 유도 애트리뷰트를 위해 사용된 애트리뷰트 (성적 애트리뷰트) |
|
• 널 애트리뷰트 |
• 널 애트리뷰트 (null attribute) : 널 값 (null value)을 갖는 애트리뷰트 |
나. ER모델 표기법(P. Chen)
1) 약한 개체 타입(weak entity type)
- 자신의 애트리뷰트로만 키를 명세할 수 없는
개체타입
- 주개체-강한개체타입, 종속개체-약한개체타입
2) 구별자(discriminator)
- 강한 개체와 연관된 약한 개체집합에서 이들을 서로 구별할 수 있는 애트리뷰트 : 부분키(partial key)
3) 식별 관계 타입 (identifying relationship type)
- 약한 개체를 강한 개체 연관
나. E-R 다이어그램
다. Entity(실체)
- 업무수행을 위하여 기업이 알아야 될 대상이 되는 사람, 장소, 사물, 사건 및 개념(데이터로 관리 되어져야 하는 항목)
- 각 실체는 유일하게 식별 가능, 인스턴스라 불리는 개별적인 객체들의 집합으로 반드시 주 식별자가 존재해야 한다. (상호 배타성, 식별성)
구분 |
설명 |
개체(entity) |
단독으로 존재하며 다른 것과 구별되는 객체 |
개체타입 (entity type) |
이름과 애트리뷰트들로 정의되며, 애트리뷰트들은 그 개체의 특성을 기술함 개체 집합(entity set) : 특정 개체 타입에 대한 인스턴스 집합 |
라. 관계(Relationship type)
- 개체 집합(entity set)들 사이의 대응(correspondence)
- 사상(mapping)
구분 |
설명 |
|
관계타입 (relationship type) |
• 개체 타입과 개체 타입 간에 성립할 수 있는 관계를 총체적으로 정의 • 관계 집합(relationship set) : 개체집합 간 실제로 나타나 있는 관계 인스턴스를 총집합 |
|
관계타입 유형 (분류기준 -사상 원소수) |
1 : 1 (일 대 일) |
• fx : x → y and fy : y→x |
1 : N (일 대 다) |
• not fx : x → y and fy : y→x |
|
N : 1 (다 대 일) |
• fx : x → y not fy : y→x |
|
N : N (다 대 다) |
• not fx : x → y not fy : y→x |
|
관계타입 특성 |
전체참여 & 부분참여 |
•전체 참여(total participation) : A-B 관계에서 개체 집합A의 모든 개체가 A-B 관계에 참여 ex) 교수-학과 •부분 참여 (partial participation) : A-B 관계에서 개체 집합A의 일부 개체만 A-B 관계에 참여 ex) 학생 (휴학생 허용시) – 과목 |
존재 종속 (existence Dependence) |
•어떤 개체 b의 존재가 개체 a의 존재에 종속될 (b는 a에 존재 종속) (a :주개체(dominant entity) b : 종속개체(subordinate entity)) |