물리 데이터베이스 설계 (2)
테이블 저장 사이징 (Sizing)
1) 정의
- 정확한 데이터 용량을 예측하여 저장 공간을 효과적으로 사용하고
확장성을 보장하여 가용성을 높이기 위해 사용
데이터 지역화 (Data Locality)
1) 정의
- 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법
- 필요한 위치에 가까이 데이터를 배치하는 것
2) 데이터 지역화의 종류
- 시간적 (Temporal) 지역화
- 공간적 (Spacial) 지역화
- 순차적 (Sequential) 지역
3) 데이터 지역화를 이용한 관리 기법
- 기억장치 계층구조 (Hierarchy)
- 캐시 접근시간 (Cache Access Time) 단축
- 작업세트 (Working Set)
데이터베이스 무결성 (Database Integrity)
1) 정의
- 데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 특성
2) 데이터 무결성 종류
종류 | 설명 |
개체 무결성 | 한 엔티티에서 동일한 기본 키(PK)를 가질 수 없거나 기본 키(PK)의 속성이 NULL을 허용할 수 없음 |
참조 무결성 | 외래 키가 참조하는다른 개체의 기본 키에 해당하는 값이 기본 키값이나 NULL이어야 함 |
속성 무결성 | 속성의 값은 기본값, NULL 여부, 도메인(데이터 타입, 길이)이 지정된 규칙을 준수해야 함 |
사용자 무결성 | 사용자의 의미적 요구사항을 준수해야 함 |
키 무결성 | 한 릴레이션에 같은 키 값을 가진 튜플들을 허용할 수 없음 |
키 (Key)
1) 정의
- 다른 튜플들과 구별할 수 있는 기준이 되는 속성
- 키 특성 : 유일성, 최소성
2) 키 종류
종류 | 설명 |
기본 키 Primary Key |
테이블의 각 튜플들을 고유하게 식별하는 컬럼 |
대체 키 Alternate Key |
후보 키 중에서 기본 키로 선택되지 않은 키 |
후보 키 Candidate Key |
테이블에서 각 튜플들을 구별하는데 기준이 되는 컬럼 기본 키와 대체 키를 합친 키 |
슈퍼 키 Super Key |
릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못하는 키 |
외래 키 Foreign Key |
테이블 간의 참조 데이터 무결성을 위한 제약 조건 한 릴레이션의 컬럼이 다른 릴레이션의 기본 키로 이용되는 키 |
반정규화 (Do-Normalization)
1) 정의
- 정규화된 엔티티, 속성, 관계를 시스템의 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법
- 비정규화, 역정규화
2) 반정규화 장점
- 성능 향상
- 관리의 효율성 증가
3) 반정규화 단점
- 데이터의 일관성 및 정합성 저하
- 유지를 위한 비용이 별도로 발생하여 성능에 나쁜 영향을 미칠 수 있음
CRUD 분석
1) 정의
- 데이터베이스에 영향을 주는 생성, 읽기, 갱신, 삭제 연산으로 프로세스와 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석하는 기법
- 프로세스와 데이터 사이에 관계 의존성을 CREATE, READ, UPDATE, DELETE 연산으로 테이블 간에 매트릭스를 만들어서 트랜잭션을 분석
2) CRUD 매트릭스 (CRUD Matrix)
- 프로세스와 데이터 사이에 관계 의존성을 CRUD (Create, Read, Update, Delete)로 표현한 매트릭스
3) CRUD 매트릭스 필요성
- 모델링 작업 검증
- 중요 산출물
- 테스트 시 사용 산출물
- 인터페이스 현황 파악
SQL 성능 튜닝
1) 정의
- 최소의 자원을 이용하여 데이터베이스로부터 최적의 성능을 제공하도록 하는 개선 활동
- 튜닝의 종류 : 인덱스 사용
데이터 전환 기술
데이터 전환
1) 정의
- 원천의 데이터베이스로부터 목적 데이터베이스를 만드는 활동
- 목적 시스템의 데이터 모델에 적합하게 ETL 활동을 거친다
- 목적 데이터베이스에 데이터 적재 후 그 결과를 검증
정리하기
< 물리 데이터베이스 설계 (2) >
1. 테이블 저장 사이징 (Sizing)
- 정확한 데이터 용량을 예측하여 저장 공간을 효과적으로 사용
- 확장성 보장, 가용성 향상
2. 데이터 지역화 (Data Locality)
- 데이터베이스의 저장 데이터를 효율적으로 이용할 수 있도록 저장하는 방법
- 종류 : 시간적 지역화, 공간적 지역화, 순차적 지역화
- 관리 기법 : 기억장치 계층구조, 캐시 접근시간 단축, 작업세트
3. 데이터베이스 무결성 (Database Ingetrity)
- 종류 : 개체 무결성, 참조 무결성, 속성 무결성, 사용자 무결성, 키 무결성
4. 키 (Key)
- 특성 : 유일성, 퇴소성
- 종류 : 기본키, 대체키, 후보키, 슈퍼키, 외래키
5. 반정규화 (De-Normalization)
- 비정규화, 역정규화
- 장점: 성능 향상, 효율성 증가
- 단점 : 일관성/정합성 저하, 별도의 유지비용, 성능 저하
6. CRUD 분석
- CRUD 매트릭스 : 프로세스와 데이터 사이에 관계 의존성을 CRUD로 표현한 매트릭스
- 필요성 : 모델링 작업 검증, 중요 산출물, 테스트 시 사용 산출물, 인터페이스 현황 파악
7. SQL 성능 튜닝
- 최소의 자원으로 최적의 성능을 제공하도록 하는 개선활동
< 데이터베이스 전환 기술 >
1. 데이터 전환
- 원천의 데이터베이스로부터 목적 데이터베이스를 만드는 활동
- 목적 시스템의 데이터 모델에 적합하게 ETL 활동을 거친다
- 목적 데이터베이스에 데이터 적재 후 그 결과를 검증
'정보처리기사 > 3과 데이터베이스 구축' 카테고리의 다른 글
4. 물리 데이터베이스 설계 (1) (0) | 2023.09.16 |
---|---|
3. 논리 데이터베이스 설계 (0) | 2023.09.15 |
2. SQL 활용 (0) | 2023.09.14 |
1. SQL 응용 (0) | 2023.04.05 |