[데이터 모델링] 개념 데이터 모델링
1. 정의
- 건물의 골격과 같은 형태
- 주제별로 분휴 가능한 업무를 분석해서, 핵심 엔터티를 추출하고 그들 간의 관계를 정의하여
데이터의 골격을 생성하는 것
- 전사적 데이터 모델링
2. 주제 영역
1) 정의
- 주제 영역은 기업이 사용하는 데이터의 최상위 집합
- 계획 수립 단계는 하향식 분석을 원칙으로 하고, 검증을 위해서는 부분적으로 상향식 분석을 사용.
2) 분류 원칙
① 데이터 중복 최소화
② 데이터 확장성 보장
③ 데이터 관련성 및 편의성이 확보
3) 주제 영역 분류 방법
① 1차 분류
- 주요 데이터의 집합의 유형을 정의
(업무의 변화에 민감하지 않도록 폭 넓게 정의)
② 2차 분류
- 분석 주제와 현황 등의 영역으로 분류
- 1차 분류를 세분화 함.
③ 3차 분류
- 2차 영역의 분류를 좀 더 세분화 해서 분류
4) 주제 영역 정의 절차
데이터 현황 분석 → 데이터 분류 지침 정의 → 주제 영역 분류 및 정의 → 주제 영역 도식화
5) 주제 영역 정의 내용 도출
① 데이터의 명사형 도출
② 업무 기능의 이름으로 부터 도출
③ 하향식 접근 방법 : 주제 영역에서 출발하여 엔터티 타입으로 전개
④ 상향식 접근 방법 : 엔터티 타입을 그룹화 하여 주제 영역 도출
⑤ 분석 단계에서의 도출 : 아키텍처 모델을 정련하는 과정에서 도출, 데이터 모델 상세화 도출
3. 후보 엔터티 선정
1) 후보 엔터티 식별
① 개념을 명확히 정립
② 우리가 관리하고자 하는 것인지를 파악
③가로와 세로를 가진 면접(집합) 인지를 확인
2) 유의 사항
① 엔터티 가능성이 있다고 예상되면 일단 검토 대상
② 너무 깊게 들어가지 말것. 후보 자격의 여부만 따지면 됨.
③ 동의어 처럼 보이더라도 함부로 버리지 않음, 후에 동의어로 보이는 후보를 집합의 정의에 따라 통합하면 됨
④ 개념이 모호한 대상은 칠차로 그 개념을 상식화하여 이해
⑤ 프로세스에 너무 연연해하지 말 것.
⑥ 예외의 경우에 너무 집착하지 말 것.
⑦ 단어 하나하나에 집중해서 판단.
4. (핵심) 엔터티 정의
1) 엔터티 정의
- 관리하고자 하는 것인지, 가로와 세로를 가진 면적인지, 대상 개체 간의 동질성이 있는지,
다른 개체와 확연히 구분되는 독립성을 가지는 지, 순수한 개체이거나 행위를 하는 행위 집합인지를 확인.
2) 엔터티의 특징
① 업무에 필요한 정보
② 의미있는 식별자에 의해 인스턴스는 1개씩만 존재 (중봅 배제)
③ 2개 이상의 인스턴스 집합으로 구성
④ 업무 프로세스에 의해 이용되어야 함.
⑤ 속성을 포함해야 함(식별자만 있으면 의미 없음)
⑥ 관계가 존재 해야 함.
5. 관계 데이터 모델
1) 정의
- 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
- 하나의 개체에 대한 데이터를 하나의 릴레이션에 저장.
※ 릴레이션 : 하나의 개체에 관한 데이터를 2차원 테이블의 구조로 저장한 것.
※ 릴레이션의 특징 : 투플의 유일성, 투플의 무순서, 속성의 무순서, 속성의 원자성 을 만족해야 릴레이션으로 인정 받음.
※ 투플 : 릴레이션의 행에 해당, 파일 관리자 관점에서 레코드에 대응
속성 : 릴레이션의 열, 어트리뷰트, 파일 관리 시스템 관점에서 필드에 대응
- 릴레이션 스키마 : 릴레이션의 논리적 구조.
- 릴레이션 인스턴스 : 어느 한 시점에서 릴레이션에 존재하는 투플의 집합.
2) 제약
① 무결성 제약 조건 : 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
② 개체 무결성 제약 조건 : 기본 키를 구성하는 모든 속성에는 NULL 값을 가질 수 없다.
※ 기본 키 : 튜플을 식별하는데 기준으로 사용할 키
③ 참조 무결성 제약 조건 : 외래키는 참조할 수 없는 값을 가질 수 없다.
(외래키가 NULL 값을 가진다고해서 참조 무결성 제약조건의 위반은 아님)
※ 외래 키 : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합.