13. 물리 데이터 모델 설계

y55n·2022년 3월 25일
0

정보처리기사

목록 보기
13/50

수제비 2022 정보처리기사 실기 수험서를 보고 공부한 기록입니다.


[ 1. 물리 데이터 모델 설계 ]

물리 데이터 모델링은 논리모델을 적용하고자 하는 기술에 맞도록 상세화해가는 과정이다

[ 2. 물리 데이터 모델링 변환 절차 ] 

논리 데이터 저장소에서 물리 데이터 저장소로 변환하는 절차는 다음과 같다

1. 개체를 테이블로 변환

  • 일반적으로 테이블과 개체 명칭을 동일하게 하는 것을 권고
  • 개체는 한글명을 사용
  • 테이블은 소스 코드의 가독성을 위해 영문명을 사용

2. 속성을 컬럼으로 변환

  • 개발자와 사용자 간 의사소통을 위해 표준화된 약어를 사용하도록 권고
  • SQL 예약어 사용은 피해야 함
  • SQL 문장 가독성을 높이기 위해 컬럼 명칭은 되도록 짧은 것을 권고
  • 컬럼명으로 복합단어를 사용할 경우 미리 정의된 표준에 의해 명명해야 함

3. UID를 기본키로 변환

  • 개체의 UID에 해당하는 모든 속성에 대해 기본키로 선언
  • Not null, Unique 등의 제약 조건을 추가로 정의
  • 관계에 의한 외래키가 기본키에 포함될 수 있음

4. 관계를 외래키로 변환

  • 외래키명은 기본키 이름을 그대로 사용하나 다른 의미를 가질 경우 변경 가능
  • 순환 관계에서 자신의 기본키는 외래키로 정의

5. 컬럼 유형과 길이 정의

  • 적절한 유형을 정의하고, 데이터의 최대 길이를 파악하여 길이를 설정
  • CHAR : 최대 2000바이트의 고정길이 문자열 저장 가능
  • VARCHAR2 : 최대 4000바이트의 가변 길이 문자열 저장 가능
  • NUMBER : 38 자릿수의 숫자 저장 가능
  • DATE : 날짜 값을 저장
  • BLOB, CLOB : 바이너리(Binary), 텍스트 데이터 최대 4GB까지 저장

6. 반 정규화 수행

  • 시스템 성능 향상과 개발 및 운영의 단순화를 위해 데이터 모델을 통합하는 반 정규화를 수행
  • 중복 테이블 추가
    • 집계 테이블 추가
    • 특정 부분만 포함하는 테이블 추가
  • 테이블 조합
    • 1:1 관계 테이블 조합
    • 1:M 관계 테이블 조합
    • 슈퍼타입 / 서브타입 테이블 조합
  • 테이블 분할
    • 수직 분할 / 수평 분할
  • 테이블 제거
    • 테이블 재정의
    • 접근하지 않는 테이블 제거
  • 컬럼 중복화
    • 조인 성능 향상을 위한 중복 허용
profile
나 혼자 공부 기록

0개의 댓글