
엔티티
정의 : 저장하는 어떤 것
예) 테이블
- 유일한 식별자
- 인스턴스 2개 이상, 하나의 인스턴스는 1개 속성
엔티티 > 인스턴스 2개 이상 > 속성(속성값) 2개 이상

- 업무에 반드시 이용
- 다른 엔티티와 관계 최소 1개 이상
- 유형
- 유무형
- 유형 : 물리적으로 O
- 개념 : 물리적으로 X
- 사건 : 주문, 청구
- 발생 시점
- 기본 : 스스로 생성, 기본단위
- 중심 : 기본에서 파생
- 행위 : 2개 이상의 엔티티에서 파생
엔티티 명명규칙
- 업무 담당자 사용용어(별도의 용어 쓴다 X)
- 약어 규제(정확한 의미를 알 수 있게 쓴다 O)
- 단수 명사
- 유일한 이름
- 의미에 맞게
인스턴스
- 엔티티에 속한 개체
- 행 단위 = 한 사원의 정보 모음집
- 1개 이상 속성
속성
- 데이터 최소 단위
- 속상 안 속성값 최소 1개 이상
- 특징
- 엔티티 주 식별자에 함수적 종속성을 가짐
- 주 식별자를 알면 속성이 구분되는가 ? => 된다 : 함수족 종속성 가졌다.
=> 안된다 : X
- 분류
- 기본 : 업무 생성 / 원금, 예치기간
- 설계 : 데이터 모델 설계 시 / 상품번호, 예금번호
- 파생 : 계산, 통신, 변형 중 도출 / 합계, 평균
- 명명규칙
- 업무 사용
- 약어 자제
- 서술식 자제 = 단순 명사
- 유일한 이름
속성값의 범위인 도메인(보너스문제)
IE 표기법, 바커 표기법
- IE는 줄 하나 그어놓고 위에 부분은 키(식별자)
- 바커는 줄 안그어놓고 #으로 표시(식별자가 #), E동그라미는 항목, *은 NOT NULL

PK, FK
- PK : 유일한 식별키
- FK : 다른 엔티티의 주 식별 키
관계 : 엔티티 & 엔티티 / 엔티티 & 인스턴스
- 존재 : 부서, 사원
- 행위 : 고객, 주문
- 관계명 : 포함된다, 소속된다, 주문없는 고객 등
- 관계 차수 : 1:1, 1:M(N), M:M(N:N)
- 주의사항
- 업무기술서, 장표에 관계가 '동사(Verb)'인지
식별자
- 엔티티 구별
- 유일성 : 인스턴스를 주식별자에 의해 유일하게 구분
- 최소성 : 주 식별자를 구성하는 속성은 최소한의 수
- 불변성 : 한 번 정해진 주식별자는 변치 않음
- 존재성 : NOT NULL
- 종류
- 대표성
- 주식별자 : 엔티티에서 인스턴스를 구분
- 보조식별자 : 인스턴스를 구분하나, 대표성이 없음(다른 엔티티와 참조관계 X)
- 생성여부
- 내부 : 엔티티에서 스스로 생성
- 외부 : 다른 엔티티에서 받아온 식별자
- 속성수
- 단일 : 하나의 속성으로 구성된 식별자
- 복합 : 하나 이상의 속성으로 구성된 식별자으로 구성된 식별자
- 대체여부
- 본질 : 업무에서 생성
- 인조 : 본질식별자 너무 복잡 -> 인위적으로 생성
- 도출기준
- 명칭, 장소, 이름 X
- 주식별자가 복합식별자인 경우 속성은 적게 한다.
식별자 VS 비식별자
부모엔티티 주식별자
자식엔티티
- '부모엔티티 없이 자식엔티티 생성 O' => 비식별자
- '자식엔티티가 부모엔티티보다 먼저 삭제 O' => 비식별자