본문 바로가기
자격증/DAsP

DAsP - (4) 데이터 모델링

by 어느덧중반 2021. 8. 22.
반응형

[4] 데이터 모델링

1) 데이터 모델링 이해
(1) 데이터 모델링 개요

  1. DBMS의 분류
    ① 계층형(Hierarchical) DBMS
    ② 네트워크형(Network) DBMS
    ③ 관계형(Relational) DBMS
  2. 데이터 모델링의 정의
    ① 복잡한 현실세계를 단순화시켜 표현하는 것
    ② 모델이란 사물이나 사건에 관한 양상이나 관점을 관계된 사람이나 그룹을 위하여 명확하게 하는 것
    ③ 조직내의 실체, 사건, 활동 및 그들 관계에 관한 자료를 추상적으로 기술한 것
    ④ 비즈니스 조직과 IT 조직 간 통영사의 역할 수행
    ⑤ 데이터 모델링 이유: 낮은 비용/ 실험 가능/ 이식성
  3. 데이터 모델링이 제공하는 것
    ① 모델은 시스템을 현재 또는 원하는 모습으로 가시화 하도록 도와준다
    ② 모델은 시스템의 구조와 행동을 명세화 할 수 있게 한다
    ③ 모델은 시스템을 구축하는 틀을 제공한다
    ④ 모델은 우리가 결정한 것을 문서화한다
    ⑤ 모델은 한 영역에 집중하기 위해 다른 영역의 세부사항은 숨기는 다양한 관점을 제공한다
    ⑥ 모델은 특정 목표에 따라 다양한 상세 수준을 제공한다
  4. 데이터 모델링의 특징
    ① 논리적 데이터 모델링은 Data-driven 방식을 따른다
    ② 비즈니스 정보 요구 사항의 종합적인 이해를 하는데 도움이 된다
    ③ 설계 전 단계에 걸쳐 설계자, 개발자, 사용자 사이에 효과적인 의사 소통의 수단을 제공한다
    ④ 정확하고, 일관성이 있으며, 공유 가능하고, 유연성을 갖는 데이터베이스 설계의 기초를 제공한다
  5. 효과적인 데이터 모델링을 위한 지침
    ① 데이터 모델링은 비즈니스의 근본적인 속성을 찾아내는 작업
    ② 데이터 모델링은 ERD라는 결과물을 작도하려는 작도법이 아니다
    ③ 데이터 모델링은 테이블과 컬럼을 디자인하는 수준이어서는 곤란이나 (작품, 창조적)
  6. 관계형 모델 이론 정의
    ① 관계형 모델은 업무에서 사용되는 데이터를 인식, 구성, 조작하는 정연하고도 직관적인 방법이다
    ② 즉, 관계형 모델은 데이터가 사용자에게 어떻게 비쳐지며, 사용자가 데이터에 어떻게 조작을 하며, 데이터가 처리 될 때 어떻게 유지되어야 하는가에 대한 토대이다
    ③ 무엇보다도 중요한 것은 관계형 모델이 사용자 관점에서 본 데이터를 정이 하는 지적인 개념이라는 사실이다.
  7. 관계형 모델 이론
    ① 데이터 구조(Data Structure): 사용자가 데이터를 인식하는 2차원의 관계 테이블
    ② 데이터 조작(Data Manipulation): 사용자가 관계테이블에 행하는 일련의 처리형태
    ③ 데이터 무결성(Data Integrity): 관계테이블에 존재하는 데이터의 정확성과 일관성을 유지하기 위한 업무규칙
  8. 객체관계형 데이터베이스(ORDBMS)
    ① 관계형 모델과 객체 지향형 모델의 통합형
    ② 기존 SQL에 객체지향개념을 확장한 SQL3표준화 작업 중 데이터와 프로세스를 함께 모델링
    ③ 현재 다양한 구현방법이 혼재되어 있음
    ④ UniSQL, Informix, Oracle, IBM, CA 등이 지원
  9. 데이터 구조 특징
    ① 6가지 특성을 가진 행(Row)과 열(Column)로 구성된 2차원의 관계테이블로 표현
    ② 각 열은 하나의 값만을 가진다
    ③ 각 열은 동일한 성격의 값을 가진다
    ④ 각 행은 일련의 열의 값에 의해 유일하게 식별된다.
    ⑤ 열의 순서는 의미가 없다
    ⑥ 행의 순서는 의미가 없다
    ⑦ 각 열은 유일한 이름을 가진다
  10. 데이터 조작
    ① SET 처리(Not one record at a time)
    ② 관계 연산자: 조회
    i. Select(or restrict): 열에 의거한 행의 subset
    ii. Project: 열의 subset
    iii. Product: 두 관계 테이블간 행의 조합을 묶음
    iv. Join: 열의 기준에 의거하여 각 행을 수평적으로 묶음
    v. Union: 중복을 없이하여 각 행을 수직적으로 묶음
    vi. Intersection: 관계 테이블간의 공통된 행
    vii. Difference: 하나의 관계 테이블에만 있는 행
    viii. Division: 다른 관계 테이블의 모든 행에 대응하는 열을 제외한 열
    ③ 처리 연산자: 관계 테이블의 내용에 변화
    i. Insert: 행의 입력
    ii. Update: 행의 수정
    iii. Delete: 행의 삭제
  11. 데이터 무결성
    ① 무결성: 업무 규칙에 따라 데이터의 일관성과 정확성을 유지하는 것
    ② 실체 무결성 규칙(Entity Integrity Rule)
    주식별자(특정 행을 유일하게 인식하는 하나 이상의 열)는 null 값을 포함하지 않는다
    ③ 참조 무결성 규칙(Reference Integrity Rule)
    관계 테이블의 모든 외부 식별자 값은 관련 있는 관계 테이블의 모든 주식별자 값이 존재해야 한다
    ④ 영역 무결성 규칙(Domain Integrity Rule)
    테이블 내의 모든 열에 관한 무결성 규칙으로 데이터 타입, 길이, 허용 값, 기본값, 유일성, null 여부 등에 관한 제한이다.
  12. 입력 규칙(Insert Rule)
    ① Dependent: 대응되는 부모 실체에 instance가 있는 경우에만 자식 실체에 입력을 허용
    ② Automatic: 자식 실체 instance의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 이를 자동 생성
    ③ Nullify: 자식 실체 instance의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 자식 실체의 foreign key를 null 값으로 처리
    ④ Default: 자식 실체 instance의 입력을 항상 허용하고, 대응되는 부모 건이 없는 경우 자식 실체의 foreign key를 지정된 기본값으로 처리
    ⑤ Customized: 특정한 검증조건이 만족되는 경우에만 자식 실체 instance의 입력을 허용
    ⑥ No Effect: 자식 실체 instance의 입력을 조건 없이 허용
  13. 삭제 규칙(Delete Rule)
    ① Restrict: 대응되는 자식 실체에 instance가 없는 경우에만 부모 실체 instance 삭제를 허용
    ② Cascade: 부모 실체 instance의 삭제를 항상 허용하고, 대응되는 자식 실체의 instance를 자동삭제
    ③ Nullify: 부모 실체 instance의 삭제를 항상 허용하고, 대응되는 자식 실체의 instance가 존재하면, 그것의 foreign key를 null 값으로 수정
    ④ Default: 부모 실체 instance의 삭제를 항상 허용하고, 대응되는 자식 실체의 instance가 존재하면, 그것의 foreign key를 기본값으로 수정
    ⑤ Customized: 특정한 검증조건이 만족되는 경우에만 부모 실체 instance의 삭제를 허용
    ⑥ No Effect: 부모 실체 instance 삭제를 조건 없이 허용
  14. Triggering Operation
    ① 유형1: 사용자규칙에 의한 Triggering Operation
    ② 유형2: Source 속성 값의 변화에 따른 추출속성값의 변화를 정의하는 Triggering Operation
    ③ 유형3: 엔티티 타입간의 관계에 따른 무결성 유지의 필요성을 정의한 Triggering Operation
    ④ 유형4: 시점에 의해 자동으로 일어나는 Triggering Operation

