본문 바로가기

데이터베이스(Database)/Data Modeling

[DB] 데이터 모델링(5) - 속성(Attribute)

 

이 글은 전공 수업 내용을 복습할 겸 기록해놓은 글입니다.

추가할 사항이 있거나 잘못된 점이 있으면 댓글로 남겨주세요.

 


 

속성의 정의

  • 속성(Relationship)
    사전적 정의
    - 사물의 특징이나 본질적인 성질

    - 속성이 없다면 실체를 생각할 수 없음

    그렇다면, DB에서?
    - 업무에서 필요로 하는 인스턴스에 대해 의미상 더 이상 분리되지 않는 최소의 데이터 단위
    - 엔티티에 속한 인스턴스들의 성격을 구체적으로 나타냄
    - 인스턴스 각각을 구분할 수 있는 기준을 파악해 이름을 부여하여 속성화 시킴
  • 엔티티 - 인스턴스 - 속성 - 속성값의 관계
    각 엔티티는 둘 이상의 인스턴스를 가짐
    각 엔티티는 둘 이상의 속성을 가짐
    각 속성은 하나의 속성값을 가짐

출처 : https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=document&keyword=%EA%B4%80%EA%B3%84&uid=327

 

속성의 특징

  • 해당 업무에서 필요하고 관리해야 하는 정보이어야 함
  • 모든 속성은 주식별자에 함수적 종속성을 가져야 함
  • 각 속성은 하나의 값만 가져야 함
    - 속성이 다중 값을 가지면 해당 속성은 별도의 엔티티로 분리

 

속성의 명명

  • 현업에서 사용하는 이름을 부여
  • 약어 사용은 가급적 피해야 함
  • 서술식 속성명을 피하고 명사형을 사용
  • 수식어와 소유격을 피해야 함
  • 가급적 전체 데이터 모델에서 유일한 이름을 부여

 

도메인(Domain)

  • 각 속성이 가질 수 있는 값의 범위
  • 속성에 대한 데이터 타입과 크기, 제약사항을 지정

 

속성의 분류

  • 속성의 특성에 따른 분류
    기본 속성(Basic Attribute)
    - 업무로부터 추출한 모든 속성으로 가장 일반적이고 많은 속성

    설계 속성(Designed Attribute)
    - 데이터 모델링을 위해 새로 만든 속성
    - 주로 코드

    파생 속성(Derived Attribute)
    - 다른 속성들로부터 유도된 속성
    - 주로 통계 관련
    - 중복 데이터가 많이 생길 수 있어 가급적 적게 정의

출처 : https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=document&keyword=%EA%B4%80%EA%B3%84&uid=327

 

  • 엔티티 구성 방식에 따른 분류
    PK(Primary Key) 속성
    - 엔티티의 인스턴스를 구별할 수 있는 속성

    FK(Foreign Key) 속성
    - 타 엔티티의 PK를 참조하는 속성

    일반 속성
    - 그 외의 속성

https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=4&mod=document&keyword=%EA%B4%80%EA%B3%84&uid=327

 

  • 분리 가능성에 따른 분류
    복합(Composite) 속성
    - 여러 세부 속성으로 구성된 속성

    단순(Simple) 속성
    - 다른 속성들로 구성될 수 없는 속성

  • 속성값의 수에 따른 분류
    본래 속성은 하나의 속성값을 가지지만, 동일한 성질의 여러 값이 나타나는 경우가 있음.

    다중값(Multi-Valued) 속성
    - 여러 개의 값을 가지는 경우
    - 정규화를 하거나, 별도의 엔티티로 분리

    단일값(Single-Valued) 속성
    - 하나의 값만 존재하는 경우