속성(Attribute)

2023. 2. 28. 20:48SQL/SQL 전문가 가이드(2020 개정판)

1. 속성의 개념

 속성(Attribute)이란 사전적인 의미로는 사물의 성질, 특징 또는 본질적인 성질, 그것이 없다면 실체를 생각할 수 없는 것으로 정의할 수 있습니다. 데이터 모델링 관점에서 속성을 정의하면, '업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리할 수 없는 최소의 데이터 단위'로 정의할 수 있습니다.

 

□ 업무에서 필요로 합니다.

□ 의미상 더 이상 분리되지 않습니다.

□ 엔터티를 설명하고, 인스턴스의 구성요소가 됩니다.

 

2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법

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

□ 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.

□ 한 개의 엔터티는 두 개 이상의 속성을 갖는다.

□ 한 개의 속성은 한 개의 속성값을 갖는다.

 

나. 속성의 표기법

3. 속성의 특징

□ 엔터티와 마찬가지로 반드시 해당 업무에서 필요하고, 관리하고자 하는 정보여야 합니다(예, 강사의 교재이름)

□ 정규화 이론에 근거하여 정해진 주식별자에 함수적 종속성을 가져야 합니다.

□ 하나의 속성은 한 개의 값만을 가지며, 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리합니다.

 

4. 속성의 분류

가. 속성의 특성에 따른 분류

1) 기본속성: 업무로부터 추출한 모든 속성이 여기에 해당하며, 엔터티에 가장 일반적이고, 많은 속성을 차지합니다.

2) 설계속성: 데이터 모델링을 위해 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성입니다.

3) 파생속성: 다른 속성에 영향을 받아 발생하는 속성으로, 보통 계산된 값들이 이에 해당합니다.

나. 엔터티 구성방식에 따른 분류

 엔터티를 식별할 수 있는 속성을 PK(Primary Key)속성, 다른 엔터티와의 관계에서 포함된 속성을 FK(Foreign Key) 속성, 엔터티에 포함되어 있고, PK/FK에 포함되어 않은 속성을 일반속성이라고 합니다.

5. 도메인

도메인(Domain)

각 속성이 가질 수 있는 값의 범위, 좁은 의미에서 보면 엔터티 내에서 속성에 대한 데이터타입과 크기·제약사항을 지정하는 것입니다.

 

6. 속성의 명명

 클라이언트/서버 환경이든 웹 환경이든 속성명이 곧 사용자 인터페이스(User Interface)에 나타나기 때문에 업무와 직결되는 항목입니다. 용어사전과 도메인 정의를 같이 사용하여 프로젝트를 진행할 경우 용어적 표준과 데이터타입의 일관성을 확보할 수 있게 됩니다.

□ 속성의 이름을 부여할 때는 현업에서 사용하는 이름을 부여하는 것이 가장 중요합니다.

□ 일반적으로는 서술식의 속성명은 사용하지 말아야 합니다. 명사형을 이용하고, 수식어가 많이 붙지 않도록 유의하여 작성합니다.

□ 공용화되지 않은 업무에서 사용하지 않는 약어는 사용하지 않은 것이 좋습니다. 지나친 약어는 의사소통에 제약을 줍니다.

□ 모든 속성의 이름은 유일하게 작성하는 것이 좋습니다. 데이터에 대한 흐름을 파악하고, 데이터의 정합성을 유지하는데 큰 도움이 됩니다.

'SQL > SQL 전문가 가이드(2020 개정판)' 카테고리의 다른 글

식별자(Identifier)  (0) 2023.03.02
관계(Relationship)  (0) 2023.03.01
엔터티(Entity)  (0) 2023.02.27
데이터 모델의 이해  (0) 2023.02.26
SQLD(SQL 개발자), SQLP(SQL 전문가)란 무엇인가  (0) 2023.02.26