자격증/SQLD

[SQLD] 1. 데이터 모델링의 이해 - 데이터 모델링의 이해

gangee 2024. 3. 1. 18:52
728x90
반응형

1. 데이터 모델의 이해

1-1. 데이터 모델링

  • 정보시스템을 구축하기 위한 업무 분석 기법
  • 현실 세계 데이터 -> 약속된 표기법 표현
  • DB 구축을 위한 분석, 설계 과정
    1. 특징 : 추상화, 단순화, 명확화(정확화)
    2. 관점 : 데이터(What), 프로세스(How), 상관(Interaction)
    3. 중요성 : 간결, 정확, 신뢰 => 명확 간결, 품질유지(오래된 데이터의 정확성 신뢰성)
    4. 필요한 이유 : 업무 흐름 설명, 일정한 표기법
    5. 유의점 : 중복, 비유연성, 비일관성
      • 비유연성 : 분리해서 유연하게
      • 비일관성 : 일관되고 명확하게(상호연관관계 명확)

1-2. 데이터 모델링 3단계

  1. 개념 : 추상화 높음, 업무중심적, 포괄적 수준
  2. 논리 : {키, 속성, 관계} 표현, 재사용성, 정규화
  3. 물리 : 실제 이식, 물리적 성격, 개념보다 구체적

1-3. 프로젝트 생명주기

  • 폭포수 : 분석 - 개념/논리, 설계 - 물리
  • 정보공학/구조적 : 분석 - 논리, 설계 - 물리
  • 나선형 : 분석 - 논리/물리, 설계 - 양쪽 (업무 크기에 따라)

1-4. 데이터베이스 3단계 구조 & 독립성

  • 3단계 구조 : 외부 단계 / 개념적 단계 / 내부적 단계
  • 데이터 독립성 요소 : 외부 스키마 / 개념 스키마 / 내부 스키마
    • 외부 단계 -> 개념 단계 = 논리적 독립성
    • 개념 단계 -> 내부 단계 = 물리적 독립성
  • 독립성 필요성
    • 유지보수 비용 절감
    • 중복 데이터 줄이기
    • 데이터 복잡도 줄어듦
    • 요구사항 대응 잘함

1-5. Mapping(사상)

  • 상호 독립적인 두 개념을 연결시키는 다리
  • 외부 개념 사상 + 개념/물리 사상

1-6. ERD 방법

엔터티 그리기 -> 엔터티 배치 -> 엔터티 관계 설정 -> 관계 참여도 설정 -> 관계 필수 여부 설정

1-7. 데이터 모델

  1. 데이터 모델링 주요 3가지 - Things(Entity, Instance), Attributes, Relationships(Pairing)
  2. 좋은 데이터 모델 요소 - 완전성, 중복배제, 업무규칙 재사용, 의사소통, 통합성

2. 엔터티

  • 엔터티 = 객체, 인스턴스 = 엔터티 안 행 데이터

2-1. 특징

  • 식별자에 의해 식별 가능
  • 2개 이상의 인스턴스로 구성된 집합
  • 속성 반드시 포함
  • 다른 엔터티와 최소 1개 이상의 관계 존재
  • 업무에서 꼭 필요한 정보

2-2. 분류

  1. 유형/무형에 따른 분류 : 유형, 개념, 사건 엔터티
  2. 발생 시점에 따른 분류 : 기본, 중심, 행위 엔터티
    • 기본 엔터티 : 다른 엔터티로 주식별자 상속 X, 고유 식별자 가짐

2-3. 명명

  • 약어 X
  • 유일한 이름 부여
  • 현업에서 실제 사용하는 용어 사용
  • 단수명사 사용
  • 생성 의미대로 이름 부여

3. 속성

3-1. 특징

  • 의미상 더 이상 분리되지 않는 최소한의 단위
  • 엔터티를 설명하고, 인스턴스의 구성요소가 됨

