1. 속성의 개념
- 사전적 정의 : 사물의 특징이나 성질
- 데이터 모델링 관점 : 업무에서 필요로 하는, 인스턴스로 관리하고자 하는, 그 의미상 더 이상 분리되지 않는 최소의 데이터 단위
ex) "강사" 엔터티의 속성으로는 "이름, 주소, 생년월일" 등이 될 수 있다.
2. 엔터티, 인스턴스, 속성, 속성값의 내용 및 표기법
1) 엔터티, 인스턴스, 속성, 속성값의 관계
- 엔터티에는 두 개 이상의 인스턴스가 존재하고 각각의 엔터티는 속성정보 두 개 이상을 갖는다.
- 각각의 인스턴스는 속성의 집합이고, 하나의 속성은 하나의 인스턴스에만 존재할 수 있다.
- 속성은 관계로 기술될 수 없고 자신이 속성을 가질 수도 없다.
- 엔터티 내에 있는 하나의 인스턴스는 각각의 속성들에 대해 한 개의 속성값만을 가질 수 있다.
# 정리
- 한개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성을 갖는다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
2) 속성 표기법
3. 속성의 특징
- 엔터티와 마찬가지로 반드시 해당 업무에 필요하고 관리하고자 하는 정보여야 한다.
- 정규화 이론에 근간하여 정해진 주식별자에 함수적 종속성을 가져야 한다.
- 하나의 속성에는 한 개의 값만 갖는다.
- 하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리한다.
4. 속성의 분류
1) 특성에 따른 분류
- 기본 속성 : 업무 분석을 통해 직접 정의된 속성. 엔터티에 가장 일반적이고 널리 사용되는 속성
BUT! 업무상 이미 코드로 정의된 속성은 기본 속성이 아닐 수 있다.
- 설계 속성 : 데이터 모델링 과정에서 새로 만들거나 변형하여 정의하는 속성
ex) 업무상 필요에 따라 변형된 코드성 속성이나, 유일한 식별자를 부여하기 위해 모델 상에서 새로 정의하는 일련번호 등
- 파생 속성 : 다른 속성들로부터 계산되거나 변형되어 생성되는 속성, 다른 속성에 영향을 받기에 프로세스 설계 시 데이터 정합성을 유지하기 위해 주의가 필요하며, 파생속성을 적게 정의하는 것을 권장
2) 엔터티 구성방식에 따른 분류
- PK (Primary Key) 속성 : 엔터티를 식별할 수 있는 고유한 속성 ex) 학생 엔터티의 학번
- FK (Foreign Key) 속성 : 다른 엔터티와의 관계에서 포함된 속성 ex) 학생이 수강하는 강의의 강의번호
- 일반 속성 : PK, FK에 포함되지 않은 다른 모든 속성 ex) 학생의 이름, 주소, 전화번호 등
5. 도메인
- 각 속성이 가질 수 있는 값의 범위
- 엔터티 내에서 속성에 대한 데이터 타입 및 크기, 그리고 기타 제약사항을 지정하는 것
6. 속성의 명명
- C/S(Client/Server) 환경, Web 환경에서 속성명이 사용자 인터페이스(UI)에 드러나기 때문에 업무와 직결
- 용어의 혼란을 없애기 위해 용어사전이라는 업무사전을 프로젝트에 사용
# 속성명 명명규칙
- 해당 업무에서 사용하는 이름 부여
- 서술식 속성명은 사용 금지
- 약어 사용 자제
- 모든 속성의 이름을 중복되게 않게 작성
'데이터베이스(DB) > SQLD' 카테고리의 다른 글
[SQLD 1-2-1] 데이터 모델과 SQL - 정규화 (32) | 2024.05.09 |
---|---|
[SQLD 1-1-5] 데이터 모델링의 이해 - 식별자 (31) | 2024.05.07 |
[SQLD 1-1-4] 데이터 모델링의 이해 - 관계 (41) | 2024.05.06 |
[SQLD 1-1-2] 데이터 모델링의 이해 - 엔터티 (40) | 2024.05.05 |
[SQLD 1-1-1] 데이터 모델링의 이해 - 데이터 모델의 이해 (56) | 2024.05.03 |