데이터모델링 3요소 +식별자
데이터모델링의 3가지 요소
: 엔티티, 속성, 관계
①엔티티
엔티티란?
- 사람, 장소, 물건, 사건, 개념들의 명사에 해당
- 저장이 되기 위한 어떤 것
- 인스턴스의 집합
특징
- 업무에서 필요로 하는 정보
- 유일한 식별자가 존재
- 두개 이상의 인스턴스의 집합
- 업무프로세스가 반드시 이용함
- 반드시 속성을 가지고 있다
- 다른 엔티티와 최소 한개이상의 관계가 있어야 함
엔티티의 분류
- 유무형에 따른 분류 : 유형, 개념, 사건
- 발생시점에 따른 분류 : 기본, 중심, 행위
②속성
속성이란?
- 업무에서 필요로 하며, 의미상 분리되지 않는 최소의 데이터 단위
- 하나의 속성은 하나의 인스턴스에만 존재할 수 있으며, 관계로 기술될 수 없고 자신이 속성을 갖지 못함
엔티티/인스턴스/속성/속성값의 관계
- 엔티티는 2개 이상의 인스턴스 집합
- 엔티티는 2개 이상의 속성을 가진다
- 한개의 속성은 한개의 속성값을 가진다
속성의 표기법
: 식별자일경우 #, 필수값이면 *, 선택값이면 o 표현
속성의 분류
- 특성에 따른 분류 : 기본, 설계, 파생
- 엔티티 구성방식에 따른 분류 : PK속성, FK속성, 일반속성
도메인
- 각 속성이 가질 수 있는 범위 값
③관계
관계란?
: 상호 연관성이 있는 상태
* 관계 정의시 체크사항
- 두개의 엔티티 사이에 관심있는 연관규칙이 존재하는가?
- 두개의 엔티티 사이에 정보의 조합이 발생되는가?
- 규칙이 서술되어 있는가?
- 동사가 있는가?
관계의 분류
- 존재에 의한 관계 : ex) 부서, 사원 - 부서엔 사원이 존재
- 행위에 관한 관계 : ex) 고객, 주문 - 고객이 주문을 해야 성립
관계의 표기법
관계명 | 관계의 이름/ 현재형으로 표현 |
관계차수 | 1:1, 1:M, M:N |
관계 선택사항 | 필수관계, 선택관계 |
식별자
식별자란?
: 엔티티 내에서 인스턴스들을 구분할 수 있는 구별자
식별자의 특징
1. 유일성 : 모든 인스턴스들을 유일하게 구분함
2. 최소성 : 유일성을 만족하는 최소의 수
3. 불변성 : 식별자의 값은 변하지 않음
4. 존재성 : NULL값 불가
식별자 분류
- 대표성 여부 : 주식별자(참조관계 연결 가능), 보조식별자(불가능)
- 스스로 생성 여부 : 내부식별자(스스로 가능), 외부식별자 (타엔티티로부터 받아옴)
- 속성의 수: 단일식별자(하나의 속성으로 구성), 복합식별자
- 대체여부 : 본질식별자(업무에 의해 만들어짐), 인조식별자(인위적으로 만듬)
식별자 도출 기준
- 자주 이용되는 속성을 주 식별자로 지정
- 명칭, 내역과 같이 이름으로 기술되는 것들은 가능하면 지정X
- 복합 주식별자 구성 시, 너무 많은 속성이 포함되지 않도록 주의
식별자 관계와 비식별자 관계
식별자 관계 (강한연결) | 부모의 주식별자가 상속이 되는 경우로, 상속받은 식별자를 자식의 주식별자로 사용 |
비식별자 관계 (약한연결) | 부모엔티티로부터 속성을 받았지만 주식별자로 사용하지 않고, 일반적인 속성으로 사용한다. |
'DB > SQLD' 카테고리의 다른 글
[SQLD] SQL기본 - 명령어 (0) | 2022.05.13 |
---|---|
[SQLD] 데이터 모델과 성능 (0) | 2022.05.08 |
[SQLD] 정규화, 반정규화 (0) | 2022.05.08 |
[SQLD] 데이터모델링의 이해 (0) | 2022.05.05 |
댓글