공부 정리용!
자료는 한국데이터산업진흥원 참고 사용
https://dataonair.or.kr/db-tech-reference/d-guide/sql
1. 속성(Attribute)의 개념
업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더이상 분리되지 않는 최소의 데이터 단위
- 업무에서 필요로 한다
- 의미상 더 이상 분리되지 않는다.
- 엔터티를 설명하고 인스턴스의 구성요소가 된다.
2. 엔터티 인스턴스와 속성, 속성값에 대한 내용과 표기법
가. 엔터티, 인스턴스, 속성, 속성값의 관계
- 엔터티: 두 개 이상의 인스턴스가 존재
- 속성 : 각각의 엔터티는 고유의 성격을 표현하는 속성 정보를 두 개 이상 갖음
1) 하나의 속성은 하나의 인스턴스에만 존재할 수 있음
2) 관계로 기술 될 수 없고 자신이 속성을 가질 수도 없음
- 속성값 : 각각의 엔터티가 가지는 속성들의 구체적 내용
>> 한 개의 엔터티는 두 개 이상의 인스턴스의 집합 이다.
>> 한 개의 엔터티는 두 개 이상의 속성을 갖음
>> 한 개의 속성은 한 개의 속성값을 갖음
Ex) 사원 (엔터티) > 이름, 주소, 전화번호, 직책 (속성) > 홍길동, 서울시 강남구, 123-456, 대리 (속성값)
나. 속성의 표기법
3. 속성의 특징
- 해당 업무에서 필요하고 관리하고자 하는 정보 (엔터티와 마찬가지- Ex. 강사의 교재이름)
- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 함
- 하나의 속성에는 한 개의 값만을 가짐
- 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리
4. 속성의 분류
가. 속성의 특성에 따른 분류
1) 기본속성(Basic Attribute) :
- 업무로부터 추출한 모든 속성.
- 업무로부터 분석한 속성이라도 이미 업무상 코드로 정의한 속성이 많음
> 속성값이 원래 속성을나타내지 못할 경우 기본속성이 되지 못함
2) 설계속성(Designed Attribute) :
- 업무상 필요한 데이터 외에 데이터 모델링과 업무를 규칙화 하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성
- 코드성 속성 : 업무상 필요에 의해 변형하여 만든 설계 속성
- 일련번호와 같은 속성은 단일(Unique)한 식별자를 부여하기 위해 새로 정의하는 설계 속성
3) 파생속성(Derived Attribute) :
- 다른 속성에 영향을 받아 발생하는 속성 (Ex. 계산된 값)
- 프로세스 설계 시 데이터 정합성 유지를 위해 유의해야 할 것이 많아 파생속성은 적은 것이 좋다
- 통계관련 엔터티나 배치작업이 수행되며 발생되는 엔터티에 많이 이용
Ex) '이자' 라는 속성 존재 시 원금이 1000원 이고 예치기간이 5개월 이며 이자율이 5.0%에서 계산되는 속성값
>> 원금이 1000 > 2000 변경시 영향 받음, 예치기간이 5개월 > 7개월로 변경 시 영향, 이자율이 5.0% > 4.0% 영향
나. 엔터티 구성방식에 따른 분류
- PK(Primary Key) : 엔터티를 식별할 수 있는 속성
- FK(Foreign Key) : 다른 엔터티와의 관계에서 포함된 속성
- 일반속성 : 엔터티에 포함되어 있고 PK, FK 에 포함되지 않는 속성
세부 의미를 쪼갤 수 있는지 여부에 따라
- 복합속성(Composite Attribute) : 주소 속성은 시, 구, 동, 번지로 이뤄짐
- 단순속성(Simple Attribute) : 나이, 성별
성질에 따라 여러개의 값을 갖는지 여부에 따라
- 단일값 속성(Single-Valued Attribute) : 속성 하나에 한개의 값 (Ex. 주민등록번호)
- 다중값 속성(Multi-Valued Attribute) : 속성 하나에 여러개의 값 (Ex. 전화번호의 속성은 '집', '휴대전화','회사' 전화번호)
>> 하나의 엔터티에 포함될 수 없으므로 1차 정규화나 별도의 엔터티를 만들어 관계로 연결 필요
5. 도메인(Domain)
각 속성이 가질 수 있는 값의 범위
엔터티 내에서 속성의 데이터 타입과 크기, 제약사항을 지정하는 것
Ex. 학생 엔터티의 학점 속성의 도메인은 0.0 ~ 4.0 사이의 실수값
6. 속성의 명명(Naming)
용어사전과 도메인정의를 같이 사용하여 프로젝트 진행 시 용어적 표준과 데이터타입의 일관성을 확보
- 현업에서 사용하는 이름 부여
- 서술식 속성명 사용 X, 명사형 이용, 수식어가 붙지 않도록 작성, 소유격 사용하지 않음
- 약어 사용 자제
- 가능하면 모든 속성의 이름을 유일하게 작성
> 데이터 흐름 파악에 용이, 정합성 유지에 도움, 반정규화(테이블 통합, 분리, 칼럼의 중복 등) 속성명 충돌 해결
참고자료 :
https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=document&uid=327
'SQL' 카테고리의 다른 글
SQL - 데이터모델링과 성능 (개요) (0) | 2023.03.09 |
---|---|
SQL - 데이터모델링의 이해 (식별자) (0) | 2023.03.08 |
SQL - 데이터모델링의 이해 (관계) (0) | 2023.03.07 |
SQL - 데이터모델링의 이해 (엔터티) (0) | 2023.03.02 |
SQL - 데이터 모델링의 이해 (개요) (0) | 2023.02.22 |