-
이전글:2020/04/14 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 03 . 데이터 입력 및 출력 구현(1/3)
논리 ▶ 물리 데이터 모델
여기선 이거 하나만 하면 되겠다.
1. 슈퍼타입/ 서브타입을 테이블로 변환
슈퍼 타입인 접수 테이블이 서브타입인 방문 접수와 인터넷 접수를 가지고 있다고 가정하자.
- 슈퍼타입 기준으로 테이블화
- 장점 데이터 엑세스의 상대적 용이
슈퍼 타입 기준 테이블화 서브 타입 기준 테이블화 개별 타입 기준 테이블화
장점 - SQL 문장 단순화
- 조인의 필요성이 없으므로 수행속도 증가
- 데이터 액세스 상대적 용이
- 처리할 때마다 서브 타입 유형 구분이 불필요
- 테이블당 크기가 감소하여 전체 테이블 스캔시 유리
- 저장공간이 상대적으로 작음
- 각각의 테이블 조회시 SQL 문장 작성 용이
단점 - 컬럼의 증가로 메모리 사용량 증가
- 인덱스 크기 증가로 효율성 감소
- 수행 속도 감소
- 식별자 유지의 어려움
- 두 테이블을 모두 조회하려면 조인이 발생하므로 성능 저하 반정규화(Denomarlize)
시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정, 의도적으로 정규화 원칙을 위배 하는 행위
1. 테이블 통합
- 조인이 자주 될 때 사용
- 제약 조건 설계가 어려움
2. 테이블 분할
- 수평 분할 ㅡ
- 레코드별로 사용빈도가 차이가 큰 경우
- 수직 분할 ㅣ
- 속성이 너무 많은 경우
- 레코드 잠금때문에 다른작업을 수행할 수 없으므로 자주 액세스 하는 속성 따로 때놈 (레코드 잠금은 무결성대문에 한 row 잠궈버리는거)
- 보안을 적용해야 하는 속성 따로 때놈
- 데이터 검색에 중점을 둬서 분할 여부를 결정
3. 중복 테이블 추가
- 여러 테이블에서 데이터 추출해서 사용하거 다른 서버의 테이블을 사용하여야 할 때
- 정규화로 수행속도가 저하될 때, 특정/많은 범위의 데이터 자주 처리시, 처리 범위를 줄이는게 최선일 때
- 집계 테이블 추가 : 원본 테이블에 트리거 설정하고 집계함
- 진행 테이블 추가 : log 관리 용 테이블
- 특정 부분만을 포함하는 테이블의 추가
4. 중복 속성 추가
- 조인해서 데이터를 처리할 때 데이터를 조회하는 경로를 단축하기 위해서 자주 사용하는 속성을 하나 더 추가하는것
- 무결성 확보의 어려움, 디스크 공간의 추가 사용
- 잦은 조인, 접근 경로의 복잡함, 기본키의 형태가 적절치 않거나 복합 키일경우
- 저장 공간 고려, SQL group function 이용 가능여부 확인, 데이터의 일관성 및 무결성에 유의
다음글:2020/04/14 - [2020년도 상반기/정처기] - [2020 정보처리기사 실기] Section 03 . 데이터 입력 및 출력 구현(3/3)
'2020년 > 정처기' 카테고리의 다른 글
[2020 정보처리기사 실기] Section 04 . 통합 구현(2/3) (0) 2020.04.15 [2020 정보처리기사 실기] Section 04 . 통합 구현(1/3) (0) 2020.04.15 [2020 정보처리기사 실기] Section 03 . 데이터 입력 및 출력 구현(3/3) (0) 2020.04.14 [2020 정보처리기사 실기] Section 03 . 데이터 입력 및 출력 구현(1/3) (0) 2020.04.14 [2020 정보처리기사 실기] Section 02 . 요구사항 확인 (0) 2020.04.07 - 슈퍼타입 기준으로 테이블화