브렌쏭의 Veritas_Garage

[SQLD] DATA MODELING 본문

[Project_하다]/[Project_공부]

[SQLD] DATA MODELING

브렌쏭 2024. 7. 29. 17:54

데이터 모델링의 이해

  • 중복: 같은 데이터를 여러 번 저장하는 것
    • 같은 시간이라면 같은 데이터를 제공해야 한다.
  • 비일관성: 데이터의 불일치
    • 데이터 간 상호 연관 관계에 대해 명확하게 정의해야 한다.
  • 비유연성: 새로운 요구사항에 대한 대응이 불가능
    • 데이터 정의를 사용 프로세스와 독립적으로 분리해야 한다.

데이터 독립성 요소

  • 외부 스키마: 사용자 관점에서 개개인의 DB 스키마
  • 개념 스키마: 전체 데이터베이스의 전체적인 구조
    • 모든 사용자의 관점을 통합한 전체적인 데이터베이스 구조를 의미
  • 내부 스키마: 데이터베이스의 물리적 저장 구조

논리적 독립성

  • 개념 스키마와 외부 스키마 사이의 독립성
    • 개념 스키마가 변경되더라도 외부 스키마에는 영향을 주지 않는다.

물리적 독립성

  • 외부/개념 스키마와 내부 스키마 사이의 독립성
    • 내부 스키마가 변경되더라도 외부/개념 스키마에는 영향을 주지 않는다.

Mapping :: 사상

상호 독립적인 두 개의 데이터 모델 사이의 관계를 정의하는 것

  • 논리적 사상 :: Logical Mapping
    • 개념 스키마와 외부 스키마 사이의 관계
  • 물리적 사상 :: Physical Mapping
    • 개념 스키마와 내부 스키마 사이의 관계

좋은 데이터 모델링의 특징

  • 완전성: 데이터 모델이 모든 요구사항을 만족하는가?
    • 업무에 필요한 모든 데이터가 모델에 정의되어 있어야 한다
  • 중복 최소화: 중복이 최소화되어 있는가?
    • 하나의 정보는 하나의 데이터베이스 내에 한번만 저장되어야 한다.
  • 업무 규칙 준수: 많은 규칙을 사용자가 공유하도록 제공해야 한다.
  • 데이터 재사용: 데이터가 독립적으로 설계되어야 한다.
  • 의사소통: 규칙은 엔티티, 서브타입, 속성, 관계 등을 명확하게 정의해야 한다.
  • 통합성: 동일한 데이터는 한번만 정의되고 그 이외에는 참조를 활용해서 사용해야 한다.

엔티티

  • 엔티티: 업무에 필요한 정보를 저장하는 데 사용되는 데이터의 집합
    • 엔티티는 속성을 가지고 있다.
  • 강한 엔티티: 자체적으로 존재가능한 엔티티, 기본 엔티티

속성

업무에서 필요로 하는 정보의 최소 단위, 의미상 더 이상 분리되지 않는 데이터이다.

  • 단일 속성: 더 이상 분리되지 않는 속성
    • 한개의 속성은 하나의 값만 가진다.
  • 하나의 엔티티의 경우, 2개 이상의 속성을 가지고 있다.

PK, FK

  • PK: Primary Key
    • 엔티티를 식별하기 위한 속성
    • 엔티티의 각 인스턴스를 식별하기 위해 사용
  • FK: Foreign Key
    • 다른 엔티티와의 관계를 표현하기 위한 속성
    • 다른 엔티티의 PK를 참조하는 속성

관계

  • 관계: 두 엔티티 사이의 연관성
    • 엔티티 간의 관계는 FK를 통해 정의된다.
  • 페어링: 엔티티 내부의 인스턴스가 개별적으로 관계를 가지고 있을 경우 페어링 관계라고 한다.

식별자

  • 식별자: 엔티티를 식별하기 위한 속성. 구분자
  • 유일성: 주 식별자에 의해서 모든 인스턴스들이 유일하게 식별되어야 한다.
  • 최소성: 언제나 식별자의 수는 유일성을 만족하는 한에서 최소여야 한다.
  • 불변성: 식별자는 변경되는 경우가 적어야 한다.
  • 존재성: 식별자는 항상 값을 가져야 한다.
Comments