1 관계형 테이블 전환
 1.1 관계형 테이블로 전환

논리적 데이터 모델링을 통해 산출한 ERD를 관계형 데이터베이스로 구축할 수 있도록 테이블 관계도로 전환한다.

→ 엔티티를 테이블로 전환한다.

→  주식별자를 PK로 변환한다.

→ 속성은 컬럼으로 변환한다.

→ 관계에 의한 외부 식별자는 FK로 변환한다. 

관계에 의한 외부 식별자는 FK로 변환한다.

(1) 1:1 관계

   관계11.png

* 부모 엔티티(Mandatory)의 PK가 자식 엔티티의 FK로 변환된다.

(2) 1:N 관계

   관계12.png

(3) 재귀적 관계

   관계13.png

(4) 슈퍼타입 서브타입 관계 

   관계14.png

■ 통합 테이블로 변환 
 관계17.png
서브타입에 있는 모든 컬럼을 슈퍼타입에 하나로 통합하고, 각각의 서브타입 정보를 구분하기 위한 구분 컬럼이 필요하다.

장점 단점
- 데이터 엑세스가 보다 간편 
- VIEW를 활용하여 각 서브타입 만을 엑세스하거나 수정 가능 
- 수행속도가 좋아지는 경우가 많다 
- 서브타입 구분없는 임의 집합의 가공이 용이 
- 다수의 서브타입을 통합한 경우 조인(JOIN) 감소효과가 크다 
- 복잡한 처리를 하나의 SQL로 통합하기가 용이
- 특정 서브타입의 NOT NULL 제한 불가 
- 테이블의 컬럼수가 증가 
- 테이블의 블럭수가 증가 
- 처리시 마다 서브타입의 구분(TYPE) 이 필요해 지는 경우가 많다- 
인덱스(INDEX) 크기가 증가


구분 컬럼이 없는 경우, 방문접수에 대한 데이터만 보기를 원한다면?

SELECT 접수번호, 신청자성명, 접수일자, 수수료, 방문지점코드, 담당부서 
FROM 접수 
WHERE 인터넷ID IS NOT NULL 
AND 수수료납부방법 IS NOT NULL


 구분 컬럼이 있는 경우

SELECT 접수번호, 신청자성명, 접수일자, 수수료, 방문지점코드, 담당부서 
FROM 접수 
WHERE 접수구분코드 = ‘01’

구분컬럼을 이용하면 조건이 매우 간단해짐.

단, 입력하는 Insert문 생성시 접수구분코드 = ‘01’이면 인터넷ID, 수수료납부방법을 NULL처리,

접수구분코드 = ‘02’이면 방문지점코드, 담당부서를 NULL처리 해주어야 한다. 

■서브타입 테이블로 변환

   관계16.png

서브타입 컬럼에 슈퍼타입에 있는 모든 속성을 포함하도록 구성

장점 단점
- 각 서브타입 속성들의 선택사양 명확 
- 처리시마다 서브타입 유형구분이 불필요 
- 전체 테이블 스캔시 유리 
- 단위 테이블의 크기가 감소
- 전체적인, 혹은 서브타입 구분없이 데이터를 처리하는 경우 UNION 이 발생 
- 처리속도가 감소하는 경우가 많다 
- 트랜잭션 처리시 여러 테이블을 처리하는 경우가 빈번해 진다 
- 복잡한 처리의 SQL 통합이 어려워 진다 
- 여러 테이블을 합친 VIEW는 조회만 가능하다- UID 유지관리가 어렵다

서브타입별로 구분하여 처리하는 업무가 많고, 서브타입 각각이 관리하는 고유 속성의 분포차가 심할 때 권장 

■ 각각의 테이블로 변환

   관계15.png
 
슈퍼타입 테이블과 서브타입 테이블간에는 1:1 주식별자 관계에 의해 접수번호가 생성.

접수 테이블에는 접수구분코드가 있어 각각의 레코드가 어느 테이블과 연관되는지 구별하는 구분자 역할을 한다.

