[Database/SQL] 데이터 모델링

gyeol·2024년 10월 23일

SQL

목록 보기
5/7
post-thumbnail

모델링

복잡한 현실 세계를 추상화, 단순화하여 일정한 표기법에 의해 명확히 표현하는 것을 말한다.

모델링 관점

  • 데이터 관점
    데이터와 데이터간의 관계, 업무와 데이터 간의 관계를 모델링한다.

  • 프로세스 관점
    업무가 실제로 하고있는 일 또는 해야할 일을 모델링한다.

  • 데이터와 프로세스의 상관관점
    업무처리방법에 따라 데이터가 받는 영향을 모델링한다.

데이터 모델링의 3단계

  • 개념적 데이터 모델링 : 현실 세계에서 데이터를 뽑는다.
  • 논리적 데이터 모델링 : DBMS가 이해할 수 있도록 테이블 구조로 바꿔준다.
  • 물리적 데이터 모델링 : 실제 데이터베이스에 저장되어 있는 데이터 구조이다.

데이터베이스 3단계 구조

  • 외부 스키마
    각 사용자 또는 응용 프로그램이 바라보는 데이터베이스 구조이다.

  • 개념 스키마
    모든 사용자의 관점을 통합한 데이터베이스 구조이다. 데이터베이스에 저장되는 데이터와 그들간의 관계를 표현했다.

  • 내부 스키마
    데이터베이스가 물리적으로 저장된 형식이다.

논리적 독립성

개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않는다.
즉, 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없다.

물리적 독립성

내부 스키마가 변경되어도 외부/개념 스키마는 영향을 받지 않는다.
즉, 저장 장치의 구조 변경은 응용 프로그램과 개념 스키마에 영향을 주지 않는다.

데이터 모델링의 요소

  • Entity : 업무와 관련된 어떤 것
  • Attribute : 어떤것이 갖는 성격
  • Relationship : 어떤것 간의 관계

좋은 데이터 모델

  • 완전성
    업무에서 필요로 하는 모든 데이터가 데이터 모델에 정의되어야 한다.

  • 중복 배제
    동일한 사실은 반드시 한번만 기재되어야 한다.

  • 업무 규칙
    업무 규칙이 데이터 모델에 표현되어야 한다.

  • 데이터 재사용
    회사 전체 관점에서 공통 데이터를 도출하고 이를 전 영역에서 사용할 수 있도록 설계해야 한다.

  • 통합성
    동일한 데이터는 조직 전체에서 한번만 정의되고 이를 다른 영역에서 참조, 활용해야 한다.

식별자

대표성

  • 주식별자 : 타엔티티와 참조 관계를 연결할 수 있다.
  • 보조식별자 : 대표성을 갖지 못해 참조 관계 연결해 사용되지 않는다.

목적

  • 내부 식별자 : 엔티티 내부에서 스스로 만들어지는 식별자
  • 외부 식별자 : 관계를 통해 유입되는 타 엔티티 식별자

속성 수

  • 단일 식별자 : 하나의 속성으로 구성된 식별자
  • 복합 식별자 : 둘 이상의 속성으로 구성된 식별자

본질

  • 본질 식별자 : 업무에 의해 만들어지는 식별자
  • 인조 식별자 : 원조식별자가 복잡한 구성을 가지고 있기에 인위적으로 만든 식별자

식별자 특징

  1. 유일성
    주식별자에 의해 엔티티 내의 각 인스턴스들을 모두 유일하게 구분할 수 있어야 한다.

  2. 최소성
    주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다.

  3. 불변성
    주식별자가 지정되면 그 식별자의 값은 변하지 않아야 한다.

  4. 존재성
    주식별자의 값은 NULL이 될 수 없다.

식별자 관계와 비식별자 관계

  • 식별자 관계
    부모의 주식별자가 자식 엔티티의 주식별자로 상속되는 관계이다. 이때 부모 엔티티가 반드시 생성되어야 자식 엔티티가 생성되기에 자식 엔티티는 부모 엔티티에 의존적인 Weak Entity이다.

  • 비식별자 관계
    부모의 주식별자가 자식 엔티티의 비식별자 속성으로 상속되는 관계이다. 부모 엔티티와 자식 엔티티관계가 약한 경우, 자식 엔티티의 주식별자로 사용해도 되지만 일반 속성으로 두는 것이 더 유리한 경우에 이와 같은 관계를 갖는다.

profile
공부 기록 공간 '◡'

0개의 댓글