SQLD 1과목 (데이터 모델의 이해)

HanJaeHoon·2024년 8월 4일

모델링의 개념


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

모델링의 특징


1. 단순화(Simplification)

- 현실을 단순화하여 핵심 요소에 집중하고 불필요한 세부 사항을 제거
- 단순화를 통해 복잡한 현실 세계를 이해하고 표현하기 쉬워짐

2. 추상화(Abstraction)

- 현실세계를 일정한 형식에 맞추어 간략하게 대락적으로 표현하는 과정
- 다양한 현상을 일정한 양식인 표기법에 따라 표현

3. 명확화(Clarity)

- 대상에 대한 애매모호함을 최대한 제거하고 정확하게 현상을 기술하는 과정
- 명확화를 통해 모델을 이해하는 이들의 의사소통을 원활히 함

데이터 모델링 3가지 관점


1. 데이터 관점

- 데이터가 어떻게 저장되고, 접근되고, 관리되는지를 정의하는 단계

2. 프로세스 관점

- 시스템이 어떤 작업을 수행하며, 이러한 작업들이 어떻게 조직되고 조정되는지를 정의하는 단계
- 데이터가 시스템 내에서 어떻게 흐르고 변환되는지에 대한 확인

3. 데이터와 프로세스 관점

- 데이터 관점과 프로세스 관점을 결합하여 시스템의 전반적인 동작을 이해하는 단계
- 특정 프로세스가 어떤 데이터를 사용하는지, 데이터가 어떻게 생성되고 변경되는지를 명확하게 정의 

데이터 모델링 유의점


1. 중복(Duplication)

- 한 테이블 또는 여러 테이블에 같은 정보를 저장하지 않도록 설계

2. 비유연성(Inflexibility)

- 사소한 업무 변화에 대해서도 잦은 모델 변경이 되지 않도록 주의
- 데이터 정의를 프로세스와 분리

3. 비일관성(Incosistency)

- 데이터베이스 내의 정보가 모순되거나 상방된 내용을 갖는 상태를 의미
- 데이터간 상호연관 관계를 명확히 정의
- 데이터 품질 관리 필요
- 데이터 중복이 없더라도 비일관성은 발생할 수 있음 

데이터 모델링 3가지 요소


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

데이터 모델링의 3단계 (중요)


밑으로 갈수록 조금 더 구체화 위로 갈수록 조금 더 추상화

1. 개념적 모델링

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

2. 논리적 모델링

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

3. 물리적 모델링

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

스키마의 3단계 구조


  • 스키마 : 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타 데이터의 집합
  • 외부, 개념, 내부 스키마로 분리
  • 사용자의 관점과 실제 설계된 물리적인 방식을 분리하기 위해 고안됨

1. 외부 스키마

  • 사용자가 보는 관점에서 데이터베이스 스키마를 정의
  • 사용자나 응용 프로그램이 필요한 데이터를 정의 (View : 사용자가 접근하는 대상)

2. 개념 스키마

  • 사용자 관점의 데이터베이스 스키마를 통합하여 데이터베이스의 전체 논리적 구조를 정의
  • 전체 데이터베이스의 개체, 속성, 관계, 데이터 타입 등을 정의

3. 내부 스키마

  • 데이터가 물리적으로 어떻게 저장되는지를 정의
  • 데이터의 저장 구조, 컬럼, 인덱스 등의 정의

** 3단계 스키마의 독립성


  • 독립성 : 물리적, 논리적 구조를 변경하더라도 사용자가 사용하는 응용 프로그램에 영향을 주지 말아야 함
    1) 논리적 독립성 : 논리적 데이터 구조가 변경되어도(개념 스키마 변경) 응용 프로그램에 영향을 주지 말아야 함
    2) 물리적 독립성 : 물리적 구조가 변경되어도(내부 스키마 변경) 개념/외부 스키마에 영향을 주지 않는 특성

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


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

ERD 작성 절차 (6단계)

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

profile
게임 개발자

0개의 댓글