[Database] 개체, 개체 타입과 속성


개체와 개체타입

  1. 개체 타입 (Entity Type)

    • 비슷한 속성을 가진 개체
    • 개체를 이름과 속성으로 정의한 것
    • 파일시스템이나 데이터베이스의 레코드 타입 (Record Type)
    • 프로그래밍언어의 데이터타입과 유사
    • 유형

      • 강한 개체 (Strong Entity) : 다른 개체의 도움 없이 독자적으로 존재하는 개체
      • 약한 개체 (Weak Entity) :

        독자적으로 존재하지 않고, 상위 개체 타입을 가짐
        상위 개체 타입이 결정되지 않으면 개별 개체를 식별할 수 없음

    • 예 : 회사의 직원

      • 직원의 부양가족은 직원 개체가 존재해야 존재할 수 있다
      • 강한 개체 : 직원
      • 약한 개체 : 부양 가족 · 개체타입의 ER 다이어그램 표현
      • 직사각형으로 표현



  2. 개체 인스턴스 (Entity Instance)

    • 개체의 속성에 실제 값을 주어 실체화된 개체
    • 파일시스템이나 데이터베이스의 레코드 인스턴스 (Record Instance)
  3. 개체 집합 (Entity Set)

    • 개체 인스턴스를 모아 놓은 것.
    • 데이터베이스의 테이블.
  4. 개체 (Entity)



속성

  1. 속성/애트리뷰트 (Attribute)

    • 사물의 본질적인 고유의 성질(특성)로, 의미 있는 데이터의 가장 작은 단위
    • 파일시스템이나 데이터베이스에서 하나의 필드로 표현됨
    • 예시 : 사람의 속성 - 이름, 출생일, 성별, 국적 등
  2. 속성의 ER 다이어그램 표현

    • 타원으로 표현
    • 개체 타입과 실선으로 연결



속성의 유형

  1. 키 속성 (Key Attribute)

    • 개체 인스턴스를 식별하는데 사용되는 속성

      • 모든 개체 인스턴스의 키 속성 값은 달라야 함.
    • 둘 이상의 속성으로 구성할 수 있음
    • 예: 쇼핑몰의 고객 개체의 계정, 회사의 직원 사번



  2. 속성 값의 개수에 따른 분류

    • 단일 값 속성 (Single-valued Attribute)

      • 예: 책의 이름, 회사내 팀의 팀장
    • 다중 값 속성 (Multi-valued Attribute)

      • 예: 책의 저자, 회사내 팀의 팀원번



  3. 의미의 세분화에 따른 분류

    • 단순 속성 (Simple Attribute)

      • 의미를 세분화할 수 없는 경우
    • 예: 개체의 이름

      • 복합 속성 (Composite Attribute)
    • 의미를 세분화할 수 있는 경우

      • 예: 전화번호, 생년월일



  4. 저장 속성 (Stored Attribute)과 유도 속성 (Derived Attribute)

    • 저장속성

      • 다른 속성의 영향 없이 단독으로 저장되는 속성
    • 유도 속성

      • 다른 속성을 사용하여 만들 수 있는 속성
    • 예: 판매물건의 부가세 금액, 나이(생년월일로부터 계산)



  5. 널 속성 (Null Attribute)

    • 값이 없어도 되는 속성
    • 예: 회원 가입시 선택항목

      • 데이터를 입력하지 않아도 데이터베이스에 개체를 저장하는데 문제가 없다

  6. 개체와 속성의 ER 다이어그램 표현