1조 김성수 백현기 석광우 김지원 박광연
12. 데이타베이스
화일과 데이타베이스 화일 처리 시스템 각 응용 프로그램이 개별적인 화일 처리 루틴을 작성 응용 프로그래머에 부담
화일 관리 시스템 화일 관리 시스템 화일 처리 루틴 공유 데이타 화일의 공용은 없음
데이타의 중복성(data redundancy) 같은 내용의 데이타를 여러 화일에 중복 저장 급여 화일 인사 화일 저장 공간의 낭비, 데이타 모순성(data inconsistency) 야기. 교수 번호 이름 학과 호봉 봉급 공제액 지급액 주민 등록번호 주소 교수 번호 이름 학과 호봉 주민 등록 번호 연구실 번호 주소 경력
데이타 종속성(data dependency) 응용 프로그램(application programs)과 데이타(data) 간의 상호 의존 관계 데이타의 구성 방법이나 접근 방법의 변경 시 관련 응용 프로그램도 같이 변경
데이타베이스 관리 시스템 데이타베이스 관리 시스템(DBMS: database management system) 응용 프로그램과 데이타의 중재자로서 모든 응용 프로그램들이 데이타베이스(database)를 공용할 수 있게 관리해 주는 소프트웨어 시스템 기능 데이타의 정의(data definition), 표현, 저장 데이타 조작(data manipulation) 보안, 회복, 공용 제어, 무결성 기법 등을 포함한 데이타 제어(data control) 사용자 인터페이스(user interface) 제공
데이타베이스 관리 시스템의 장단점 1. 장점 2. 단점 데이타 중복(redundency)의 최소화 데이타 공용(sharing) 제공 일관성(consistency) 유지 무결성(integrity) 유지 보안(security) 보장 표준화(standardization) 용이 상충되는 데이타 요구의 조정 2. 단점 운영비의 증대 데이타 처리 방법이 복잡 백업(backup), 회복(recovery)이 복잡 시스템의 취약성
데이타 독립성(data independency) DBMS의 목적은 데이타 독립성을 제공 (1) 논리적 데이타 독립성(logical data independence) 응용 프로그램 자체에 영향을 주지 않고 데이타베이스의 논리적 구조를 변경 가능 (2) 물리적데이타 독립성 (physical data independence) 응용 프로그램과 논리적 데이타 구조에 영향을 주지 않고 물리적 데이타 구조의 변경 가능
데이타베이스의 저장과 접근 1. 데이타베이스의 저장 데이타베이스의 내부적 운영 저장 구조 데이타를 저장하는 방법과 접근에 관련된 작업 디스크(DASD) 사용 - 디스크 접근 (디스크 I/O)횟수를 최소화 DASD(Direct Access Storage Device : 직접 접근 저장 장치 저장 구조 디스크에 데이타가 배치, 저장되는 형식 다수의 저장구조 지원 DB의 부분별로 적절한 저장 성능 요건 변경 시 저장 구조 변경 데이타베이스의 물리적 설계 DB의 사용 방법, 응용, 실행빈도수에 따라 적절한 저장 표현을 선정하는 과정
2. 데이타베이스의 접근 데이타베이스의 일반적인 접근 과정
(1) 디스크 관리자(1) 기본 I/O 서비스 (basic I/O service) 물리적 디스크 주소 화일 관리자 지원 운영체제의 한 구성요소 물리적 디스크 주소 화일 관리자 지원 디스크를 일정 크기의 페이지로 구성된 페이지 세트들의 논리적 집단으로 취급하도록 지원 데이타 페이지 세트와 하나의 자유공간 페이지 세트 페이지 세트 : 유일한 페이지 세트 ID를 갖는다. 디스크 관리 페이지 번호 (사상) 물리적 디스크 주소 → 화일 관리자를 장비에서 독립 화일 관리자의 요청에 따라 페이지 세트에 대한 페이지의 할당과 회수
(1) 디스크 관리자(2) 디스크 관리자(disk manager)의 페이지 관리 연산 – 화일 관리자가 명령 페이지 세트 S 로부터 페이지 P의 검색 페이지 세트 S 내에서 페이지 P 의 교체 페이지 세트 S 에 새로운 페이지 P 의 첨가 (자유공간 페이지 세트의 빈 페이지 할당) 페이지 세트 S 에서 페이지 P 의 제거 (자유공간 페이지 세트에 반납) 화일 관리자가 필요로 하는 연산
(2) 화일 관리자 DBMS가 디스크를 저장 화일들의 집단으로 취급할 수 있도록 지원 저장 화일(stored file) 한 타입의 저장 레코드 어커런스들의 집합 한 페이지 세트는 하나 이상의 저장 화일을 포함 화일 이름 또는 화일 ID로 식별 저장 레코드는 레코드 번호(record number) 또는 레코드 ID 로 식별 전체 디스크 내에서 유일 <페이지 번호, 페이지 오프셋>
(2) 화일 관리자 화일 관리자(file manager)의 연산 저장 화일 f 에서 저장 레코드 r의 검색 새로운 레코드 ID, r 을 부여 저장 화일 f 에서 저장 레코드 r 의 제거 새로운 저장 화일 f 의 생성 저장 화일 f 의 제거
3. 페이지 세트와 화일 디스크 관리자 화일 관리자가 물리적 디스크 I/O가 아닌 페이지 관리(page management)
화일 관리자(file manager) 저장 레코드 관리 (stored record management) Ex) DBMS가 페이지 I/O 에 대한 세부적인 사항에 대해 알 필요 없이 저장 화일과 저장 레코드만으로 동작하게 함 Ex) 하나의 페이지에 여러 개의 레코드 저장 학생 레코드에 대한 논리적 순서는 학번 순
RID(레코드 ID)의 구현 RID = 페이지 번호 p의 오프셋 페이지 오프셋 = 페이지 내에서의 레코드 위치 변경 없이 페이지 오프셋의 내용(포인터)만 변경 최악의 경우 두 번째 접근으로 원하는 레코드를 검색 가능 - 두 번 접근 : 해당 페이지가 오버플로가 되어 다른 페이지로 저장된 경우
Thank you~