2025-08-11 02:47

Tags: SQL

속성

  • 엔터티를 설명하고 인스턴스의 구성 요소가 된다.
  • 업무에서 필요로 하는 인스턴스에서 관리하고자 하는 의미상 더이상 분리되지 않는 최소 데이터 단위

분류

특성에 따른 분류

  • 기본(Basic) 속성
    • 업무로 부터 추출한 모든 속성, 가장 기본적인 속성
    • 업무의 근간을 이루는 데이터, 다른 속성의 기반
    • 예시: 회원ID, 이름, 계좌번호, 주문일자, 상품명
  • 설계(Designed) 속성
    • 원래 업무에는 존재하지 않지만 필요에 의해 인위적으로 만들어낸 속성
    • 예시: 상품코드, 주문번호, 지점코드, 일련번호
  • 파생(Derived) 속성
    • 다른 속성으로부터 계산이나 가공을 통해 만들어 지는 속성
    • 조회는 매우 빈번하지만 변경은 드물게 일어남, 계산이 복잡해서 실시간 처리 오래걸릴때
    • 예시: 주문 금액, 현재 나이, 총 주문 횟수

역할 (식별자)에 따른 분류

  • 엔터티 내에서 어떤 역할을 하느냐에 따라 분류
  • 기본키(Primary Key) 속성: 엔터티인스턴스를 구별할 수 있는 속성
    • 예시: 사원번호, 주민등록번호, 학번
  • 외래키(Foreign Key) 속성: 다른 엔터티의 기본키를 참조하여 엔터티 간의 관계 표현
    • 예시: 주문 테이블의 ‘고객ID’ (고객 테이블의 기본키 참조)
  • 일반 속성: PK, FK 에 속하지 않는 속성
    • 예시: 사원명, 주소, 전화번호

분리 가능성에 따른 분류

  • 속성이 더 작은 단위로 쪼개질 수 있는가?
  • 단순(Simple) 속성: 더이상 다른 속성으로 분해될 수 없는 원자적 속성
    • 예시: 나이, 성별, 가격
  • 복합(Composite) 속성: 여러 개의 의미있는 하위 속성들로 구성된 속성
    • 예시: 주소 (시, 구, 동, 상세주소로 분해 가능), 이름 (성, 이름으로 분해 가능)

값의 개수에 따른 분류

  • 단일값 속성 (Single-Value Attribute): 속성 하나가 단 하나의 값만 가질 수 있다.
    • 예시: 주민등록번호, 이름, 나이 (한 사람은 하나의 이름과 나이만 가짐)
  • 다중값 속성 (Multi-Value Attribute): 속성 하나가 여러 개의 값을 가질 수 있다.
    • 직접 만들 수는 없고 1차 정규화를 하거나 별도의 엔터티로 만들어서 구현
    • 예시: 취미, 자격증, 전화번호 (한 사람이 여러 개의 취미나 자격증을 가질 수 있음)

References

SQLD 데이터 모델링 스키마 엔터티

데이터 모델링의 핵심, 속성(Attribute) 완벽 해부 핸드북