(2) 데이터 모델 구성 요소

  1. 데이터 모델 구성요소 개념
    ① 업무가 다루는 사항
    ② 업무가 다루는 사항들 사이에 존재하는 연관
    ③ 각 사항이 가지고 있는 상세한 특성
    ④ 업무 모델을 만드는데 사용되는 모든 diagram은 instance가 아닌 type을 다룬다
  2. 속성(Attribute) 정의
    ① 실체(Entity)내에서 관리하고자 하는 정보들의 항목
    ② 더 이상 분리되지 않는 단위 값
    ③ Entity를 서술하고 양을 계수화하고 자격을 부여하고 분류를 하고 구체적으로 기입하는 정보 항목
  3. 관계 정의
    ① 하나 또는 두 개의 사례를 연관시키는 업무와 관련된 중요한 사항
    ② 실체 상호 간 어떻게 연관되어 있는지를 파악하여 표현한다
    : 식별성(Identity), 선택성(Optionality), 기수성(Degree, Cardinality), 비전이성(Non-transferability)
    ③ 관계는 항상 2개의 실체 사이에 존재한다
    ④ 관계는 두 개의 관점(관계 Membership)을 갖는다.
    ⑤ 관계의 양쪽 끝에 관계 명을 적는다
    (3) 데이터 모델링 표기법 이해
  4. 표기법 기본 개념
  5. 실체(Entity) 표현
  6. 속성(Attribute) 표현
  7. 관계 표현
  8. 식별 관계와 비식별 관계
  9. 식별 관계와 비식별 관계의 구분
  10. 선택성 정의
  11. 관계 읽기
  12. 부모 실체와 자식 실체의 구분
  13. 관계형태
  14. 서브타입
  15. 배타적 관계
  16. 순환(Recursive) 관계 데이터모델
  17. 데이터 모델 검증