3-2. 분류

  1. 특성에 따른 분류 : 기본, 설계, 파생 속성
    • 설계 속성 : 사용자에 의해 새로 만들어지거나 정의되는 속성
    • 파생 속성 : 다른 속성의 영향을 받아 발생
  2. 엔터티 구성방식에 따른 분류 : PK, FK, 일반 속성
    • PK : 엔터티 식별
    • FK : 다른 엔터티와 관계에서 포함된 속성

3-3. 명명

  • 약어 X
  • 유일한 이름 부여
  • 현업에서 실제 사용하는 용어 사용
  • 서술식 속성명 X

3-4. 도메인

  • 각 속성이 가질 수 있는 범위
  • 데이터 타입, 크기, 제약사항 지정
    • 제약사항 : NOT NULL/Check 조건, 테이블의 속성간 FK 제약조건 지정 X

4. 관계

4-1. 특징

  • 인스턴스 사이 논리적 연관성
  • 존재하는 형태나 행위로서 서로서로에세 연관성이 부여된 상태
  • {관계명/차수(카디날리티)/선택성}로 구성

4-2. 페어링

  • 인스턴스가 개별적으로 관계를 갖는 것
  • 관계 = 페어링의 집합

4-3. 분류

  1. ERD : 존재, 행위에 의한 관계
    • 둘이 구분 없이 단일화된 표기법 사용
  2. UML : 연관, 의존 관계
    • 실선과 점선 표기법으로 구분

4-4. 관계 체크 사항

  • 두 엔터티 사이 연관규칙 존재여부
  • 정보의 조합 발생여부
  • 업무기술서, 장표에 관계 연결을 가능하게 하는 동사의 존재여부
  • 업무기술서, 장표에 관계 연결에 대한 규칙 존재여부

5. 식별자

  • 식별자 정의 = 키 정의
  • 엔터티를 구분하는 논리적인 이름
  • 엔터티를 대표할 수 있는 속성
  • 엔터티에는 반드시 하나의 유일한 식별자 존재

5-1. 특징

  • 유일성 : 주 식별자에 의해 엔터티 내 모든 인스턴스를 유일하게 구분
  • 최소성 : 주 식별자를 구성하는 속성 수는 유일성을 만족하는 최소의 수여야 함
  • 불변성 : 주 식별자가 한 번 특정 엔터티에 지정되면, 그 식별자 값은 변하지 X
  • 존재성 : 주 식별자가 지정되면, 반드시 데이터 값이 존재해야 함(Null X)

5-2. 분류

  • 대표성을 가지는가 : 주 식별자(PK)/ 보조 식별자
  • 스스로 생성될 수 있나 : 내부 식별자/외부 식별자
  • 하나의 속성으로 식별되나 : 단일 식별자/복합 식별자
  • 본질 식별자 = 원래 있던 식별자
  • 인조 식별자 = 기존에 업무적으로 의미있던 식별자 속성을 대체해 새로 만든 식별자

5-3. 표기법

  • 해당 업무에서 자주 이용되는 속성으로 지정
  • 명칭, 내역처럼 이름으로 기술되는 것은 피함
    • 구분자가 존재하지 않을 경우 새로운 식별자 생성
  • 복합키를 구성할 경우, 너무 많은 속성으로 구성하지 않도록 해야함
  • 주 식별자 도출 기준 = PK 도출 기준

5-4. 식별자와 비식별자 관계

  1. 식별자 관계 : 자식이 부모의 기본키를 상속받아 기본키로 사용할 경우
    • Null 이면 안됨 => 반드시 부모 엔터티가 생성되어야 자신 엔터티 생성
    • 문제점 : 자식의 주 식별자 속성이 지속적으로 증가할 수 있음 = 복잡해지고 오류가능성 유발
  2. 비식별자 관계 : 부모로의 속성을 받았을 때, 자식의 기본키로 사용하지 않고 일반적인 속성으로만 사용하는 경우
    • 문제점 : 부모까지 조인해야되는 현상 발생 = SQL 구문 길어져 성능 저하
* 본 내용은 2024년 개정 시험 범위 내용입니다.
728x90
반응형