1. 속성의 개념
: 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- 업무에서 필요로 한다.
- 의미상 더 이상 분리되지 않는다.
- 엔터티를 설명하고 인스턴스의 구성요소가 된다.
2. 엔터티, 인스턴스와 속성, 속성값에 대한 내용과 표기법
가. 엔터티, 인스턴스, 속성, 속성값의 관계
엔터티 : 두 개 이상의 인스턴스가 존재 / 각각의 엔터티에 고유한 성격을 표현하는 두 개 이상의 속성정보
-> 엔터티를 구성하는 특성이 무엇인지 / 각각의 인스턴스들은 어떤 성격의 데이터로 구성되는지 파악
분석단계 : 여러 개의 인스턴스가 가지는 동일한 성격이 무엇인지 파악하고 이름을 부여 -> 속성으로 기술
Ex) 사원 : 이름, 주소, 전화번호, 직책
사원이라는 엔터티에 속한 인스턴스의 성격을 나타내는 항목 -> 속성
즉, 각각의 인스턴스 = 속성의 집합
하나의 속성은 하나의 인스턴스에만 존재 가능하며, 속성은 관계로 기술될 수 없고, 자신이 속성을 가질 수도 없다.
엔터티 내에 있는 하나의 인스턴스는 각각의 속성들에 대해 한 개의 속성값만을 가질 수 있으며,
속성 | 이름, 주소, 전화번호, 직책 |
속성값 | 홍길동, 서울시 강남구, 123-4567, 대리 |
-> 속성값 : 각각의 엔터티가 가지는 속성들의 구체적인 내용
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
-> 속성 : 엔터티에 속한 엔터티에 대한 자세하고 구체적인 정보
나. 속성의 표기법
: 엔터티 내에 이름을 포함하여 표현
3. 속성의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보
- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 갖는다.
- 하나의 속성에는 한 개의 값을 가진다. -> 여러 개의 값이 있다면, 별도의 엔터티를 이용해 분리
4. 속성의 분류
가. 속성의 특성에 따른 분류
- 기본속성 : 업무분석을 통해 바로 정의한 속성
- 설계속성 : 업무상 존재하지는 않지만 설계를 하면서 도출해내는 속성
- 파생속성 : 다른 속성으로부터 계산이나 변형이 되어 생성되는 속성
(1) 기본속성 [코드성 데이터, 일련번호, 다른 속성을 계산하거나 영향을 받아 생성된 속성을 제외한 모든 속성]
: 업무로부터 추출한 모든 속성 / 가장 일반적이며 많은 속성을 차지
(2) 설계속성 [코드성 속성, 일련번호]
: 데이터 모델링을 위해, 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성
(3) 파생속성
: 다른 속성에 영향을 받아 발생하는 속성 / 일반적으로 계산된 값이 해당
-> 다른 속성에 영향을 받기 때문에, 데이터 정합성을 유지하기 위해 주의해야하며 적게 정의하는 것이 좋다.
-> 계산된 로직을 속성의 정의서에 기록해 속성 값에 대한 검증 시 활용
[어떤 엔터티에 어떤 속성에 의해 영향을 받는지 정의 되어있어야 한다.]
#속성의 분류
기본(BASIC) - 원래 속성 | 제품이름, 제조년월, 제조원가 |
설계(DESIGNED) - 1:1 치환 | 001-식품용기, 002-약품용기, 003-기타용기 |
파생(DERIVED) - 계산값 | 전체용기 수(∑개별용기), 용기의 총금액(∑단가) |
나. 엔터티 구성방식에 따른 분류
PK 속성 : 엔터티 식별할 수 있는 속성
FK 속성 : 다른 엔터티와의 관계에서 포함된 속성
일반 속성 : 엔터티에 포함되어 있고, PK,FK에 포함되지 않은 속성
#속성의 분류
속성분류 | 속성명 |
PK속성 | 사원번호 |
FK속성 | 부서코드 |
일반속성 | 사원명, 우편번호, 주소, 전화번호 |
속성
: 복합 속성 : 그 안에 세부 의미를 쪼갤 수 있는 세부 속성들로 구성
단순 속성 : 더 이상 다른 속성들로 구성될 수 없는 단순한 속성
동일한 성질의 여러 개의 값이 나타나는 경우
단일값 : 속성 하나에 한 개의 값을 가지는 경우
다중값 : 속성 하나에 여러 개의 값을 가지는 경우
Ex)
단일값 | 주민등록번호 |
다중값 | 전화번호 [집, 휴대전화, 회사 전화번호], 자동차 색상 [차 지붕, 차체, 외부] |
-> 다중값 속성의 경우 하나의 엔터티에 포함될 수 없으므로, 1차 정규화를 하거나 별도의 엔터티를 만들어 관계로 연결
5. 도메인
: 가질 수 있는 값의 범위
Ex)
학점 | 0.0에서 4.0 사이의 실수 값 |
주소 | 길이가 20자리 이내인 문자열 |
-> 엔터티 내에서 속성에 대한 데이터타입과 크기 그리고 제약사항 지정
6. 속성의 명명
: 속성명은 곧 사용자 인터페이스에 나타나기 때문에 업무에 직결된다.
각 속성이 가지는 값의 종류와 범위를 명확하게 하기 위해 도메인정의를 미리 해 용어사전과 같이 사용
-> 용어적 표준과 데이터 타입의 일관성 확보
#속성의 명칭 부여
- 해당업무에서 사용하는 이름 부여
- 서술식 속성명 사용 금지 -> 명사형 이용
- 약어사용은 가급적 자제
- 전체 데이터모델에서 유일성 확보를 목표로 -> 데이터에 대한 흐름의 파악과 데이터의 정합성 유지
'Data Science > SQLD' 카테고리의 다른 글
[SQLD] SQL 기본 핵심 요약 및 예제 (0) | 2021.09.27 |
---|---|
[SQLD] 데이터 모델링의 이해 1-4. 관계 (0) | 2021.09.23 |
[SQLD] 데이터 모델링의 이해 1-2. 엔터티 (0) | 2021.09.23 |
[SQLD] 데이터 모델과 성능 1-1. 성능 데이터 모델링의 개요 (0) | 2021.09.23 |
[SQLD] SQL 기본 1-9. 조인 (0) | 2021.09.23 |