Contents

02_SQLD_제2 절 엔터티 & 제3 절 속성

# SQL


제1 장 데이터 모델링의 이해


제2 절 엔터티(Entity)

  1. 엔터티의 개념

    • 실체, 객체 / 실무적으론는 앤터티라고 부른다. 즉 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것

  2. 엔터티와 인스턴스에 대한 내용과 표기법

  3. 엔터티의 특징

    • 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.

    • 유일한 식별자에 의해 식별이 가능해야 한다.

    • 영속적으로 존재하는 인스턴스의 집합이어야 한다. (반드시 ‘두 개 이상’)

    • 엔터티는 업무에 이용되어야 한다.

    • 엔터티는 반드시 ‘두 개 이상’의 속성을 갖는다.

    • 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야 한다.

  4. 엔터티의 분류

    1. 우뮤형에 따른 분류 - 유형, 개념, 사건엔터티

    2. 발생시점에 따른 분류 - 기본(키), 중심, 행위엔터

    3. 스스로 생성할 수 있는지에 따라 - 독립, 의존 엔터티

  5. 엔터티의 명명

    • 현업 업무에서 사용하는 용어를 사용
    • 약어를 가능하면 사용하지 않는다.
    • 단수 명사를 사용
    • 모든 엔티티명은 유일해야 함
    • 엔티티 생성 의미대로 이름을 부여


제3 절 속성(Attribute)

  1. 속성의 개념

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

      즉, 속성이란 의미상 더 이상 분리되지 않으며, 엔터티를 설명하는 요소이며, 인스턴스의 구성요소이다.

  2. 엔터티, 인스턴스, 속성, 속성값

    • 엔터티, 인스턴스, 속성, 속성값의 관계

      • 한 개의 엔터티두 개 이상의 인스턴스 집합이어야 한다.
      • 한 개의 엔터티두 개 이상의 속성을 갖는다.
      • 한 개의 속성한 개의 속성값을 갖는다.
    • 속성의 표기법

      1. IE 표기법

      2. Barker 표기법

  3. 속성의 특징

    1. 반드시 해당 업무에서 필요하고 관리하고자 하는 정보여야 한다.

    2. 정규화 이론에 근간하여 정해진 주식별자에 함수 종속성을 가져야 한다.

    3. 한 개의 속성한 개의 속성값을 갖는다. 만약 한 개의 속성여러 속성값을 갖는 다중 값일 경우 별도의 엔터티로 분리하여 관리한다.

  4. 속성의 분류

    • 속성의 특성에 따른 분류

      1. 기본속성

        • 업무로부터 추출한 모든 속성
      2. 설계속성

        • 기본속성 외에 새롭게 만들거나 변형하여 정의한 속성
      3. 파생속성

        • 타 속성에 의해 지속적으로 영향을 받아 값이 변하는 성질을 가지고 있는 속성
          • 파생속성은 그 속성이 가지고 있는 계산방법에 대해 반드시 어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의가 되어야 한다.
          • 파생속성은 꼭 필요한 경우에만 정의하여 업무로직이 속성내부로 스며들지 못하도록 주의해야 한다.
          • 파생속성을 정의한 경우라면 그 값의 정합성을 유지할 수 있도록 해야 한다.
          • 주로 통계관련 엔터티, 배치작업 수행 관련에 사용된다.

    • 엔터티 구성방식에 따른 분류

      • PK(Prime Key) == 엔터티를 식별할 수 있는 고유한 속성

      • FK(Foreign Key) == 다른 엔터티와의 관계로, 연결된 속성

      • 일반 속성 == 엔터티에 포함되어 있고, PK, FK가 아닌 속성

      • 추가로 의미를 쪼갤 수 있는지에 따라 단순형, 복합형으로 분류할 수 있다.

      • 한 속성에 한 개의 값 → 단일값(Single Value)

      • 한 속성에 여러 개의 값 → 다중값(Multi Value)

  5. 도메인(Domain)

    • 각 속성이 가질 수 있는 값의 범위 (일종의 테이터 타입, 크기, 제약사항등을 지정하는 것)

      ex) ‘‘학점'‘이라는 ‘‘도메인'‘은 0 <= X <= 4.5 

  6. 속성의 명명(Naming)

    1. 가급적 현업에서 사용하는 이름을 부여한다.
    2. 서술식 속성명은 사용하지 않는다.
    3. 약어사용은 자제한다.
    4. 전체 데이터모델에서 유일성을 확보하는 것이 좋다.