화일구조.

Slides:



Advertisements
Similar presentations
Oracle DB 구조 및 트랜잭션 관리 이경화 Database 의 구조 Program Global Area (PGA) Instance Database Buffer Cache Redo Log Buffer Library Cache Shared.
Advertisements

C 언어 Sun Moon University 1 of 25 C 언어 : 강의소개 강의실 : 산 211 담당교수 : 고경철 ( 정보통신공학과 ) 사무실 : 산학협력관 105B 면담시간 : 수업후 1 시간
© DBLAB, SNU 화일구조. 강의 소개 - 화일구조  Instructor : Prof. Sukho Lee (301 동 404 호 )  홈페이지 :  교과목 개요 – 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
체험학습 권지헤 박설화 하희연.
MrDataBld 2.x 제품 소개 2007.
ABAP Programming 정보자동화그룹 ERP팀 김 아 람 SW.
T A B L E 작성자 : 이 재 학.
28강 JAVA 입출력(I/O) 알아보기 - 입출력(I/O) 이란? - JAVA 입출력 API(Input~, Output~)
Project #2-2. Pintos User Program
IT Application Development Dept. Financial Team May 24, 2005
4. 데이터 기능 유형.
Understanding of Socket and File I/O
SAP QUERY SAP R/3 4.6C.
Puzzle 1 To 50 관심분야연구회 박찬수 장진호 최효진.
제2부 각론: 사회복지법률 제15장 국민기초생활보장법.
01 화일의 기본 개념 02 화일 저장장치 03 화일 입출력 제어 04 순차화일 05 화일의 정렬 06 화일의 합병
알고리즘(Algorithm)  알고리즘 개요 (효율, 분석, 차수) Part 1 강원대학교 컴퓨터과학전공 문양세.
12. 데이터베이스 설계.
데이터 웨어하우스 목차 1.데이터 웨어하우스 개발방법론 2슬라이드~13슬라이드
Unix Project-Final <test character device 생성>
Manual : User Exit.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
ER-Win 사용 방법.
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
7장 인덱스된 순차 화일.
1. 화일의 기본개념.
운영체제 (Operating Systems)
Chapter 10. 파일 시스템 인터페이스(File System Interface)
Computer System Architecture
Programmable Logic Device
DataBase 연결 및 사용방법
제10,11,12장 파일시스템 디스크 스케줄링.
Module 3 : 프로세스 평가 Process Assessment.
제10장 파일 시스템 인터페이스(File System Interface)
A Web-Based Little Man Computer Simulator
Database Programing 이름 : 김 수 종 학번 :
운영체제(Operating System)
1조 김성수 백현기 석광우 김지원 박광연.
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
네트워크 프로그래밍의 이해 School of Electronics and Information.
알고리즘(Algorithm)  알고리즘 개요 (효율, 분석, 차수) Part 년 봄학기
[CPA340] Algorithms and Practice Youn-Hee Han
Chapter 12 Memory Organization
제 1 장. 자료구조와 알고리즘.
시스템 분석 및 설계 글로컬 IT 학과 김정기.
10장. 회복과 병행 제어 트랜잭션 장애와 회복 병행 제어.
소프트웨어 형상관리: 목차 변경 및 형상관리의 기초 개념 형상항목 확인 및 버전관리 변경관리 감사 및 감사보고 99_11
REPORT 교 과 목 : 산업 및 안전공학 담당교수 : 곽효연 교수님 학 과 : 산업시스템 경영 학 번 :
화일구조.
CHAPTER 04 파일 설계(FiLE Design).
제1장 정리 컴퓨터소프트웨어과 2-A반 주세호.
Signature, Strong Typing
Signature, Strong Typing
Homework #7 (1/4) 다음 프로그램을 작성하고, 프로그램과 실행 결과를 함께 제출한다.
8. 리눅스의 내부 군자삼락 [君子三樂] 청출어람이청어람 [ 靑出於藍而靑於藍 ] Why Linux ?
Signature, Strong Typing
테이블 관리 테이블 생성,수정,삭제 데이터 입력 수정, 삭제 2010학년도 2학기.
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
화 일 구 조 Chapter 3 화일의 입출력 제어.
정보 디자인.
데이터 베이스의 내부 구조.
1. 데이터베이스 환경.
9장. 프로그램 평가.
Introduction to Computer System Spring, 2019
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
List, ArrayList, Vector, LinkedList 가 있습니다
Presentation transcript:

화일구조

강의 소개 - 화일구조 Instructor : Prof. Sukho Lee (301동 404호) 홈페이지 : http://db.snu.ac.kr 교과목 개요 이 과목은 데이타 관리와 응용을 위한 화일 구조의 설계와 구현을 공부한다. 이 화일은 바로 데이타베이스의 하부 구조를 구성하는 요소로서 실제 물리적 저장 장치 위에서의 구현에 중점을 둔다. 강의 계획 화일의 기본 개념, 화일 저장장치의 특성, 화일의 입출력 제어, 순차화일, 화일의 여러가지 외부 정렬 및 합병 기법, 인덱스된 순차화일, 해싱을 기초로 한 직접화일, 다중키 화일, 고급응용을 위한 다차원 공간 화일 등을 다룬다.  

