sqld

속성의 개념 쉽게 이해하기

자격증원톱 2026. 2. 19. 17:28
반응형

속성의 개념 쉽게 이해하기

반응형

 

1) 속성(Attribute)이란?

  • 엔티티(테이블)가 가진 특징 정보(컬럼) 입니다.
  • 데이터 모델링에서 속성은 업무에 필요한 최소 데이터 단위로, 더 쪼개지 않는 값을 말합니다.
  • 속성들이 모여서 인스턴스(행, Row) 를 구성합니다.

예시(직원 테이블 EMPLOYEES)

  • 엔티티: EMPLOYEES(직원)
  • 속성(컬럼): EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE, HIRE_DATE, MANAGER_ID, JOB_TITLE
  • 인스턴스(행): “Tommy Bailey 한 명의 직원 정보 1줄”

 한 줄 정리
엔티티=표, 속성=열, 인스턴스=행


2) 속성의 특징(좋은 속성 조건)

  1. 업무에 필요해야 함
    • 직원 관리에 “좋아하는 색깔” 같은 건 보통 불필요
  2. 한 속성은 한 값만 가진다(원자성)
    • 전화번호가 2개라면 PHONE1, PHONE2로 나누거나
      더 정교하게는 전화번호를 별도 엔티티로 분리(정규화 관점)
  3. 속성은 ‘최소 단위’여야 함
    • “주소”를 하나로 저장할지(간단)
    • “시/구/동/우편번호”로 쪼갤지(검색/정렬 필요 시) 결정

3) 속성의 분류(이미지 핵심 2세트)

A. “속성의 성격”에 따른 분류

  • 기본 속성(Basic): 업무 분석으로 바로 나오는 일반 속성
    • 예: 이름, 생년월일, 전화번호
  • 설계 속성(Designed): 원래 업무에 꼭 있진 않지만 설계상 필요해서 만든 속성
    • 예: 코드값, 분류코드, 상태값(재직여부 Y/N)
  • 파생 속성(Derived): 다른 속성으로부터 계산/가공되는 속성
    • 예: 나이(= 오늘-생년), 총액(= 단가×수량), 평균점수

 예시(학생)

  • 기본: name, birth_date
  • 설계: student_status(재학/휴학/졸업)
  • 파생: age

B. “엔티티 구성 방식”에 따른 분류

  • PK 속성(Primary Key): 행을 유일하게 구분하는 키
    • 예: EMPLOYEE_ID, 학번, 주문번호
  • FK 속성(Foreign Key): 다른 엔티티와 연결하는 키
    • 예: MANAGER_ID(상사도 직원이므로 직원 테이블을 참조)
  • 일반 속성: PK/FK가 아닌 나머지 정보
    • 예: 이름, 이메일, 직책, 입사일

 예시(직원)

  • PK: EMPLOYEE_ID
  • FK: MANAGER_ID
  • 일반: FIRST_NAME, EMAIL, HIRE_DATE, JOB_TITLE

4) “함수적 종속성” 감 잡기(이미지에 나온 포인트)

예를 들어,

  • MANAGER_ID = 3 이면 상사 이름은 항상 “Blake Cooper”로 정해집니다.

즉,

  • MANAGER_ID가 결정되면 MANAGER_NAME이 정해진다
    → MANAGER_NAME은 MANAGER_ID에 종속됩니다.

그래서 보통 상사 이름을 직원 테이블에 직접 중복 저장하지 않고,

  • MANAGER_ID만 저장한 뒤
  • 필요할 때 조인으로 상사 이름을 가져옵니다.

5) 속성 명명 규칙(요지)

  • 업무에서 쓰는 명확한 용어 사용
  • 약어 남발 금지
  • 전체 모델에서 이름이 유일하게
  • 규칙(CamelCase or snake_case) 통일

예)

  • employee_id, hire_date (snake_case)
  • employeeId, hireDate (camelCase)

6) 도메인(Domain)이란?

  • 속성이 가질 수 있는 값의 범위/규칙입니다.
  • “타입 + 길이 + 허용 범위” 같은 제약을 포함합니다.

예시

  • age : 0~120
  • first_name : 문자열 1~25자
  • grade : A/B/C/D/F 중 하나
  • status : 재학/휴학/졸업 중 하나

 도메인을 정하면

  • 엉뚱한 값 입력을 막고(무결성)
  • 데이터 품질이 올라갑니다.

초간단 요약

  • 속성 = 엔티티의 특징(컬럼)
  • 좋은 속성은 업무에 필요하고 **한 칸에 한 값(원자성)**이어야 함
  • 속성은 기본/설계/파생, 그리고 PK/FK/일반으로 분류 가능
  • 도메인은 속성 값의 허용 범위 규칙이다
반응형