개발일기

데이터 모델링의 이해 - 속성(Attribute) 본문

SQLD 자격증 공부하기/속성

데이터 모델링의 이해 - 속성(Attribute)

황대성 2025. 2. 26. 01:03

속성(Attribute)

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

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

- 인스턴스의 구성 요소

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


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

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

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

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

-속성은 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보를 나타냄, 각 속성은 구체적인 값을 가짐


속성의 특징

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

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

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

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

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

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

 

** 원자성이란

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


함수적 종속성

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

- 즉, 어떤 속성 A의 값에 의해 다른 속성 B도 유일하게 결정된다면, B 는 A 에 함수적으로 종속됐다 하고,

이를 수식으로 나타내면 A ->B 라고 표현함

 

1) 완전 함수적 종속

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

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

   ex) (주문번호 + 제품번호)에 의해 수량 컬럼의 값이 결정됨

 

2) 부분 함수적 종속

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

   ex) 수강기록 테이블에서 학생번호와 과목이 PK라고 가정할 때, 과목에 의해서도 교수가 결정되면 부분 함수적

          종속 관계


속성의 분류

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

1. 기본 속성

- 업무로부터 추출된 모든 속성

- 엔터티에 가장 일반적으로 많이 존재하는 속성

   ex) 원금, 예치기간 등

2. 설계 속성

- 기본 속성 외에 업무를 규칙화하기 위해 새로 만들어지거나 기본 속성을 변형하여 만들어지는 속성

   ex) 상품코드, 지점코드, 예금분류 등

3. 파생 속성

- 다른 속성에 의해 만들어지는 속성

- 일반적으로 계산된 값들이 해당

- 데이터 정합성을 유지하기 위해 가급적 적게 정의하는 것이 좋음

   ex) 합계, 평균, 이자 등

 

 

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

1. PK(Primary Key, 기본키)

- 인스턴스를 식별할 수 있는 속성

2. FK(Foreign Key, 외래키)

- 다른 엔터티와의 관계에서 포함된 속성

3. 일반 속성

- 엔터티에 포함되어 있고 PK/FK에 포함되지 않는 속성

 

 

3) 분해 여부에 따른 속성

1. 단일 속성

- 하나의 의미로 구성된 경우

   ex) 회원ID, 이름 등

2. 복합 속성

- 여러개의 의미로 구성된 경우

   ex) 주소(시, 구, 동 등으로 분해 가능) 등

3. 다중값 속성

- 속성에 여러 개의 값을 가질 수 있는 경우

- 다중값 속성은 엔터티로 분해

   ex) 상품 리스트 등


속성의 명명규칙

1. 해당 업무에서 사용하는 이름을 부여

2. 서술식 속성명은 사용하지 않음

3. 약어의 사용은 가급적 제한

4. 전체 데이터 모델에서 유일한 명칭


도메인(Domain)

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

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

 

 

출처 :  홍쌤의 데이터랩

 

홍쌤의 데이터랩

홍은혜 강사 전) 삼성SDS 빅데이터 엔지니어 출신 현) 빅데이터 / 데이터베이스 분야 전문강사(KDT, 선도기업, 기업강의 등) 이메일 : ehhhh0407@gmail.com 홈페이지 : www.hdatalab.co.kr

www.youtube.com