자격증/SQLD

SQLD Chapter 1 데이터 모델링의 이해 - 속성

shinetheworld 2025. 3. 7. 23:02

Chapter 1 데이터 모델링의 이해

Session 03 속성

속성(Attribute)의 개념

- 속성은 업무에서 필요로 하는 고유한 성질, 특징을 의미(관찰 대상) -> 컬럼으로 표현할 수 있는 단위

- 업무상 인스턴스로 관리하고자 하는 더이상 분리되지 않는 최소의 데이터 단위

- 인스턴스의 구성 요소

  예) 학생 엔터티에 이름, 학번, 학과 번호 등이 속성이 될 수 있음

 

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

- 한 개의 엔터티는 2개 이상의 인스턴스의 집합이어야 한다. (하나의 테이블은 두 개 이상의 행을 가짐)

- 한 개의 엔터티는 2개 이상의 속성을 갖는다. (하나의 테이블은 두 개 이상의 컬럼으로 구성됨)

- 한 개의 속성은 1개의 속성값을 갖는다. (각 컬럼의 값은 하나씩만 삽입 가능)

- 속성은 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보를 나타낸다. 각 속성은 구체적인 값을 가진다.

 

속성의 특징

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

- 정해진 주식별자에 함수적 종속성을 가져야 한다.

- 하나의 속성은 한 개의 값만을 가진다. (한 컬럼의 값은 각 인스턴스마다 하나씩만 저장)

- 하나의 속성에 여러 개의 값이 있는 다중값일 경우, 별도의 엔터티를 이용해 분리한다.

- 하나의 인스턴스는 속성마다 반드시 하나의 속성값을 가진다.

  -> 각 속성이 하나의 값을 갖고 있음을 의미 (속성의 원자성)

 

** 원자성이란

  - 데이터 모델에서 각 엔터티의 인스턴스가 해당 속성에 대해 단일하고 명학한 값을 가지는 것을 의미

 

함수적 종속성

- 한 속성의 값이 다른 속성의 값에 종속적인 관계를 갖는 특징을 말한다.

- 즉, 어떤 속성 A의 값에 의해 다른 속성 B도 유일하게 결정된다면, 'B는 A에 함수적으로 종속됐다'고 하고, 이를 수식으로 나타내면 A -> B 라고 표현한다.

 

1) 완전 함수적 종속

- 특정 컬럼이 기본키에 대해 완전히 종속될 때를 말한다.

- PK를 구성하는 컬럼이 2개 이상일 경우, PK 값 모두에 의한 종속관계를 나타낼 때 완전 함수 종속성을 만족한다.

 

2) 부분 함수적 종속

- 기본키 전체가 아니라, 기본키 일부에 대해 종속될 때를 말함

 

속성의 분류

1) 속성의 특성에 따른 분류

  1. 기본 속성
    • 업무로부터 추출된 모든 속성
    • 엔터티에 가장 일반적으로 많이 존재하는 속성
    • 예) 원금, 예치기간 등
  2. 설계 속성
    • 기본 속성 외에 업무를 규칙화하기 위해 새로 만들어지거나 기본 속성을 변형해 만들어지는 속성
    • 예) 상품코드, 지점코드, 예금분류 등
  3. 파생 속성
    • 다른 속성에 의해 만들어지는 속성
    • 일반적으로 계산된 값들이 해당
    • 데이터 정합성을 유지하기 위해 가급적 적게 정의하는 것이 좋음
    • 예) 합계, 평균, 이자 등

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

  1. PK(Primary Key, 기본키)
    • 인스턴스를 식별할 수 있는 속성
  2. FK(Foreign Key, 외래키) 속성
    • 다른 엔터티와의 관계에서 포함된 속성
  3. 일반 속성
    • 엔터티에 포함되어 있고 PK/FK에 포함되지 않는 속성

3) 분해 여부에 따른 속성

  1. 단일 속성
    • 하나의 의미로 구성된 경우
    • 예) 회원 ID, 이름 등
  2. 복합 속성
    • 여러 개의 의미로 구성된 경우
    • 예) 주소(시, 구, 동 등으로 분해 가능) 등
  3. 다중값 속성
    • 속성에 여러 개의 값을 가질 수 있는 경우
    • 다중값 속성은 엔터티로 분해
    • 예) 상품 리스트 등

 

속성의 명명규칙

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

 

도메인(Domain)

- 도메인은 각 속성이 가질 수 있는 값의 범위를 의미

- 엔터티 내에서 속성에 대한 데이터 타입과 크기, 제약사항을 지정하는 것