장점 단점
- 저장 공간이 상대적으로 적음 
- 서브타입 또는 서브타입 각각의 테이블에 속한 정보만   
  조회하는 경우 문장 작성이 용이
- 서브타입 또는 서브타입의 정보를 같이 처리하면 
  항상 조인이 발생하여 성능 저하

여러 가지 경우를 만족할 때 사용한다.

 
  • 전체 테이터 처리가 빈번하거나
  • 서브타입의 처리는 주로 독립적으로 발생하고
  • 테이블을 통합했을 때 컬럼의 수가 너무 많아지는 경우
  • 서브타입의 컬럼 수가 많은 경우
  • 트랜잭션이 주로 공통부분(슈퍼타입)에서 발생하며
  • 슈퍼타입 의 처리범위가 넓고 빈번하여 단일 테이블 클러스터링을 해야 할 때


테이블정의서 작성

관계18.png

번호 제목 글쓴이 날짜 조회 수
공지 [기술 보고서 다운로드] IDC Technology Spotlight: 모델 기반 데이터 설계를 통한 비즈니스 민첩성 확보 방안 관리자 2015.08.24 8533
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39730
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50499
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52906
142 [기술백서] ER/Studio를 활용한 데이터 표준화 시스템 구축방안 관리자 2014.11.12 1156
141 DB Power Studio #4-2. DBArtisan 둘러보기(데이터베이스 보안 관리) 손보라 2014.08.20 1175
140 DB Power Studio #4-5. DBArtisan 둘러보기(데이터 관리) 손보라 2014.08.21 1179
139 DB Power Studio #4-6. DBArtisan 둘러보기(데이터베이스 성능 관리) 손보라 2014.08.22 1185
138 DB Power Studio #4-3. DBArtisan 둘러보기(데이터베이스 공간 관리) 손보라 2014.08.21 1203
137 DB Power Studio #4-7. DBArtisan 둘러보기(메뉴 기능) 손보라 2014.08.22 1212
136 DB Power Studio #4-4. DBArtisan 둘러보기(SQL 관리) 손보라 2014.08.21 1276
135 ER/Studio 기본 가이드 #6. ER/Studio Data Architect로 메타데이터 import & export하기 손보라 2014.08.07 1277
134 ER/Studio 기본 가이드 #5. ER/Studio Data Architect의 데이터 딕셔너리 사용하기 손보라 2014.08.06 1296
133 DB Power Studio #4-1. DBArtisan 둘러보기(오브젝트 및 스키마 관리) 손보라 2014.08.20 1319
132 ER/Studio 기본 가이드 #4. ER/Studio Data Architect로 모델 간 비교 및 차이점 반영하기 손보라 2014.08.05 1323
131 DB Power Studio #1. DB Optimizer 둘러보기 손보라 2014.08.09 1334
130 DB Power Studio #3-2. Rapid SQL 둘러보기(비주얼 쿼리 빌더) 손보라 2014.08.19 1343
129 [기술백서] 데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지 관리자 2014.09.26 1343
128 [기술백서] ERwin이 아닌 ER/Studio를 선택하는 10가지 이유 관리자 2014.11.12 1347
127 ER/Studio 기본 가이드 #2. ER/Studio Data Architect로 논리/물리 모델링 시작하기 손보라 2014.08.01 1350
126 ER/Studio 기본 가이드 #3. ER/Studio Data Architect로 기존 데이터베이스 문서화하기 손보라 2014.08.04 1354
125 ER/Studio 기본 가이드 #1. ER/Studio Data Architect로 데이터모델링 시작하기 손보라 2014.08.01 1361
124 DB Power Studio #3-1. Rapid SQL 둘러보기(SQL 작성) 손보라 2014.08.18 1388
123 [온라인 세미나 발표자료] 스마트한 DBMS관리: DB PowerStudio 따라잡기, LIVE! 관리자 2014.09.25 1405