[SQLD] 속성(Attribute) | PART 1
속성은 의미상 더 이상 쪼개지지 않는 레벨이어야 하고, 프로세스에 필요한 내용이어야 한다.
Sep 05, 2024
속성은 의미상 더 이상 쪼개지지 않는 레벨이어야 하고, 프로세스에 필요한 내용이어야 한다.
✅ 1. 속성✅ 2. 속성 값✅ 3. 엔터티, 인스턴스, 속성, 속성값의 관계✅ 4. 속성의 분류☑️ 1) 특성에 따른 분류기본 속성설계 속성파생 속성☑️ 2) 구성 방식에 따른 분류PK 속성FK 속성일반 속성
✅ 1. 속성
속성은 엔터티의 특징을 나타낼 수 있는 최소의 데이터 단위이다.
회원 엔터티를 예시로 들면, 회원은 아이디, 비밀번호, 이름, 나이, 전화번호 등의 속성을 가질 수 있다. 만약, 회원 엔터티에 키와 몸무게 같은 업무상 필요하지 않는 속성은 제거하는 것이 바람직하다.
✅ 2. 속성 값
각각의 속성은 값을 가지며, 이 속성값들이 모여 하나의 인스턴스가 되는 것이다.
홍길동이라는 회원은 아래 속성과 속성값을 가지고, 하나의 인스턴스가 되는 것이다.
속성 | 아이디 | 비밀번호 | 이름 | 나이 | 전화번호 |
속성값 | hong | 1234! | 홍길동 | 25 | 010-1234-1234 |
만약, 하나의 속성에 여러 속성값이 존재한다면 별도의 엔터티로 분리하는 것이 바람직하다. 이것을 1차 정규화라고도 한다.
예를 들어, 홍길동이라는 회원이 여러 상품을 구입했다고 가정하자.
속성 | 아이디 | 비밀번호 | 이름 | 나이 | 전화번호 | 구입한 상품 |
속성값 | hong | 1234! | 홍길동 | 25 | 010-1234-1234 | 치약, 칫솔, … |
하나의 속성은 하나의 값만 가져야 하므로 별도의 상품 엔터티를 만들어야 한다.
속성 | 아이디 | 비밀번호 | 이름 | 나이 | 전화번호 |
속성값 | hong | 1234! | 홍길동 | 25 | 010-1234-1234 |
속성 | 아이디 | 구입한 상품 |
속성값 | hong | 치약 |
속성값 | hong | 칫솔 |
ㅤ | ㅤ | … |
위와 같이 엔터티를 분리하면 하나의 속성값만 가지도록 할 수 있다.
✅ 3. 엔터티, 인스턴스, 속성, 속성값의 관계
정리해보면, 엔터티 ⊃ 인스턴스 ⊃ 속성의 관계가 성립된다.
- 1개의 엔터티는 2개 이상의 인스턴스를 갖는다.
- 1개의 인스턴스는 2개 이상의 속성을 갖는다.
- 1개의 속성은 1개의 속성값을 갖는다.
✅ 4. 속성의 분류
☑️ 1) 특성에 따른 분류
기본 속성
(Basic Attribute) | 업무 프로세스 분석을 통해 바로 정의가 가능한 속성 |
설계 속성
(Designed Attribute) | 업무에 의존하지는 않지만 설계하다 보니 필요하다고 판단되어 도출해낸 속성 |
파생 속성
(Derived Attribute) | 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성 |
기본 속성
엔터티의 가장 일반적인 속성이다. 업무상 필요한 속성을 분석해 바로 정의하는 속성이다. 엔터티의 가장 많은 비율을 차지하며, 일부 설계속성과 파생속성을 제외하곤 모두 기본 속성에 속한다.
설계 속성
실제 업무에 존재하지는 않지만, 설계 과정에서 모델링을 위해 만들어진 속성이다.
예를 들어, 회원 엔터티에서 동일한 이름을 가진 회원이 존재할 수 있는데, 이를 고유한 ID를 부여해서 식별할 수 있다.
파생 속성
다른 속성으로부터 파생된 속성이다. 다른 속성에 의해 계산된 값이나 가공된 값이 이에 속한다.
파생 속성을 설계할 경우, 데이터 정합성이 반드시 고려되어야 한다. 파생 속성의 값을 결정하는 원래 속성의 값이 변경되면, 파생 속성의 값도 바뀐대로 수정되어야 한다. 따라서, 파생 속성은 사용하기 전 신중한 고려가 필요하며, 꼭 필요한 경우에만 사용하자.
☑️ 2) 구성 방식에 따른 분류
PK 속성
(Primary Key) | 엔터티의 인스턴스들을 고유하게 식별할 수 있는 속성 |
FK 속성
(Foreign Key) | 다른 엔터티의 속성에서 가져온 속성 |
일반 속성 | PK, FK를 제외한 나머지 속성 |
PK 속성
엔터티의 각 인스턴스에 고유함을 부여해주기 위한 속성이다.
FK 속성
다른 엔터티와의 관계를 맺게 해주는 속성이다.
회원
엔터티의 회원아이디
와 구매한상품
엔터티의 회원아이디
를 결합하여, 회원이 구매한 상품 정보를 가져올 수 있다.일반 속성
PK와 FK를 제외한 나머지 속성이다. 회원 엔터티에서 이름, 나이, 전화번호 등이 이에 속한다.
Share article