DB/SQLD

SQLD 1장 개념정리(1)

D_Helloper 2023. 5. 3. 21:42

1장 데이터 모델링의 이해

스키마

개념 스키마

  • 조직체 전체를 관장하는 입장에서 DB를 정의한 것
  • DB 전체를 기술한 것이기 때문에 한 개밖에 존재할 수 없음
  • DB의 전체적인 논리적 구조
  • 스키마 라고 하면 보통 이 친구

내부 스키마

  • 물리적인 저장장치 입장에서 DB가 저장되는 방법을 기술한 것
  • 구체적으로 개념 스키마를 디스크 기억장치에 물리적으로 구현하기 위한 방법을 기술한 것으로서, 주된 내용은 실제로 저장될 내부레코드 형식, 내부레코드의 물리적 순서, 인덱스의 유/무
  • 데이터의 실제 저장방법을 기술

외부 스키마

  • 실세계에 존재하는 데이터들을 어떤 형식, 구조, 배치 화면을 통해 사용자에게 보여줄 것인가
  • 전체 데이터 베이스의 한 논리적 부분 → 서브 스키마
  • 같은 데이터베이스에 대해서도 서로 다른 관점을 정의할 수 있또록 허용

엔터티의 특징

  • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
  • 유일한 식별자에 의해 식별이 가능해야 한다.
  • 영속적으로 존재하는 인스턴스의 집합이어야 한다. 한 개가 아니라 두 개 이상
  • 엔터티는 업무 프로세스에 의해 이용되어야 한다.
  • 엔터티는 반드시 속성이 있어야 한다.
  • 엔터니는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.
    • 공통코드, 통계성 엔터티의 경우는 관계를 생략할 수 있음

기본 엔터티

  • 그 업무에 원래 존재하는 정보로서 다른 엔터티와의 관계에 의해 생성되지 않음
  • 독립적으로 생성 가능
  • 타 엔터티의 부모의 역할을 하게 됨
  • 다른 엔터티로부터 주 식별자를 상속받지 않고 자신의 고유한 주 식별자를 가짐
    • 사원, 부서, 고객, 상품 자재 등

엔터티 명명 기준

  • 가능하면 업무에서 사용하는 용어를 사용
  • 약어를 사용하지 않음
  • 단수 명사 사용
  • 유일한 이름
  • 엔터티 생성 의미대로 이름 부여

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

속성의 분류

기본 속성

  • 사원 이름, 직책 이름 등 가장 일반적인 속성

설계 속성

  • 업무상 필요한 데이터 외에 데이터 모델링을 위해 새로 만들거나 변형하여 정의하는 속성

파생 속성

  • 다른 속성에 영향을 받아 발생하는 속성, 계산된 값들이 해당
  • 유의할 점이 많아서 가급적 적게 정의하는 것이 좋음

각 속성은 가질 수 있는 값의 범위가 있는데 이를 해당 속성의 도메인(Domain)이라고 함.

데이터 타입, 크기, 제약사항을 지정