SQLD Attribute

Soondol·2024년 4월 28일

속성

  • 업무에서 필요로하는 고유한 성질, 특징을 의미 (컬럼으로 표현할 수 있는 단위)
  • 인스턴스로 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위
  • 인스턴스의 구성요소
  • 속성은 Entity에 속한 Entity에 대한 자세하고 구체적 정보를 나타냄

Entity, Instance, Attribute

  • 1개 Entity : 2개 이상 instance의 집합
  • 1개 Entity : 2개 이상 Attribute 가짐 > 1개 테이블 : 2개 이상 컬럼으로 구성
  • 1개 Attribute : 1개의 속성값을 가짐 (속성의 원자성)

Attribute 특징

  • 정해진 주식별자에 함수적 종속성을 가져야함
  • 하나의 속성에 여러개의 값이 있는 다중값일 경우 별도의 Entity를 이용해 분리한다.
  • 하나의 인스턴스는 속성마다 반드시 하나의 속성값을 가짐
  • 원자성 : 데이터모델에서 각 Entity의 인스턴스가 해당 속성에 대해 단일하고 명확한 값을 가지는 것을 의미

함수적 종속성

  • 한 속성의 값이 다른 속성의 값에 종속적인 관계를 갖는 특징
  • A의 값을 알면 B의 값을 바로 식별할 수 있으며, A에 값에따라 B의 값이 달라질 경우
    - B는 A에 함수적으로 종속됨 (A -> B)
    - ex) 학번을 알면 이름, 나이, 성별 등의 속성을 식별할 수있고, 학번이 다르면 그에따른 값도 다름
    학번 -> 이름, 학번 -> 나이, 학번 -> 성별 ...
  • 완적 함수적 종속
    • 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우
    • 특정 컬럼이 기본키 (2개이상인 경우에는 모든 키에 관하여) 완전히 종속
      • (고객ID, 제품번호) 에 의해 수량 컬럼 식별 가능
  • 부분 함수적 종속
    - 기본키가 아닌 다린 속성에 종속
    • 기본키를 구성하는 속성 중 일부만 종속
      • (고객ID, 제품번호) 의 기본키 중 주문상품 컬럼은 제품번호만 알아도 식별 가능
  • 이행적 함수 종속
    - A,B,C 3개의 속성중 A->B, B->C 종속관계가 있는 경우 A->C가 성립되는 경우

속성의 분류

  • 속성의 특성에 따른 분류
    - 기본속성
    - 업무로부터 추출된 모든 속성 (원금, 예치기간 ...)
    • 설계속성
      • 기본 속성 외에 업무를 규칙화 하기 위해 새로 만들어지거나 기본 속성을 변형하여 만들어지는 속성 (상품코드, 지점코드 ...)
    • 파생속성
      • 다른 속성에 의해 만들어지는 속성
        • 일반적으로 계산된 값들이 해당 (합계, 평균 ...)
  • Entity 구성에 따른 분류
    - PK(Primary Key) : 인스턴스를 식별할 수 있는 속성
    • FK(Forrign Key) : 다른 Entity와의 관계에서 포함된 속성
    • 일반 속성 : Entity에 포함되어있고, PK/FK에 포함되지 않는 속성
  • 분해 여부에 따른 속성
    - 단일속성 : 하나의 의미로 구성 (회원 ID, 이름 ...)
    • 복합속성 : 여러개의 의미로 구성 (주소(시, 구, 동 등으로 분해 가능) ...)
    • 다중값속성 : 속성에 여러개의 값을 가질 수 있는 경우, 다중값 속성은 Entity로 분해 (상품 리스트 ...)

속성의 명명규칙

  • 해당 업무에서 사용하는 이름 부여
  • 서술식 속성명 사용하지 않음
  • 약어의 사용은 가급적 제한
  • 전체 데이터 모델에서 유일한 명칭

도메인 (Domain)

  • 도메인은 각 속성이 가질 수 있는 값의 범위를 의미함
  • Entity내에서 속성에 대한 데이터 타입과 크기, 제약사항을 제정하는 것

홍쌤의 데이터랩
SQLD 1과목 완벽 정리 (2024년 신유형 반영) 강의에 대해
공부 및 개인적으로 정리한 글 입니다.

0개의 댓글