물리데이터베이스
논리 데이터 모델의 물리 데이터 모델 변환
- 엔티티는 테이블, 속성은 칼럼 등으로 변환
- 규칙
논리적 설계 물리적 설계 데이터베이스 엔티티 Entity 테이블 Table 테이블 속성 Attribute 칼럼 Column 칼럼 주 식별자 Primary Identifier 기본 키 Primary Key 기본 키 외래 식별자 Foreign Identifier 외래 키 Foreign Key 외래 키 관계 Relationship 관계 Relationship -
논리 데이터 모델 물리 데이터 모델 변환 순서
1. 단위 엔티티를 테이블로 변환
- 논리 모델에서 정의된 엔티티는 물리 모델에서 테이블로 변환
- 엔티티는 한글명, 테이블은 영문명으로 명칭을 동일하게 사용
- 메타데이터시스템과 같은 사전에 표준화된 용어가 있을 경우 메타에 등록되어 있는 단어 사용하여 명명
1.1 슈퍼 타입 기준 테이블 변환
- 서브타입을 슈퍼 타입에 통합하여 하나의 테이블로 만드는 것
- 서브타입에 속성이나 관계가 적을 경우에 적용하는 방법
- 하나로 통합된 테이블에는 서브 타입의 모든 속성 포함
1.2 슈퍼 타입 변환 장/단점
- 장점
- 데이터의 액세스가 상대적으로 용이
- 뷰를 이용하여 각각의 서브 타입 만을 액세스하거나 수정 가능
- 수행 속도 향상
- 서브 타입 구분이 없는 임의 집합에 대한 가공 용이
- 다수의 서브 타입을 통합하는 경우 조인 감소
- 복잡한 처리를 하나의 SQL로 통합 용이
- 단점
- 특정 서브 타입에 대한 NOT Null 제한이 어려움
- 테이블의 칼럼 증가로 디스크 저장 공간 증가
- 처리마다 서브 타입에 대한 구분이 필요할 경우가 많이 발생
- 인덱스의 크기 증가로 인덱스 효율이 낮아짐
1.3 서브 타입 기준 테이블 변환
- 슈퍼타입 속성들을 각각의 서브 타입에 추가하여 서브타입들을 개별적인 테이블로 만드는 것
- 서브 타입에 속성이나 관계가 많을 경우에 적용
1.4 서브 타입 변환 장/단점
- 장점
- 각 서브 타입 속성들의 선택 사양이 명확한 경우에 유리
- 서브 타입 유형에 대한 구분을 처리 마다할 필요가 없음
- 여러 개의 테이블로 통합하므로 테이블 당 크기가 감소하여 전체 테이블을 스캔하는 경우 유리
- 단위 테이블의 크기 감소
- 단점
- 서브 타입 구분 없이 데이터를 처리하는 경우 UNION이 발생
- 처리 속도 감소가 발생할 가능성이 높아짐
- 트랜잭션을 처리하는 경우 다수 테이블을 처리하는 경우가 자주 발생
- 복잡한 처리를 하는 SQL의 통합이 어려움
- 부분 범위에 대한 처리가 곤란해짐
- 여러 테이블을 통합한 경우 뷰로 조회만 가능
- UID의 유지관리가 어려움
- Unique Identifier, 식별자
1.5 개별 타입 기준 테이블 변환
- 슈퍼 타입과 서브 타입들을 각각의 개별적인 테이블로 변환
- 슈퍼 타입과 서브 타입 각각의 테이블 사이에는 1:1 관계 형성
1.6 개별 타입 기준 테이블 변환을 사용하는 경우
- 전체 데이터에 대한 처리가 자주 발생하는 경우
- 서브 타입 처리가 대부분 독립적으로 발생하는 경우
- 통합하는 테이블의 칼럼 수가 지나치게 많은 경우
- 서브 타입 칼럼 수가 다수인 경우
- 트랜잭션이 주로 슈퍼 타입에서 발생하는 경우
- 슈퍼 타입에서 범위가 넓은 처리가 빈번하게 발생하여 단일 테이블 클러스터링이 필요한 경우
2. 속성을 Column 칼럼으로 변환
- 칼럼의 명칭은 속성의 명칭과 반드시 일치할 필요는 없으나, 개발자와 사용자간 의사소통을 위해 가능한 표준화된 약어를 사용
- SQL 예약어 사용은 피해야 함
- SQL 문장의 가독성을 위해 칼럼 명칭은 가능한 짧게
- 칼럼명에 복합 단어 사용할 경우 미리 정의된 표준에 의해 명명
3. UID를 기본키로 변환
- 엔티티의 UID는 기본키로 선언
- Not NULL, Unique 등의 제약 조건을 추가적으로 정의
4. 관계를 외래키로 변환
- 1:n 관계에서 1영역에 있는 기본키를 n영역의 외래키로 선언
- 외래키명은 1영역의 기본키 이름을 사용하거나 다른 의미를 가질 경우 변경하여 명명
- 순환 관계에서 자신의 기본키는 외래키로 정의
5. 관리 목적의 테이블/칼럼 추가
- 논리 모델링에서는 필요가 없으나 관리 또는 데이터베이스를 이용하는 프로그래밍의 수행 속도를 향상을 위해 추가 되는 테이블이나 칼럼
- 관리상 필요한 데이터를 등록한 일자, 시스템 번호 등을 의미
6. 칼럼 유형과 길이 정의
- 정의된 각 컬럼에 대해, 적용 DBMS에서 제공하는 데이터 유형 중 적절한 유형 정의
- 해당 데이터의 최대 길이를 파악하여 길이 설정
- 자주 사용되는 데이터 유형
7. 데이터 표준 적용
- 명명 규칙 및 표준 용어 사전을 활용하여 각 객체의 데이터 표준 수행
- 표준화 적용대상
- 데이터베이스
- 스토리지 그룹
- 테이블 스페이스
- 테이블
- 칼럼
- 인덱스
- 뷰