일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 정규형
- 완전서브타입
- SQL
- index
- 크롬원격데스크톱
- bc정규형
- Workbench
- 물리모델
- 더미데이터
- 샘플데이터
- mysql
- 제2정규형
- 워크벤치
- 중복서브타입
- 제1정규형
- 인덱스
- 배타서브타입
- group-by
- 함수종속
- 데이터통합
- order-by
- 요구사항명세서
- 제5정규형
- 실행계획
- 불완전서브타입
- 제4정규형
- 서브타입
- 공통코드
- 제3정규형
- vue3
- Today
- Total
domsam - IT 기술 블로그
서브타입의 물리모델 변환 - (1) 본문
1. 타입
- 분할
- 통합
- 혼합
2. 모델링 조건
- 모든 속성은 필수
- 교육과정은 과정명 정보를 저장
- 부서는 부서명 정보를 저장
- 정규직 사원은 사원번호, 사원명, 입사일자, 부서, 월급여, 연차휴가 정보를 저장
- 계약직 사원은 사원번호, 사원명, 입사일자, 부서, 시급여, 계약종료일 정보를 저장
- 정규직 사원은 반드시 하나의 교육과정을 이수 (여러 과정 이수 불가)
- 정규직 사원은 여러명의 가족 정보를 저장
- 가족은 주민등록번호, 이름 정보를 저장
3. 분할타입 모델링
정규직사원, 계약직사원 사원번호가 중복되지 않도록 하는 장치가 필요 (트리거, 로직)
4. 통합타입 모델링
사원 테이블의 사원구분코드는 ‘정규직’, ‘계약직’을 의미한다. 정규직사원 정보를 저장할 때는 시급여, 추가수당, 계약기간 속성이 null이 되고 계약직사원 정보를 저장할 때는 월급여, 연차휴가, 과정코드 속성이 null이 된다.
5. 혼합타입 모델링
계약직사원과 정규직사원의 공통된 속성은 사원 엔터티로 슈퍼타입을 만들고 고유속성은 계약직사원, 정규직사원 서브타입을 만들고 사원ID로 연결한다.
![]() |
![]() |
가유형 | 나유형 |
가유형은 상위 엔터티가 사원이라서 계약직사원과 정규직사원은 사원 엔터티의 사원ID를 참조하게 된다. 이해하기 쉽고 배타/중복/완전/불완전 서브타입을 모두 관리할 수 있는 모델이다. 그래서 일반적으로 많이 사용하는 모델이다.
나유형은 계약직사원과 정규직사원이 상위 엔터티라서 사원 엔터티가 사원ID를 참조하게 된다. 배타/완전 서브타입을 만족하는 모델이다. 정규직사원, 계약직사원 사원번호가 중복되지 않도록 하는 장치가 필요하다. (트리거, 로직)
'SQL > 데이터 통합' 카테고리의 다른 글
서브타입의 물리모델 변환 - (2) (0) | 2025.02.11 |
---|---|
Supertypes & Subtypes 슈퍼타입과 서브타입 (0) | 2025.02.11 |
Code 코드 (0) | 2025.02.10 |
Unique Identifier 식별자 (2) | 2025.02.10 |
Attributes 속성 (0) | 2025.02.07 |