데이터아키텍처 준전문가(DAsP) 개념정리 목차

4과목 ① — 모델링 이해와 개념 데이터 모델링

4과목은 20문항 / 40 %로 혼자서 나머지 세 과목과 맞먹는다. 공식 출제 범위는 네 덩어리다.

이해            모델링 개요 · 기법 · 표기법
개념 데이터 모델링  주제영역 정의 → 후보엔터티 선정 → 핵심엔터티 정의 → 관계 정의 → 개념모델 작성
논리 데이터 모델링  속성 정의 · 엔터티 상세화 · 이력관리 정의 · 품질검토
물리 데이터 모델링  물리요소 조사 · 논리-물리 변환 · 반정규화 · 품질검토

이 권은 이해와 개념 모델링을, 05권이 논리를, 06권이 물리를 다룬다.


1부 · 데이터 모델링 이해

1. 데이터 모델링이란

현실의 업무를 데이터 관점에서 추상화하여 약속된 표기법으로 표현하는 과정.

1.1 세 가지 관점

모델을 볼 때 무엇에 주목하는가에 따라 나뉜다.

관점무엇을 보는가산출물
데이터 관점업무가 어떤 데이터를 사용하는가데이터 모델
프로세스 관점업무가 어떤 일을 하는가프로세스 모델
상관 관점프로세스가 어떤 데이터를 다루는가CRUD 매트릭스

DAsP는 데이터 관점을 다룬다. "업무 처리 절차와 분기 조건을 정의한다" 같은 보기는 프로세스 관점이므로 오답이다.

1.2 모델링의 세 가지 목적

1  업무를 정확히 이해하고 표현한다          — 분석 도구
2  관련자 사이의 의사소통 수단이 된다        — 소통 도구
3  데이터베이스 구축의 청사진을 제공한다      — 설계 도구

1.3 좋은 모델의 요건

요건
완전성업무에 필요한 것이 빠짐없이 있는가
중복 배제같은 데이터가 두 곳에 정의되지 않았는가
업무 규칙 표현규칙이 모델 구조 자체에 담겼는가
데이터 재사용여러 업무가 같은 데이터를 공유할 수 있는가
의사소통읽는 사람이 이해할 수 있는가
통합성전사 관점에서 일관되는가

업무 규칙 표현이 자주 나온다. "화면에서 통제하면 된다" 는 규칙이 모델에 없다는 뜻이라 오답이다. 다른 경로로 데이터가 들어오면 막을 수 없다.


2. 데이터 모델링 기법

2.1 하향식과 상향식

하향식 (Top-down)상향식 (Bottom-up)
출발점경영 전략 · 업무 기능기존 화면 · 장표 · 현행 DB
방향큰 틀 → 세부항목 → 묶어서 엔터티
강점전체 정합성, 누락이 적음현실과 맞음, 빠름
약점현장과 동떨어질 수 있음전체 구조가 안 보임
적합한 때신규 구축, 전사 통합재구축, 문서 없는 레거시

둘은 함께 쓴다. 하향식으로 뼈대를 잡고 상향식으로 검증하는 것이 실무의 일반적 방식이다. "두 기법은 함께 쓸 수 없다" 는 오답이다.

2.2 모델링 접근 순서

전사 데이터 모델  →  업무 영역 데이터 모델  →  개별 시스템 데이터 모델
     (전사 관점)         (주제 영역 단위)          (구축 단위)

위로 갈수록 추상적이고 안정적이며, 아래로 갈수록 구체적이고 자주 바뀐다.


3. 표기법

3.1 IE 표기법 (Information Engineering)

