728x90
엔터티, 인스턴스, 속성, 속성값의 관계
엔터티(Entity)
1. 엔터티의 개념
엔터티는 쉽게 말해 실체, 객체라고 할 수 있다.
일반적으로 엔터티를 정의하는 개념들을 정리하여 나타내면 다음과 같이 볼 수 있다.
- 엔터티는 사람, 장소 물건, 사건, 개념 등과 같은 명사에 해당된다.
- 엔터티는 업무상 관리가 필요한 것에 해당된다.
- 엔터티는 저장 되기 위한 어떤 것에 해당 된다.
- 사전적 의미는 '독립체'
- 식별이 가능한 객체
- 업무에서 쓰이는 데이터를 용도별로 분류한 그룹 ( 테이블 : table )
2. 엔터티의 특징
- 업무에서 쓰이는 정보여야 함
- 유니크함을 보장할 수 있는 식별자가 있어야함 : 인스턴스(row)를 식별 가능하도록 설계하는것이 바람짐하다.
- 2개 이상의 인스턴스를 가지고 있어야함 : 1개의 인스턴스만 존재하는 엔터티는 존재가 없는 엔터티와 같다.
- 반드시 속성( Attribute)을 가지고 있어야 함
- 다른 엔터티와 1개 이상의 관계를 가지고 있어야 함 : 각각의 엔터티는 다른 엔터티와 연관성을 가지고 있어야 한다.
3. 엔터티의 분류
- 유형 vs 무형
- 유형 엔터티 : 물리적인 형태 존재 ( 상품, 회원, 사원, 가맹점 등), 지속적으로 활용
- 개념 엔터티 : 물리적인 형태 없음 ( 부서, 학과 등), 개념적인 정보
- 사건 엔터티 : 행위를 함으로써 발생 됨. 통계로 자주 이용 (주문, 거래, 이벤트 응모 출석)
- 발생시점
- 기본 엔터티 : 독립적으로 존재 및 생성. 다른 엔터티의 부모역할을 한다. 즉 자식 엔터티 소유 가능 (상품, 회원 등)
- 중심 엔터티 : 기본 엔터티로 부터 파생, 업무에 있어서 중심적인 역할을 함. 일반적으로 데이터 양이 많고, 행위 엔터티 생성 (주문, 거래 등)
- 행위 엔터티 : 2개 이상의 부모 엔터티로 부터 파생 자주 엔터티의 내용이 바뀌거나 데이터양이 증감한다. 분석 초기 단계보다는 상세 설계단계나 프로세스와 상관 모델링을 진행하면서 도출될 수 있다.( 주문내역, 이벤트 응모 이력 HISTORY 등)
4. 엔터티의 명명
- 가능하면 현업업무에서 사용하는 용어를 사용한다.
- 가능하면 약어를 사용하지 않는다.
- 단수 명사를 사용한다.
- 모든 엔터티를 통틀어서 유일한 이름을 가져야 한다.
- 엔터티의 생성 의미대로 이름을 부여한다.
속성(Attribute)
1. 속성의 개념
속성 또한 엔터티와 같이 다음과 같은 성질을 가지고 있으며, 이러한 성질을 지니지 않는다면 적절하지 못한 속성일 확률이 높다.
- 사물이나 개념의 특징을 설명해 줄 수 있는 항목들을 속성이라고 부름 ( 속성은 엔터티의 특징을 나타내는 최소의 데이터 단위)
- 속성은 의미상 더 이상 쪼개지지 않는 레벨
- 엔터티와 마찬가지로 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
- 정규화 이론에 근간하여 정해진 주 식별자(기본키)에 함수적 종속성을 가져야 한다.
- 다양하게 존재하는 인스턴스들에 대해 유일하게 구별할 수 있는 주식별자를 통해서 식별될 수 있어야 한다.
- 하나의 속성에는 단 한개의 값만을 가진다.
2. 속성값
- 속성값은 엔터티에 속한 하나의 인스턴스를 구체적으로 나타내주는 데이터라고 함
- 하나의 속성에는 단 한개의 값만을 가진다.
3. 속성 분류
- 특성에 따른 분류
- 기본 속성 : 업무 프로세스 분석을 통해 바로 정의가 가능한 속성. 엔터티에서 가장 일번적이고 많은 속성을 차지 하지만 코드성 데이터, 엔터티를 식별하기 위해 부여된 일련번호, 또는 다른 속성을 계산되어 만들어진 속성들은 기본 속성이 아니다.
- 설계 속성 : 설계를 하다보니 필요하다고 판단되어 도출된 속성(유니크함을 보장하기 위해 학번 등 설계속성을 만들어 학생 개개인에게 고유번호를 할당 할 수 있다. ) 일반적으로 코드성 속성은 기존의 속성을 업무상 필요에 의해 변형하여 만든 설계 속성이다. 또한 일련번호와 같은 속성 또한 단일한 식별자를 부여하기 위해 모델 상에서 새롭게 정의하는 설계속성이다.
- 파생 속성 : 다른 속성의 속성값을 계산하거나 특정한 규칙으로 변형하여 생성한 속성 ( 상품 구매 수량, 이벤트응모건수 등) 파생 속성은 가급적 적게 정의하는것이 좋다.
- 구성방식에 따른 분류
- PK속성 : 엔터티의 인스턴스들을 식별할 수 있는 속성(유니크함을 부여하는 속성)
- FK속성 : 다른 엔터티의 속성에서 가져온 속성 ( 다른 엔터티와 관계 매개체 역할을 수행하는 속성)
- 일반속성 : PK, FK를 제외한 나머지 속성 ( PK, FK 속성을 제외한 나머지 속성)
- 세부 의미 유무에 따른 분류
- 단순 속성 : 나이, 성별과 같은 데이터는 더 이상 다른 속성들로 구성될 수 없는 단순한 속성이므로 단순 속성이라고 한다.
- 복합 속성 : 주소 속성에 대해서는 시, 구, 동, 번지와 같이 여러 세부 속성들로 구성될 수 있는데 이때 주소 속성과 같은 것들을 복합 속성이라고 한다.
도메인(Domain)
1. 도메인의 개념
각 속성은 무한정적인 값을 갖는 것이 아니라 그 범위가 지정된다. 이 때 속성의 값이 가질 수 있는 범위를 그 속성의 도메인이라고 한다. 따라서 속성 값이 가질 수 있는 데이터 타입과 크기 그리고 추가적인 제약사항이라고 생각할 수 있다.
참고
https://176farm.tistory.com/21
[데이터모델링] 엔터티(Entity), 인스턴스(Row), 속성(Attribute) | SQLD
엔터티(Entity) 1) 엔터티 2) 엔터티의 특징 3) 엔터티의 분류 속성 1) 속성(Attribute) 2) 속성값 3) 속성 분류 4) 도메인 엔터티, 인스턴스, 속성, 속성값 1)엔터티, 인스턴스, 속성, 속성값의 관계 1) 엔터
176farm.tistory.com
728x90
반응형
'모델링' 카테고리의 다른 글
[DB모델링] 키(key) (1) | 2024.08.20 |
---|---|
[DB모델링]ERD 화살표 표기법 (0) | 2024.08.16 |
[DB모델링] Database 정규화 (0) | 2023.03.20 |