강의 소개 - 화일구조 교재 및 참고 서적 성적 평가 방법 “화일구조”, 이석호, 2005, 정익사 Homework : 50 % 시험 (mid, final) : 45 % 출석 및 수업 참여 : 5 % 과락: Homework, 시험 각 40% 미만 ☞ 성적은 미워해도 교수는 미워하지 말라.

1. 화일의 기본개념

 화일의 종류 D P I I = P(D) 데이타 (data) 처리 (processing) 정보 (information) ▶ 정보(Information)  데이타(Data) D P I 데이타 (data) 처리 (processing) 정보 (information) (disk, tape) (computer) I = P(D)

▶ 데이타, 레코드 데이타 필드 (field), 애트리뷰트 (attribute), 데이타 항목 (item) 이름을 가진 논리적 데이타의 최소 단위 특정 객체(object, entity)의 한 성질을 표현 레코드 타입 (record type) 논리적으로 서로 연관된 데이타 필드(항목)들의 집합 엔터티 타입(entity type) 레코드 어커런스(record occurrence) 한 레코드 타입의 인스턴스(instance) 레코드 타입의 각 필드에 따라 실제 값이 들어가 어떤 특정 객체를 나타내는 것 보통 레코드(record)라고 함

▶ 화일, 화일 구조 화일(file) 어떤 응용 목적을 위해 함께 저장된 레코드 집합 예 : 급여, 인사, 재고, 재무, 회계 등 보통 보조 저장장치에 저장 화일구조(file structure) - 데이타의 표현과 연산의 조합 데이타를 화일로 구성하는 이유 메인 메모리에 전부 적재하기에 데이타 양이 너무 많다 프로그램은 특정시간에 데이타 집합의 일부만 접근한다 - 데이타 전부를 메인 메모리에 한꺼번에 저장시킬 필요가 없음 데이타를 특정 프로그램과 별도로 보관시켜 데이타의 독립성(independency)을 유지하기 위함 – 여러 응용 프로그램이 공용 가능

▶ 화일의 분류 (1)  화일의 기능에 따라 마스터 화일 (master file) 트랜잭션 화일 (transaction file) 보고서 화일 (report file) 작업 화일 (work file) 프로그램 화일(program file) 텍스트 화일 (text file)

(1) 마스터 화일 (master file) 어느 한 시점에서 조직체의 업무에 관한 정적인 면을 나타내는 데이타의 집합 데이타의 집합 예(제조 회사) : 급여 마스터 화일, 고객 마스터 화일, 인사 마스터 화일, 재고 마스터 화일, 자재 요청 마스터 화일 삽입, 삭제, 갱신을 통해 비교적 영속적 데이타 레코드를 포함 현재성(currency)을 정확히 유지함으로써 현실 세계에 대한 정확한 정보제공 보통 화일이라 하면 이 마스터 화일을 의미

(2) 트랜잭션 화일 (transaction file) 마스터 화일에 적용할 트랜잭션들을 모아 저장한 화일 ★ 트랜잭션 (transaction) 논리적인 작업 단위 하나의 건수로 처리되어야 하는 분리될 수 없는 연산 그룹 트랜잭션의 내용 새로운 레코드 삽입(insert), 현존 레코드의 삭제(delete), 현존 레코드의 내용 수정(modify, replace)

(3) 보고서 화일 (report file) 사용자에게 데이타 검색의 결과를 보여주기 위해 데이타를 일정한 형식으로 정리해서 저장해 놓은 화일 하드카피(hard copy) 보고서 출력 단말 장치 화면에 디스플레이

(4) 작업 화일 (work file) 어느 한 프로그램에서 생성된 출력 데이타를 다른 프로그램의 어느 한 프로그램에서 생성된 출력 데이타를 다른 프로그램의 입력 데이타로 사용하기 위해 만드는 임시 화일(temporary file) - 시스템이 자동으로 만드는 작업 화일 예 : 정렬을 위한 화일 - 프로그램이 만드는 작업 화일 예 : 수강신청 변경 화일 최종 목표를 달성하는 과정에서 만들어지는 중간 결과를 저장하는 화일 영속적이 아니라 임시로 만들어 사용

(5) 프로그램 화일 (program file) 데이타를 처리하기 위한 명령어들을 저장하고 있는 화일 고급언어(C, JAVA), 저급어 (어셈블리어)로 작성 원시 코드(source code)나 목적 코드(object code) 형태

(6) 텍스트 화일 (text file) 문자 숫자(alphanumeric)와 그래픽 데이타를 포함하고 있는 화일로서 텍스트 편집기의 입력과 출력으로 사용 - 여러 텍스트 편집기에 의해 처리될 수 있음