가장 널리 쓰인다. 까마귀발(Crow's Foot)로 다(多)를 표시한다.

관계선      실선 = 식별관계      점선 = 비식별관계
자식 쪽     ─<   다(M)          ─│   하나(1)
참여        ─○   선택(0 허용)    ─│   필수(1 이상)

조합해서 읽는다.

──○<     0 또는 다      (선택 참여, 다)
──│<     1 이상         (필수 참여, 다)
──○│     0 또는 1       (선택 참여, 하나)
──││     정확히 1       (필수 참여, 하나)

3.2 바커 표기법 (Barker)

오라클 계열에서 쓴다.

관계선      실선 = 필수 참여     점선 = 선택 참여
자식 쪽     까마귀발로 다(多) 표시
식별자      #  주식별자,  *  필수 속성,  o  선택 속성

핵심 차이 — IE는 실선/점선으로 식별관계 여부를, 바커는 실선/점선으로 참여 필수 여부를 나타낸다. 같은 점선이 두 표기법에서 다른 뜻이다.

3.3 자주 나오는 함정

✗  IE 표기법에서는 식별관계와 비식별관계를 구분할 수 없다
   → 실선·점선으로 구분한다

✗  표기법이 다르면 모델이 담는 의미도 달라진다
   → 표기 수단만 다를 뿐 같은 의미를 표현할 수 있다

2부 · 개념 데이터 모델링

개념 모델링의 공식 절차는 다섯 단계다.

다이어그램 로딩 중…

순서 문제가 매 회 나온다. 범위를 정하고 → 후보를 모으고 → 핵심을 고르고 → 잇고 → 그린다.


4. 주제 영역 정의

4.1 무엇인가

업무를 성격이 유사한 데이터 집합 단위로 묶은 상위 분류.

고객 영역   고객, 고객연락처, 고객등급
상품 영역   상품, 상품분류, 상품가격이력
주문 영역   주문, 주문상세, 주문상태이력

4.2 왜 먼저 하는가

전사 데이터를 한 번에 그리면 읽을 수 없다. 범위를 나누어야 각 영역을 독립적으로 진행하고 나중에 합칠 수 있다.

4.3 분할 기준

기준내용
업무 기능의 유사성같은 업무가 쓰는 데이터끼리
데이터의 응집도서로 관계가 촘촘한 것끼리
관리 주체같은 조직이 관리하는 것끼리
활용 목적같은 목적으로 쓰이는 것끼리

기준이 아닌 것도 나온다.

✗  엔터티 수를 영역마다 같게 맞춘다
✗  테이블 파일이 생성된 날짜
✗  엔터티의 예상 인스턴스 건수
✗  물리 테이블과 1:1로 대응시킨다

주제 영역은 여러 엔터티를 포함하는 단위이지 테이블과 대응하는 개념이 아니다.

4.4 분할 시 원칙

· 영역 사이의 중복이 최소가 되게 한다
· 영역 사이의 관계(참조)가 최소가 되게 한다
· 하나의 영역이 지나치게 커지지 않게 한다

5. 후보 엔터티 선정

5.1 도출 방법

업무 기술서 · 요건 정의서 · 인터뷰 결과에서 명사 추출
        ↓
후보 목록 작성
        ↓
검증 · 정제
        ↓
후보 엔터티 확정

5.2 검증 기준

명사를 뽑는 것은 시작일 뿐이다. 검증 없이 확정하면 안 된다.

기준확인 내용탈락 예
관리 필요성업무에서 관리할 가치가 있는가"매월", "승인" 같은 부사어·행위어
복수 인스턴스두 건 이상 존재하는가본사정보 (1건, 고정값)
식별 가능성인스턴스를 구분할 수단이 있는가화면상단문구 (덮어씀)
속성 보유관리할 속성이 있는가이름만 있고 담을 것이 없는 것

5.3 정제 작업

중복 통합    회원 / 고객 → 하나로
동의어 정리  거래처 / 공급사 → 대표 용어 결정
분해         '주문정보' → 주문 + 주문상세
제외         관리 대상이 아닌 후보 제거

5.4 명명 원칙

· 업무에서 실제로 쓰는 용어를 쓴다
· 표준 용어 사전의 용어를 조합한다
· 단수형 명사로 쓴다
· 약어보다 의미가 분명한 이름을 쓴다
· '정보' '내역' 같은 군더더기를 붙이지 않는다
· 화면 이름을 그대로 쓰지 않는다

화면 이름 금지가 특히 자주 나온다. 화면은 가장 자주 바뀌는 대상이라, 엔터티명으로 쓰면 화면 개편 때마다 데이터 구조의 이름이 흔들린다.


6. 핵심 엔터티 정의

6.1 무엇이 핵심인가

업무의 중심이 되고 다른 엔터티와의 관계가 집중되는 엔터티.

판단 기준은 셋이다.

· 업무 흐름의 중심에 있는가
· 관계가 여러 방향으로 뻗는가
· 다른 엔터티가 이것을 참조하는가

6.2 엔터티 분류

두 축으로 나뉜다. 둘을 섞은 보기가 함정으로 나온다.

유형에 따라 — 실체가 있는가

분류
유형 엔터티물리적 형태가 있음상품, 사원, 창고
개념 엔터티형태가 없는 개념계약, 부서, 과목
사건 엔터티업무 수행으로 발생주문, 입금, 상담

발생 시점에 따라 — 무엇에 의존하는가

분류
기본 엔터티다른 것에 의존하지 않고 원래 존재상품, 사원, 부서
중심 엔터티기본 엔터티들이 만나 생성주문, 계약, 입고
행위 엔터티다른 엔터티의 행위 결과로 파생주문취소이력, 매출집계

자주 나오는 함정 — "기본 엔터티는 다른 엔터티로부터 파생되어 생성된다". 기본은 스스로 존재하는 것이고, 파생되는 것은 행위 엔터티다.

6.3 코드 엔터티

값의 목록을 제공하는 엔터티다. 핵심 엔터티가 아니다.

주문상태코드(코드값, 코드명, 사용여부)

참조되는 관계가 많더라도 업무가 그것을 중심으로 돌아가지 않으므로 부가 엔터티로 분류한다.


7. 관계 정의

7.1 관계의 세 가지 속성

개념무엇을 나타내는가값의 예
차수(Degree)관계에 참여하는 엔터티 수2차(binary), 3차(ternary)
카디널리티참여하는 인스턴스 수1:1, 1:M, M:N
선택성(Optionality)참여가 필수인가 선택인가필수, 선택

셋을 섞은 보기가 반복 출제된다. 차수는 엔터티 수, 카디널리티는 인스턴스 수로 구분한다.

7.2 관계 읽기 — 양방향

관계는 양방향으로 문장을 만들어 업무 규칙과 맞는지 확인한다.

다이어그램 로딩 중…
부서 → 사원   "한 부서에 사원이 여럿 있을 수 있다"
사원 → 부서   "한 사원은 하나의 부서에 속한다"

한 방향만 읽으면 반대 방향의 오류를 놓친다. 겸직이 가능한 조직이라면 이 모델은 틀렸다.

현업 확인 방법 — 기호를 설명하지 말고 업무 문장으로 물어야 한다. 현업은 카디널리티 기호를 판단할 수 없지만 "한 사원이 두 부서에 속할 수 있나요?"에는 즉시 답할 수 있다.

7.3 관계의 종류

종류설명
1:1양쪽 모두 하나씩사원 ─ 사원상세
1:M한쪽이 여럿을 가짐부서 ─ 사원
M:N양쪽 모두 여럿학생 ─ 강의
순환같은 엔터티끼리부서 ─ 상위부서
배타적여럿 중 하나만 성립결제 ─ 카드 / 계좌
병렬두 엔터티 사이에 관계가 둘 이상사원 ─ 부서 (소속 / 관리)

7.4 M:N 관계의 해소

관계형 구조는 다대다를 직접 표현하지 못한다.

다이어그램 로딩 중…

교차 엔터티를 두어 1:M 두 개로 분해한다.

다이어그램 로딩 중…
수강신청(학번, 강의코드, 신청일시, 성적)
          └────┬────┘
        두 부모의 식별자가 주식별자

교차 엔터티는 단순한 연결 고리가 아니다. 관계 자체가 갖는 속성(신청일시, 성적)을 담을 자리가 된다. 이 속성들은 학생의 것도 강의의 것도 아니고 "이 학생이 이 강의를 들은 건" 의 속성이다.

7.5 순환 관계

같은 엔터티의 인스턴스끼리 맺는 관계다.

부서코드부서명상위부서코드
D10경영지원본부(NULL)
D11인사팀D10
D12총무팀D10
장점    계층 깊이와 무관하게 엔터티 하나로 표현
사례    조직도, 부품 구성(BOM), 카테고리 트리, 댓글 트리
주의    최상위는 참조 대상이 없으므로 선택 참여여야 한다

함정 — "순환 관계에서는 외래식별자가 생성되지 않는다". 상위부서코드가 바로 외래식별자다. 참조 대상이 자기 자신일 뿐이다.

7.6 배타적 관계

여러 관계 중 하나만 성립하는 구조다.

결제(결제번호, 결제수단구분, 카드번호, 계좌번호)

  '카드' → 카드번호만 존재, 계좌번호 NULL
  '계좌' → 계좌번호만 존재, 카드번호 NULL

동시에 성립할 수 없으므로 배타적 서브타입으로 모델링하는 것이 일반적이다.

7.7 관계 정의 시 확인 사항

✓  두 엔터티 사이에 업무적 연관이 실제로 존재하는가
✓  카디널리티가 업무 규칙과 일치하는가
✓  참여가 필수인지 선택인지 확인했는가
✓  관계에 업무 용어로 이름을 붙였는가

✗  관계는 많을수록 좋으므로 최대한 연결한다

근거 없는 관계는 제약과 조인 경로만 늘려 모델을 읽기 어렵게 만든다. "관련 있어 보여서" 는 업무 규칙이 아니다.


8. 개념 모델 작성

8.1 무엇을 담는가

담는다      핵심 엔터티 10여 개 · 주요 관계 · 주제 영역 구분
안 담는다   전체 속성 · 자료형 · 식별자 확정 · 인덱스

세부를 덜어 내는 것이 목적이다. 한 장에서 전체가 보여야 소통 도구로 쓸 수 있다.

8.2 활용

대상어떻게 쓰는가
경영진업무 전체 윤곽 보고
현업큰 그림 확인, 누락 발견
프로젝트범위 합의, 일정 산정

8.3 자주 나오는 함정

✗  모든 속성과 데이터 타입을 빠짐없이 정의해야 한다
   → 논리·물리 단계의 일이다

✗  정규화를 마친 전체 엔터티를 담는다
   → 그것은 논리 모델이다

✗  물리 테이블의 DDL 을 현업에게 보여 준다
   → 현업이 판단할 수 없는 형식이다

9. 한 줄 정리

물음
모델링의 세 관점데이터 · 프로세스 · 상관
좋은 모델의 요건완전성 · 중복 배제 · 업무 규칙 표현 · 재사용 · 소통 · 통합
하향식 vs 상향식전략에서 내려옴 vs 현존 자료에서 올라옴. 병행 가능
IE 실선/점선식별 / 비식별관계
바커 실선/점선필수 / 선택 참여
개념 모델링 절차주제영역 → 후보엔터티 → 핵심엔터티 → 관계 → 작성
주제 영역 분할 기준업무 유사성 · 응집도 · 관리 주체 · 활용 목적
엔터티 검증 4기준관리 필요 · 복수 인스턴스 · 식별 가능 · 속성 보유
기본/중심/행위스스로 존재 / 만나서 생김 / 파생됨
차수 vs 카디널리티엔터티 수 vs 인스턴스 수
M:N 해소교차 엔터티. 관계 고유 속성을 담는 자리
순환 관계자기 참조. 외래식별자는 생성된다
개념 모델에 없는 것전체 속성 · 자료형 · 식별자 확정
3과목 데이터 표준화4과목 ② 논리 데이터 모델링