SQLD

SQLD 1과목 - 데이터 모델링의 이해

맨날체하는사람 2024. 10. 20. 20:17

모델링의 개념

- 현실 세계의 비즈니스 프로세스와 데이터 요구 사항을 추상적이고 구조화된 형태로 표현하는 과정
- 데이터베이스의 구조와 관계를 정의하며, 이를 통해 데이터의 저장, 조작, 관리 방법을 명확하게 정의

데이터베이스는 테이블(엔터티), 속성(Attribute), 인스턴스로 구성된다고 한다.

테이블은 물리적 설계방식인지, 논리적 설계 방식이냐에 따라 다른데

건물을 건설하기 전에 설계도면을 예로 들어보자면 엔터티, 속성, 인스턴스 라고 불리며
건물이 실제로 지어져서 물리적으로 만들어진다면 테이블, 컬럼, 행이라고 불리며 이는 각각 매칭된다고한다.

테이블 = 엔터티, 속성 = 컬럼, 인스턴스 = 행

어떤 데이터를 저장하려고 할때
데이터의 요구사항을 만들어 가는 과정을 모델링 이라고 한다

모델링의 특징

1. 단순화(Simplication)
    - 현실을 단순화 하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거
2. 추상화(Abstraction)
    - 현실세계를 일정한 형식에 맞추어 간략하고 대략적으로 표현하는 과정
    - 다양한 현상을 일정한 양식인 표기법에 따라 표현
3. 명확화(Clarity)
    - 대사에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
    - 명확화를 통해 모델을 이해하는 이들의 의사소통을 유용하게 함



데이터 모델링 유의점

  1. 중복(Duplication)
    - 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계
  2. 비유연성(Inflexibility)
    - 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
    - 데이터 정의를 프로세스와 분리
  3. 비일관성(Inconsistency)
    - 데이터베이스 내의 정보가 모순되거나 상반된 내용을 갖는 상태를 의미
    - 데이터간 상호연관 관계를 명확히 정의
    - 데이터의 품질 관리 필요
    - 데이터의 중복이 없더라도 비일관성은 발생할 수 있음

데이터 모델링 3가지 요소

대상(Entity) : 업무가 관리하고자 하는 대상(객체)
속성(Attribute) : 대상들이 갖는 속성(하나의 특징으로 정의될 수 있는것)
관계(Relationship) : 대상들 간의 관계

데이터 모델링의 3단계

1.개념적 모델링

업무 중심적이고 포괄적(전사적)인 수준의 모델링
추상화 수준이 가장 높음
업무를 분석 뒤 업무의 핵심 엔터티(Entity)를 추출하는 단계
도출된 핵심 엔터티(Entity)들과의 관계를 표현하기 위해 ERD작성

2. 논리적 모델링

개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 등을 표현하는 단계
데이터 구조를 정의하기 때문에 비슷한 업무나 프로젝트에서 동일한 형태의 데이터 사용 시 재사용 가능
동일한 논리적 모델을 사용하는 경우 쿼리도 재사용 가능
데이터 정규화 수행
재사용성이 높은 논리적 모델은 유지보수가 용이해짐

3. 물리적 모델링

논리 데이터 모델링이 끝나면 이를 직접 물리적으로 생성하는 과정
데이터베이스 성능, 디스크 저장구조, 하드웨어의 보안성, 가용성 등을 고려
가장 구체적인 데이터 모델링
추상화 수준은 가장 낮음(가장 구체적인 모델링이므로)

데이터 모델의 표기법(ERD: Entity Relationship Diagram)

  • 엔터티와 엔터티 간의 관계를 시각적으로 표현한 다이어그램
  • 1976년 피터 첸이 직접 만든 표기법, 데이터 모델링 표준으로 사용

ERD 작성 절차 6단계

  1. 엔터티를 도출한 후 그린다
  2. 엔터티 배치
  3. 엔터티 간의 관계를 표현
  4. 관계명을 서술
  5. 관계의 참여도 기술
  6. 관계의 필수 여부를 확인