2) 개념 데이터 모델링
(1) 개념 데이터 모델링 이해

  1. 데이터 모델링과 프로세스 모델링
  2. 데이터 분류/관리 체계 필요
  3. 전사 데이터 구조
  4. 개념 데이터 모델링 절차
  5. 참조 모델 활용
  6. 개념 데이터 모델 구성 요소

(2) 주제 영역 정의

  1. 주제 영역 선언
  2. 주제 영역 도출
  3. 주제 영역 계층
  4. 단위 주제 영역

(3) 후보 엔티티 선정

  1. 개념 데이터 모델링 절차
  2. 엔티티 정의 절차
  3. 후보 엔티티 수집처
  4. 후보 엔티티 식별
  5. 후보 엔티티 검증
  6. 후보 엔티티 분류(우선 적용대상 선정)

(4) 핵심 엔티티 정의

  1. 엔티티 명확화
  2. 엔티티 자격검정 (면적 검증)
  3. 엔티티 자격검증 (집합 순수성)
  4. 엔티티 자격검증 (서브타입 지정)
  5. 엔티티 자격검증 (형태 결정)
  6. 본질 식별자

(5) 관계 정의

  1. 관계 의미
  2. 관계 표현
  3. 관계 정의 절차
  4. 관계 규명 절차
  5. 관계 형태
  6. 관계 형태 (1:1)
  7. 관계 형태 (M:1)
  8. 관계 형태(M:N)
  9. 관계 정의 방법

3) 논리 데이터 모델링
(1) 논리 데이터 모델링 이해

  1. 논리 데이터 모델 정의
  2. 논리 데이터 모델링 목적 및 효과
  3. 논리 데이터 모델링 필수 성공 요소
  4. 데이터 모델의 잘못된 유형 – 형체형 접근
  5. 데이터 모델의 잘못된 유형 – 족보형, 네트워크형 접근
  6. 데이터 모델의 잘못된 유형 – Bottom up 접근
  7. 데이터 모델의 잘못된 유형 – 데이터 모델링 객관화

(2) 속성 정의

  1. 속성 의미
  2. 속성 정의 시 유의사항
  3. 속성 후보 선정 원칙
  4. 속성 후보 선정 원칙 – 반복적인 작업
  5. 속성 검증
  6. 식별자 정의
  7. ID BAR
  8. ID 역할

(3) 엔티티 상세화

  1. 데이터 모델 상세화
  2. 데이터 모델 통합화
  3. 엔티티 분활과 통합
  4. 정규화
  5. 제1정규형
  6. 제2정규형
  7. 제3정규형
  8. M:M 관계 해소
  9. 속성 없는 관계 엔티티
  10. 계층형 데이터 모델
  11. 순환 관계 데이터 모델
  12. 계층 구조 통합
  13. 순환 구조 정의 시 유의 사항
  14. M:M 순환 관계
  15. 서브타입 모델
  16. 배타관계 모델

(4) 이력관리 정의

  1. 이력 관리 방법
  2. 의미 관계 (Between 관계)
  3. 이력 선분 의미
  4. 이력 선분 차이
  5. 이력 관리 유형

4) 물리 데이터 모델링
(1) 물리 데이터 모델링 이해

  1. 물리 데이터 모델 정의
  2. 물리 데이터 모델의 의의
  3. 논리 데이터 모델 – 물리 데이터 모델 변환

(2) 물리 요소 조사 및 분석

  1. 시스템 구축 관련 명명 규칙
  2. 하드웨어 자원 파악
  3. 운영 체제 및 DBMS 버전 확인
  4. DBMS 파라미터 확인

(3) 논리-물리 모델 변환

  1. 변환 절차
  2. 단위 엔티티  테이블
  3. UID  PK로 변환
  4. 변환 절차(UID BAR가 있는 경우)
  5. 일반 속성을 컬럼으로 변환
  6. 관계 변환(M:1)
  7. 관계 변환(1:1)
  8. 관계 변환(M:1 순환관계)
  9. 관계 변환(1:1 순환관계)
  10. 관계 변환(배타적 관계)
  11. 서브타입 변환
  12. 데이터 타입 및 길이 결정
  13. 선분 이력 변환 시 주의사항

(4) 반정규화

  1. 중복 테이블 생성
  2. 중복 테이블
  3. 중복 테이블 – 진행 테이블
  4. 테이블 분할
  5. 테이블 분할 (수직 분할)
  6. 테이블 분할 (수평 분할)
  7. 테이블 통합
  8. 중복 컬럼
반응형

댓글