안녕하세요. SQLER의 코난 김대우입니다. 
이번 강좌에서는, 11-7. 관계형 데이터베이스 이해 - 데이터베이스 물리적 설계를 진행 하겠습니다.


SQLER에서 진행되는, 챗GPT와 함께 배우는 SQL Server 강좌 목록

 

이번에 진행할 강좌는 관계형 데이터베이스 이해 - 데이터베이스 물리적 설계입니다.

 

 

 

TL;DR

물리적 설계는 논리적 설계에서 생성된 논리적 데이터 모델과 트랜잭션 인터페이스를 실제 DBMS에 최적화된 물리적 구조로 변환하는 과정입니다.

 


데이터베이스 설계 - 물리적 설계(Physical design)

물리적 설계는 논리적 설계 단계에서 생성된 논리적 데이터 모델과 트랜잭션 인터페이스를 DBMS에 맞는 물리적 구조로 변환하는 단계입니다. 물리적 설계 단계에서는 데이터베이스 저장소 레코드 양식(Storage Record Format)을 설계하고, 레코드 집중 분석(Record clustering analysis)과 설계, 그리고 접근 경로 설계(Access path design)를 합니다.


참고: 레코드 집중 분석(Record clustering analysis)은 레코드 “군집” 분석이 더 적절하고 콘텍스트에 맞는 번역입니다. 국내 데이터베이스 설계 도서가 대부분 레코드 집중 분석으로 번역해 이 강좌에서도 같은 용어를 사용합니다.

 

저장소 레코드 양식 설계 (Storage record format design)

물리적 설계 단계에서 데이터베이스 저장소 레코드 양식을 설계합니다. 데이터 타입, 값의 분포(Value distribution), 사용될 애플리케이션, 접근 빈도(Access frequency) 등을 고려하여 정의합니다. 각 데이터의 특성에 맞게 적절한 데이터 타입을 선택하고, 값의 분포를 고려해 인덱스를 설계하거나 파티셔닝 기법 등을 적용합니다.

 

레코드 집중 분석과 설계(Record clustering analysis and design)

레코드 집중은 함께 사용되는 데이터들을 물리적으로 인접한 곳에 순차적으로 저장하는 패턴으로 성능과 응답 시간을 향상하기 위한 방법 중 하나입니다. 관련된 데이터들을 함께 저장해 데이터베이스 I/O 작업을 최소화하고, 데이터를 빠르게 검색할 수 있습니다.

 

접근 경로 설계(Access path design)

접근 경로 설계는 데이터를 찾아가는 방법을 설계하는 과정입니다. 즉, 데이터베이스 시스템이 데이터를 검색하고 수정하는 방법을 정의합니다. 효율적인 접근 경로를 설계하여 데이터베이스의 응답시간과 저장 공간의 효율성을 최적화합니다. 예를 들어, 인덱스를 생성해 데이터에 빠르게 접근할 수 있도록 설계합니다.

 

DBMS 클래스와 특정 DBMS에 대한 설계의 종속성

종속성
DBMS 클래스 특정 DBMS
개념적 설계 X X
논리적 설계 O X
물리적 설계 O O


물리적 설계는 논리적 설계의 결과물을 실제 DBMS에 맞게 최적화하여 데이터베이스의 성능과 효율성을 향상하는 단계입니다. 저장 레코드 양식, 레코드 집중, 접근 경로 설계를 통해 데이터베이스가 최적의 성능을 발휘할 수 있도록 설계합니다.

이후 구현 단계에서는 물리적 설계에서 정의한 스키마와 접근 경로를 실제 DBMS에서 구현합니다.
 

 

SQL 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 마이크로소프트 SQL Server 2022 

책구매링크.png

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 21874
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 12245
2294 SQL강좌: 12-1. 인덱스 생성과 관리 - 인덱스(Index) 소개 file 코난(김대우) 2023.08.18 61
2293 SQL강좌: 11-8. 관계형 데이터베이스 이해 - 데이터베이스 구현 코난(김대우) 2023.08.18 24
» SQL강좌: 11-7. 관계형 데이터베이스 이해 - 데이터베이스 물리적 설계 코난(김대우) 2023.08.18 23
2291 SQL강좌: 11-6. 관계형 데이터베이스 이해 - 데이터베이스 논리적 설계 코난(김대우) 2023.08.18 23
2290 SQL강좌: 11-5. 관계형 데이터베이스 이해 - 데이터베이스 설계 요구사항(Requirements) 분석과 개념적 설계 코난(김대우) 2023.08.18 20
2289 SQL강좌: 11-4. 관계형 데이터베이스 이해 - 데이터베이스 설계 목표와 고려사항 코난(김대우) 2023.08.18 16
2288 SQL강좌: 11-3. 관계형 데이터베이스 이해 - 데이터베이스 설계 단계 file 코난(김대우) 2023.08.18 19
2287 SQL강좌: 11-2. 관계형 데이터베이스 이해 - 데이터베이스 생명주기 file 코난(김대우) 2023.08.18 24
2286 SQL강좌: 11-1. 관계형 데이터베이스 이해 - 관계형 모델 코난(김대우) 2023.08.18 33
2285 SQL강좌: 10-4. T-SQL 프로그래밍 - 공통 테이블 식(CTE-Common Table Expression) 코난(김대우) 2023.08.18 47
2284 SQL강좌: 10-3. T-SQL 프로그래밍 - 변수, 조건문(IF-ELSE), 반복문(WHILE), CASE 표현식 코난(김대우) 2023.08.18 27
2283 SQL강좌: 10-2. T-SQL 프로그래밍 - 일괄처리(Batch) 코난(김대우) 2023.08.18 32
2282 SQL강좌: 10-1. T-SQL 프로그래밍 - 소개 코난(김대우) 2023.08.18 21
2281 SQL강좌: 9-3. 커서 - 현업에서 커서 사용 및 주의사항 코난(김대우) 2023.08.18 49
2280 SQL강좌: 9-2. 커서 - 커서 구문 코난(김대우) 2023.08.18 23
2279 SQL강좌: 9-1. 커서(CURSOR) - 커서 소개 코난(김대우) 2023.08.18 40
2278 SQL강좌: 8-7. 저장 프로시저 - 프로시저 캐시와 RECOMPILE 코난(김대우) 2023.08.18 40
2277 SQL강좌: 8-6. 저장 프로시저 - 종속성(Dependency) 확인 코난(김대우) 2023.08.18 44
2276 SQL강좌: 8-5. 저장 프로시저 - OUTPUT 파라미터 코난(김대우) 2023.08.18 44
2275 SQL강좌: 8-4. 저장 프로시저 - 동적 SQL(Dynamic SQL)과 SQL 주입(Injection) 공격 코난(김대우) 2023.08.18 54





XE Login