▶ 화일의 분류 (2)  프로그램의 화일 접근 목적에 따라 입력 화일 (input file) 프로그램이 판독(READ)을 위해 접근하는 화일 원시코드 프로그램 화일: 컴파일러 (2) 출력 화일 (output file) 프로그램이 기록(WRITE)을 위해 접근하는 화일 목적코드 프로그램 화일: 컴파일러 (3) 입/출력 화일 (input/output file) 프로그램의 실행 중 판독도 하고 기록도 하기 위해 접근하는 화일 급여 마스터 화일

화일의 연산 화일 조직 방법의 중요 결정 요소 화일의 사용 형식 화일 연산의 성격

▶ 화일 사용의 형식 일괄처리(batch) 형식 대화(interactive) 형식 마스터 화일을 효율적으로 접근하도록 트랜잭션들을 구성함 트랜잭션들을 그룹화하여 처리하는 성능이 중요 대화(interactive) 형식 트랜잭션이 터미널에 도착하는 대로 구성하고 처리함 각 트랜잭션의 처리 성능이 중요

▶화일에 대한 기본 연산 화일생성 화일기록(갱신, 삽입, 삭제) 화일판독(화일 이름, 블록 명세) 화일삭제 화일 개방과 폐쇄(버퍼의 할당과 반환)

(1) 화일 생성 (file creation) 데이타 골격(skeleton )의 설계 - 데이타 정의(data definition) 데이타 수집(collection)과 확인(validation) 데이타 적재(loading) 공간 할당 데이타를 일괄 적재 한 번에 한 레코드씩 구성

(2) 화일기록 (file write) 마스터 화일의 내용을 기록 또는 출력(output) 레코드 내용의 변경 (update) 새로운 레코드의 삽입(insert) 레코드 삭제(delete)

(3) 화일판독 (file read) 마스터 화일의 내용을 판독 또는 입력(input) 판독해야 할 화일 이름과 블록을 명세 디렉터리 조사(기록 연산과 비슷) – 화일의 위치와 레코드의 주소

(4) 화일삭제 (file delete) 화일의 삭제 디렉터리로부터 화일 위치 검색 할당된 디스크 공간 반환, 디렉터리 엔트리 삭제

(5) 화일의 개방과 폐쇄 (open, close) 연산을 수행할 수 있도록 화일을 준비 화일 개방 후 판독과 기록이 가능 메인 메모리에 화일 전송을 위한 버퍼 할당 화일의 폐쇄 화일 사용 종료 버퍼의 출력 데이타를 디스크에 기록 할당된 버퍼를 반환

화일 구조 선정 요소 메인 메모리의 데이타 구조 메인 메모리의 데이타 구조는 비교 연산 횟수로 평가 데이타 접근시간은 모두 일정한 것으로 가정 보조 저장 장치의 화일 구조 화일의 데이타 접근 시간이 메인 메모리에 비해 상당히 길다 보조 저장 장치의 접근 횟수가 프로그램 성능 평가의 주요 요소 ㅡ> 화일 구조 선정의 중요성

화일 구조 선정 요소 화일 구조 선정 요소 가변성 활동성 사용빈도수 응답 시간 화일 크기 화일 접근 유형

(1) 가변성(volatility) 화일의 성격 가변성(volatility) 내용이 변하지 않는 정적(static) 화일 (과거의 기록) 내용이 자주 변하는 동적(dynamic) 화일 (현재의 상황 데이타) 가변성(volatility) 전체 레코드 수에 대해 추가되거나 삭제되는 레코드 수 가변성이 높은 동적 화일은 빠른 접근과 갱신이 필요

(2) 활동성(activity) 화일의 활동성 주어진 기간 동안에 화일의 총 레코드 수에 대해 접근한 레코드 수의 비율 활동성이 높으면 순차 화일 구조가 유리

(3) 사용 빈도수 (frequency of use) 화일의 사용 빈도수 일정 기간 동안의 화일의 사용 빈도수 가변성과 활동성에 밀접히 관련 사용 빈도수와 화일 구조 화일 구조에 제한되어 있는 접근 방법이 사용 빈도수에 장애 빈도수가 낮으면 순차 화일 구조 유리 빈도수가 높으면 임의 접근 구조 유리

(4) 응답 시간(response time) 응답 시간과 화일 구조 검색이나 갱신에 대해 요구하는 지연 시간 빠른 응답 시간 조건에는 임의 접근(random access) 방법 선택 정렬된 키를 이용한 순차 접근(sequential access) 방법 가능

(5) 화일 크기(file size) 화일 크기와 화일 구조 레코드 수와 각 레코드 길이(record length)가 화일 크기 결정 시간이 지남에 따라 화일 크기는 성장 (레코드 길이 확장, 레코드 수 증가) 성장을 유연하게 수용할 수 있는 구조 필요

(6) 화일 접근 유형 화일 접근 유형과 화일 구조 화일 연산의 유형과 접근 형식에 따라 화일 구조 결정 ex) 1. 화일 접근이 판독 위주 접근 ? 갱신 위주 접근 ? 2. 화일 레코드들을 순차 접근이 주도 ? 임의 접근이 주도 ?