✅이번 포스팅에서는 엔터티와 관련 개념(속성, 관계, 식별자)의 개념을 익혀보자.
비즈니스 프로세스
1. 고객이 회원가입한다. 이때, 회원ID, 패스워드, 이름, 주소, 전화번호 등을 입력한다.
2. 회원가입을 위해서는 반드시 하나의 계좌를 개설해야 한다.
3. 고객은 계좌를 여러 개 개설할 수 있다.
4. 계좌를 개설할 때는 계좌번호, 계좌명, 예수금, 계좌 개설 지점, 계좌 담당자가 입력한다.
→ 이러한 비즈니스 프로세스에서 관리되어야 하는 정보, 즉 엔터티는 고객과 계좌 엔터티다.
엔터티 특징 | 설명 |
---|---|
식별자 | - 엔터티는 유일한 식별자가 있어야 한다. - 예. 회원ID, 계좌번호 |
인스턴스 집합 | - 2개 이상의 인스턴스가 있어야 한다. - 예. 고객정보는 2명 이상 있어야 한다. |
속성(Attribute) | - 엔터티는 반드시 속성을 갖는다. - 예. 고객 엔터티의 회원ID, 패스워드, 이름, 주소, 전화번호 |
관계(Relationship) | - 엔터티는 다른 엔터티와 최소 한 개 이상 관계가 있어야 한다. - 예. 고객은 계좌를 개설한다. |
업무 | - 엔터티는 업무에서 관리되어야 하는 집합이다. - 예. 고객, 계좌 |
릴레이션과 테이블, 인스턴스(Instance)
- 릴레이션과 테이블은 같은 의미라고 보면 된다. 릴레이션에 기본키와 제약조건을 설정하면 테이블이 된다.
- Relationship은 relation간의 관계를 의미한다.
- 인스턴스는 릴레이션이 가질 수 있는 값, 즉 행 수를 의미한다.
종류 | 설명 |
---|---|
유형 엔터티 | - 업무에서 도출되며 지속적으로 사용되는 엔터티 - 물리적 형태 O - 예. 고객, 강사 등 |
개념 엔터티 | - 개념적으로 사용되는 엔터티 - 물리적 형태 X - 예. 거래소 종목, 코스닥 종목 등 |
사건 엔터티 | - 비즈니스 프로세스를 실행하면서 생성되는 엔터티 - 예. 주문 체결, 취소 주문 등 |
종류 | 설명 |
---|---|
기본(Basic) 엔터티 | - 키 엔터티라고도 한다. - 다른 엔터티로부터 영향을 받지 않고 독립적으로 생성되는 엔터티다. - 예. 고객, 상품, 부서 등 |
중심(Main) 엔터티 | - 기본 엔터티와 행위 엔터티 중간에 있다. 즉, 기본 엔터티로부터 발생되고 행위 엔터티를 생성한다. - 예. 계좌, 주문, 취소, 체결 등 |
행위(Active) 엔터티 | - 2개 이상의 엔터티로부터 발생된다. - 예. 주문 이력, 체결 이력 등 |
종류 | 설명 |
---|---|
단일 속성 | - 하나의 의미로 구성된 것 - 예. 회원ID, 이름 |
복합 속성 | - 여러 개의 의미가 있는 것 - 예. 주소(시/군/동 등으로 분해된다.) |
다중값 속성 | - 속성에 여러 개의 값을 가질 수 있는 것으로, 엔터티로 분해된다. - 예. 상품 리스트 |
종류 | 설명 |
---|---|
기본 속성 | - 비즈니스 프로세스에서 도출되는 본래의 속성 - 예. 회원ID, 이름, 계좌번호, 주문 일자 |
설계 속성 | - 데이터 모델링 과정에서 발생되는 속성 - 유일한 값을 부여한다. - 예. 상품코드, 지점 코드 |
파생 속성 | - 다른 속성에 의해서 만들어지는 속성 - 예. 합계, 평균 |
도메인(Domain)
- 속성이 가질 수 있는 값의 범위
- '성별'이라는 속성의 도메인은 '남자'와 '여자'이다.
관계 차수의 종류
종류 | 설명 |
---|---|
완전 1대1 | 하나의 엔터티에 관계되는 엔터티의 관계가 반드시 하나 존재한다. |
선택적 1대1 | 하나의 엔터티에 관계되는 엔터티의 관계가 하나이거나 없을 수도 있다. |
1대N 관계
M대N 관계
필수적 관계와 선택적 관계
구분 | 설명 |
---|---|
필수적 관계 | - 반드시 하나가 있어야 하는 관계 - 예. 계좌는 고객이 있어야만 개설될 수 있다. |
선택적 관계 | - 없을 수도 있는 관계 - 예. 고객은 있지만, 계좌는 없을 수도 있는 경우 |
강한 개체(Strong Entity)와 약한 개체(Weak Entity)
- 강한 개체는 누구에게도 지배되니 않는 독립적인 개체이다.
- 약한 개체는 개체의 존재가 다른 개체의 존재에 달려 있는 개체이다.
데이터베이스 키 | 설명 |
---|---|
기본키(Primary key) | 후보키 중에서 엔터티를 대표할 수 있는 키 |
후보키(Candidate key) | 유일성과 최소성을 만족하는 키 |
슈퍼키(Super key) | 유일성은 만족하지만 최소성은 만족하지 않는 키 |
대체키(Alternate key) | 여러 개의 후보키 중에서 기본키를 선정하고 남은 키 |
종류 | 설명 |
---|---|
주식별자 | - 유일성과 최소성을 만족하면서 엔터티를 대표하는 식별자 - 다른 엔터티와 참조 관계로 연결될 수 있다. |
보조 식별자 | 유일성과 최소성은 만족하지만 엔터티를 대표하지 못하는 식별자 |
종류 | 설명 |
---|---|
내부 식별자 | - 엔터티 내부에서 스스로 생성되는 식별자 - 예. 부서코드, 주문번호, 종목코드 |
외부 식별자 | - 다른 엔터티의 관계로 인하여 만들어지는 식별자 - 계좌 엔터티의 회원ID |
종류 | 설명 |
---|---|
단일 식별자 | - 하나의 속성으로 구성된다. - 예. 고객 엔터티에는 하나의 속성인 회원ID만 있다. 이때, 회원ID는 단일 식별자이다. |
복합 식별자 | 두 개 이상의 속성으로 구성된다. - 계좌 엔터티에는 계좌번호와 회원ID 속성이 있다. 이때, 계좌번호와 회원ID는 복합 식별자이다. |
종류 | 설명 |
---|---|
본질 식별자 | 비즈니스 프로세스에서 만들어지는 식별자 |
인조 식별자 | 인위적으로 만들어지는 식별자 |