ln1992.log
로그인
ln1992.log
로그인
18일차 : 물리 데이터 모델 품질 검토
Dev_HG
·
2020년 7월 21일
팔로우
0
정보처리기사
0
1. 물리 데이터 모델 품질 기준
1. 물리 데이터 모델 품질 기준 개념
물리적 데이터 모델은 시스템 성능에 대해 직접적인 영향을 미치기 때문에 성능 문제를 사전에 검토하여 최소화하는 노력이 절대적으로 필요하다
2. 물리 데이터 모델 품질 요소
1. 정확성
데이터 모델이 표기법에 따라 정확하게 표현되었고, 업무 영역 또는 요구 사항이 정확하게 반영되었음을 의미
2. 완전성
데이터 모델의 구성요소를 정의하는 데 있어서 누락을 최소화하고, 요구사항 및 업무영역 반영에 있어서 누락이 없음을 의미
3. 준거성
제반 준수 요건들이 누락 없이 정확하게 준수되었음을 의미
4. 최신성
데이터 모델이 현행 시스템의 최신 상태를 반영하고 있고, 이슈 사항들이 지체없이 반영되고 있음을 의미
5. 일관성
여러 영역에서 공통 사용되는 데이터 요소가 전사 수준에서 한 번만 정의되고 이를 여러 다른 영역에서 참조, 활용되면서, 모델 표현상의 일관성을 유지하고 있음을 의미
6. 활용성
작성된 모델과 그 설명 내용이 이해관계자에게 의미를 충분하게 전달 할 수 있으면서, 업무 변화 시에 설계 변경이 최소화되도록 유연하게 설계되어 있음을 의미
2. 물리 E-R 다이어 그램
1. 논리적 설계
엔터티
속성
주 식별자
외래 식별자
관계
관계의 카디널리티
관계의 참여도
2. 물리적 설계
테이블
컬럼
기본 키
외래 키
관계
관계의 카디널리티
관계의 참여도
3. 데이터베이스
테이블
컬럼
기본 키
외래 키
논리 데이터 모델에서 물리 데이터 모델로 변환되면서 각 구성들에 대한 명칭이 변경된다.
2. 관계 변환
1. 1:1 변환
논리 데이터 모델에서 1:1관계는 일반적이지 않은 형태의 관계
상대적으로 자주 사용되는 테이블에 외래 키를 포함하는 것이 유리
2. 1:N 변환
논리 데이터 모델의 관계에서 가장 보편적 형태의 관계이며, N 측의 관계 컬럼에 선택사양이 결정되게 된다.
3. N:M 변환
실제 데이터 환경에서는 빈번하게 등장하는 논리 데이터 모델의 배타적 관계 모델은 물리 모델링에서 생성하는 방법이 일반적인 관계 변환 방법과는 차이가 있다.
=> N:M 변환 케이스
외래 키 분리 : 관계별로 관계 컬럼을 생성하는 방법으로 실제 외래 키의 제약조건이 생성 가능
체크 제약 조건의 추가적 생성이 필요
외래 키 결합 : 관계들을 하나의 관계 컬럼으로 통합 생성하는 방법, 실제 외래 키 제약 조건의 생성은 불가능하고 다수의 관계를 선별하여 구분하기 위한 별도의 컬럼 필요
3. 관리 목적 테이블 또는 컬럼의 추가
데이터베이스를 이용하는 프로그래밍의 수행 속도 향상을 위해 추가되는 테이블이나 컬럼으로 관리가 가능하다
4. 데이터 타입 선택
물리 모델링에서 자주 발생하는 문제 중 하나가 컬럼 데이터 형식 설저으이 오류로 인해 발생한다.
논리 모델링에서 정의된 논리적인 데이터 타입을 물리적인 DBMS 특성과 성능의 고려를 통해 최적 데이터 타입을 선택해야 한다.
5. 데이터 표준 적용
논리 데이터 모델링의 산출물을 물리데이터 모델링에서 변환하는 경우 필수적으로 각각의 대상에 대한 이름을 생성하게 된다.
=> 데이터 표준화 절차(프로세스) : 요구사항 수집 -> 표준 정의 -> 표준 확정 -> 표준 관리 절차로 이루어져 있다.
이름의 변환 과정에서 데이터베이스의 활용 및 관리를 고려하여 전사적으로 사전에 수립된 데이터 표준을 준수하게 된다.
데이터 표준에는 표준 용어, 표준 도메인, 표준 명명 규칙 등이 존재한다.
3. CRUD 분석
1. CRUD 분석 개념
시스템 개발 시 프로세스와 데이터베이스에 저장되는 데이터 사이의 관계를 CRUD로 분석하는 기법이다.
주로 CRUD 매트릭스를 통해 관계를 표현
2. CRUD 매트릭스
1. CRUD 매트릭스(CRUD Matrix)개념
프로세스와 데이터 사이에 관계 의존성을 CRUD(Create, Read, Update, Delete)로 표현한 매트릭스
2. CRUD 매트릭스 필요성
모델링 작업 검증 : 분석 단계의 데이터 모델과 프로세스 모델에 대한 작업 검증 역할을 수행
중요 산출물 : 시스템 구축 단계에서 애플리케이션 개발 시 필요하며 중요한 산출물
테스트 시 사용 산출물 : 애플리케이션을 객관적 자료를 사용하여 테스트 시 중요 테스트 케이스 역할을 수행
인터페이스 현황 파악 : 전체 업무의 인터페이스 파악이 가능
3. CRUD 매트릭스 구성요소
엔터티 타입 : 프로세스에 영향을 받는 데이터, 데이터베이스의 튜플 역할(고객, 제품, 주문, 목록)
단위 프로세스 : 엔터티의 영향을 주는 업무 단위, 데이터베이스의 트랜잭션 역할
(고객 등록, 주문 조회)
CRUD : 프로세스가 엔터티에 주는 영향, Create, Read, Update, Delete(생성, 조회, 수정, 삭제)
4. CRUD 매트릭스 규칙
1. 엔터티 타입
모든 엔터티에 C 가존재
데이터는 1번 생성되어야함
데이터 생성이 없으면 데이터의 읽기, 갱신, 삭제가 불가능
모든 엔터티에 R 존재
데이터는 최소한 한번은 읽어야함
모든 엔터티에 CRUD 존재
엔터티에 C,R,U,D 중 하나라도 존재해야 함
2. 프로세스
두 개 이상의 단위 프로세스가 하나의 엔터티 타입 생성불가
같은 엔터티에 두개 이상의 C가 존재하면 안됨
모든 단위 프로세스는 하나 이상 엔터티 타입에 표기
단위 프로세스에 CRUD 중 하나라도 존재해야함
CRUD 매트릭스 규칙을 통해 매트릭스에 빠진 부분이 있는지 확인할 수 있다.
3. SQL 성능 튜닝
1. SQL 성능 튜닝 개념
최소의 자원을 이용하여 데이터베이스로부터 최적의 성능을 제공하도록 하는 개선활동이다.
튜닝 결과에 따라 동일한 결과에 대해서 성능 차이가 크게 발생한다.
2. SQL 성능 튜닝 기법
옵티마이저 조정 : 옵티마이저의 실행계획을 점검 및 조정
힌트 사용 : 힌트를 사용해 원하는 실행계획으로 유도
부분 범위 처리 사용 : 일부만 액세스한 후 결과를 리턴해 빠른 응답을 제공
인덱스 활용 : 인덱스를 무용지물로 만드는 SQL을 수정
Dev_HG
꾸준함
팔로우
이전 포스트
18일차 : DB 반정규화
다음 포스트
18일차 : 데이터 전환
0개의 댓글
댓글 작성