Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

임도현의 성장

SQLD 데이터 모델링의 이해 본문

카테고리 없음

SQLD 데이터 모델링의 이해

림도현 2024. 8. 9. 21:10

1과목 시험 주요 내용

 

데이터 모델링이란

  • 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법
  • 현실 세계의 데이터를 약속된 표기법으로 표현하는 과정
  • 데이터베이스를 구축하기 위한 분석 및 설계의 과정

 

데이터 모델링 유의점 

  • 증복 : 여러 장소에 같은 정보를 저장하지 않도록 하여 증복성을 최소화 한다.
  • 비유연성 : 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용 프로세스와 분리한다.
  • 비일관성 : 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다.

 

데이터 모델링의 3단계  (개논물)

  • 개념적 모델링 : 높은 추상화수준 
  • 논리적 모델링 : 재사용성 높은 
  • 물리적 모델링 : 물리적인 성격을 고려해 설계

 

데이터 모델의 특징 

  • 추상화 :  실세계를 일정한 형식에 맞추어 표기
  • 단순화 : 복잡한 현실을 제한된 언어나 표기법을 통해 이해하기 쉽도록 함
  • 명확화애매모호함을 제거하고 누구나 이해할 수 있도록 정확하게 현상을 기술

 

데이터 독립성 요소  (외개내)

  • 외부 스키마 : DB의 개개 사용자나 응용프로그래머가 접근하는 DB 정의
  • 개념 스키마 : 모든 사용자 관점을 통합한 전체 DB
  • 내부 스키마 : 물리적 장치에서 데이터가 실제적으로 저장되는 방법

 

ERD 작업 순서 

엔터티 그림 → 엔터티 배치 → 엔터티 관계설정 → 관계명 기술 → 관계 참여도 기술 → 관계 필수여부 기술

 

엔터티  ( 테이블 )

업무에 필요하고 정보를 저장하고 관리하기 위한 집합적인 것 

  • 해당 업무에서 필요해야함
  • 유일한 식별자에 의해 식별 가능 
  • 두 개 이상의 인스턴스의 집합
  • 반드시 속성이있어야 함
  • 다른 엔터티와 최소 1개 이상의 관계가 있어야 함 

 

속성  ( 컬럼 )

업무에서 필요로 하는 인스터스로 관리하고 자 하는 " 의미상 분리되지 않은 최소의 데이터 단위 "

  • 한 개의 엔터티는 2개 이상의 인스턴스 집합
  • 한 개의 엔터티는 2개 이상의 인스턴스 집합
  • 한 개의 속성은 1개의 속성값을 가짐

속성의 분류  ( 기설파 )

  • 기본 속성 : 업무로 부터 추출한 모든 일반적인 속성 
  • 설계 속성 : 업무를 규칙화하기 위해 새로 만들거나 변형 정의하는 속성
  • 파생 속성 :  빠른 성능을 낼 수 있도록 원래 속성의 값을 계산, 타 속성에 의해 영향을 받아 자신의 값이 변한다. (주문수량, 총주문금액 등)

도메인

속성에 대한 데이터 타입 크기 제약 사항 지정

 

관계

엔터티의 인스턴스 사이의 논리적인 연관성, 존재의 형태/행위, 서로에게 연관성이 부여된 상태

 

관계의 표기법

  • 관계명 : 관계의 이름
  • 관계차수 : 1:1, 1:M, M:N
  • 관계선택성 : 필수관계, 선택관계 

관계 체크사항 

1. 2개의 엔터티 사이에 심있는 연관 규칙인가?

2. 2개의 엔터티 사이에 정보의 조합 발생하는가?

3. 업무기술서, 징표에 관계연결에 대한 규칙이 서술되어 있는가?

4. 어붐기술서, 장표에 관계연결을 가능케하는 동사가 있는가?

 

식별자

엔터티 내에서 인스턴스를 구분하는 구분자, 논리데이터 모델링에 사용

 

식별자 특징

  • 유일성 : 주식별자에 의해 모든 인스턴스들이 유일하게 구분
  • 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만하는 최소의 수가 되어야 함 
  • 불변성 : 지정된 주식별자의 값은 자주 변한지 않아야 함 
  • 존재성 : 주식별자가 지정되면 반드시 값이 들어와야 함 

 

식별자 분류

  • 대표성 여부
    • 주식별자 : 엔터티 내에서 각 인스턴스를 구분할 수 있는 구분자
    • 보조식별자 : 인스턴스를 구분할 수 있는 구분자이지만 대표성이 없는 구분자 
  • 스스로 생성 여부
    • 내부 식별자 : 엔터티 내부에서 스스로 생성되는 식별자
    • 외부 식별자 : 타 엔터티와의 관계를 통해 타 엔터티로부터 받아오는 식별자
  • 단일 속성으로 식별 여부
    • 단일 식별자 : 하나의 속성으로 구성된 식별자
    • 복합 식별자 : 2개 이상의 속성으로 구성된 식별자
  • 대체 여부
    • 본질 식별자 : 업무에 의해 만들어진 식별자
    • 인조 식별자 : 편의성을 위해 인위적으로 만들어진 식별자, 원조식별자가 복잡한 구성을 가지고 있어서 인위적으로 생성

 

정규화

반복적인 데이터를 분리하고 중복을 없애기 위한 작업 

데이터 조회시에 JOIN을 유발, 기본적으로 쿼리 성능이 저하됨

 

  • 제 1정규화 : 모든 속성은 반드시 하나의 값을 가져야한다. 
  • 제 2정규화 : 주식별자 전체에 종속이어야 한다. 완전 함수 종속되면 제2정규형에 속한다.
  • 제 3정규화 : 기본키가 아닌 모든 속성이 기본키에 이행적 함수 종속이 되지 않으면 제3정규형에 속한다.

 

반정규화

성능을 위해 중복을 허용하는 것

데이터 조회 성능은 향상되지만 입력/수정/삭제 성능은 떨어짐