12. 데이타베이스.

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Windows Server 장. Windows Server 2008 개요.
연결리스트(linked list).
제 9 장 구조체와 공용체.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
10. 데이터베이스의 저장과 접근.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
11.텍스트를 위한 화일.
컴퓨터과학 전공탐색 배상원.
1. 화일의 기본개념.
3. 데이타베이스 관리시스템.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
7장 인덱스된 순차 화일.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
WinCE Device Driver 실습 #2
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
5장 Mysql 데이터베이스 한빛미디어(주).
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
11.텍스트를 위한 화일.
Chap 6.Assembler 유건우.
인터넷응용프로그래밍 JavaScript(Intro).
제 1장 데이타와 데이타베이스 데이타 데이타베이스 정보 & 데이타.
공인인증서 신청 및 발급 제일 먼저 은행에 직접 방문하여 인터넷뱅킹 신청.
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
1조 김성수 백현기 석광우 김지원 박광연.
Lesson 2. 기본 데이터형.
01 화일의 기본 개념 02 화일 저장장치 03 화일 입출력 제어 04 순차화일 05 화일의 정렬 06 화일의 합병
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
Chapter 03. 관계 데이터베이스 설계.
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
05. Relational DBMS 명지대학교 ICT 융합대학 김정호.
Database Management System
데이터 베이스 DB2 관계형 데이터 모델 권준영.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
9.다중 키 화일.
Canary value 스택 가드(Stack Guard).
2. 데이터베이스 관리시스템(DBMS).
네트워크 프로그래밍 (모바일 주문 프로그램 )
AT MEGA 128 기초와 응용 I 기본적인 구조.
공인인증로그인 매뉴얼.
Chapter 10 데이터 검색1.
세션에 대해 알아보고 HttpSession 에 대해 이해한다 세션 관리에 사용되는 요소들을 살펴본다
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
6. 데이터베이스의 내부적 운영.
발표자 : 이지연 Programming Systems Lab.
9 브라우저 객체 모델.
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
공인인증로그인 매뉴얼.
제 4 장 Record.
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
07. DB 설계 명지대학교 ICT 융합대학 김정호.
 6장. SQL 쿼리.
6 객체.
공인인증로그인 매뉴얼.
Presentation transcript:

12. 데이타베이스

 화일과 데이타베이스 화일 처리 시스템 각 응용 프로그램이 개별적인 화일 처리 루틴을 작성 응용 프로그래머에 부담

▶ 화일 관리 시스템 화일 관리 시스템(file management system) 화일 처리 루틴 공유 데이타 화일의 공용은 없음

▶ 데이타의 중복성(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)횟수를 최소화 저장 구조 디스크에 데이타가 배치, 저장되는 형식 다수의 저장구조 지원 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(RID: Record Identifier)로 식별 전체 디스크 내에서 유일 <페이지 번호, 페이지 오프셋>

(2) 화일 관리자 화일 관리자(file manager)의 연산 저장 화일 f 에서 저장 레코드 r의 검색 새로운 레코드 ID, r 을 부여 저장 화일 f 에서 저장 레코드 r 의 제거 새로운 저장 화일 f 의 생성 저장 화일 f 의 제거

3. 페이지 세트와 화일 디스크 관리자 화일 관리자가 물리적 디스크 I/O가 아닌 페이지 관리(page management)

▶ 대학 데이타베이스 예) 저장 화일들은 28개의 페이지로 구성된 페이지 세트에 저장 각 레코드들은 하나의 페이지를 차지 학생 학번 이름 학년 학과 S1: S2: S3: S4: S5: 100 200 300 400 500 나 수영 이 찬수 정 기태 송 병길 박 종화 4 3 1 2 컴퓨터 전 기 산 공

▶ 대학 데이타베이스 과목 과목 번호 과목 이름 학점 담당 교수 C1: C2: C3: C4: C5: C123 C312 C324 E412 프로그래밍 자료구조 화일구조 데이타베이스 반도체 3 김 성국 황 수관 이 규찬 이 일로 홍 봉진

▶ 대학 데이타베이스 등록 학번 과목번호 성적 E1: E2: E3: E4: E5: E6: E7: E8: E9: E10: 100 200 300 400 500 C413 E412 C123 C312 C324 A B C

▶ 연산 처음(빈 디스크) : 화일 관리자 : 학생 화일에 있는 5개의 레코드 적재 하나의 자유 공간 페이지 세트만 존재(1∼27) 페이지 0 제외 : 디스크 디렉토리 화일 관리자 : 학생 화일에 있는 5개의 레코드 적재 디스크관리자 : 자유공간 페이지 세트의 페이지 1에서 5까지를 "학생 페이지 세트" 라고 이름을 붙이고 할당 과목과 등록 화일에 대한 페이지 세트를 할당 4개의 페이지 세트가 만들어짐 "학생"(1∼5), "과목"(6∼10), "등록"(11∼21), "자유공간" 페이지 세트 (페이지 22∼27) 화일 관리자 : 새로운 학생 S6(학번 600)을 삽입 디스크 관리자 : 첫 번째 자유 페이지 (페이지 22)를 자유공간 페이지 세트에서 찾아서 학생 페이지 세트에 첨가

▶ 연산 화일 관리자 : 새로운 과목 C6(E 515)를 삽입 화일 관리자 : S4를 삭제 디스크 관리자 : 자유공간 페이지 세트에서 첫 번째 자유페이지 (페이지 2)를 찾아서 과목 페이지 세트에 첨가 화일 관리자 : S4를 삭제 디스크 관리자 : S4가 저장되어 있던 페이지 (페이지 4)를 자유공간 페이지 세트에 반납

▶ 대학 데이타베이스의 초기 적재 후의 디스크 배치도 7 C2 14 21 1 8 15 2 9 3 10 S1 S2 S3 C3 C4 C5 E4 E5 E11 4 페이지번호 S4 22 5 S5 6 C1 23 16 E6 17 E7 24 11 12 13 E1 E2 E3 18 E8 19 E9 20 E10 25 26

▶ 일련의 삭제 연산이 수행된 뒤의 디스크 배치도 7 21 1 8 2 9 3 10 22 23 24 25 26 27 S1 C6 S3 C2 C3 C4 C5 E11 4 S6 5 S5 6 C1 14 15 E4 E5 16 17 18 E6 E7 E8 19 20 E9 E10 11 12 13 E1 E2 E3

▶ 일련의 삭제 연산이 수행된 뒤의 디스크 삽입, 삭제 연산 실행 후에는 페이지들의 물리적 인접성이 없어짐 포인터 표현 방법 한 페이지 세트에서 페이지의 논리적 순서가 물리적 인접으로 표현되지 않음 페이지 : 페이지 헤드 - 제어정보 저장 포인터 : 논리적 순서에 따른 다음 페이지의 물리적 주소 다음 페이지 포인터는 디스크 관리자가 관리 (화일 관리자는 무관)

▶ 페이지 헤드에 “다음 페이지” 포인터를 포함시킨 경우 페이지번호 다음 1 2 3 4 5 7 8 9 10 11 12 15 14 16 17 18 19 21 22 23 24 25 26 x 13 20 27 S1 C6 C4 C5 E1 E2 S5 S3 C2 C3 E6 E7 E8 E9 E4 E5 E11 S6 6 E3 C1 E10

▶ 디스크 디렉터리(페이지 세트 디렉터리) 실린더 0, 트랙 0에 위치 디스크에 있는 모든 페이지 세트의 리스트와 각 페이지 세트의 첫 번째 페이지에 대한 포인터 저장 디스크 디렉터리

▶ 화일 관리자(file manager) 저장 레코드 관리 (stored record management) 예 DBMS가 페이지 I/O 에 대한 세부적인 사항에 대해 알 필요 없이 저장 화일과 저장 레코드만으로 동작하게 함 예 하나의 페이지에 여러 개의 레코드 저장 학생 레코드에 대한 논리적 순서는 학번 순

▶ 5개의 학생 레코드를 처음 적재한 페이지 P ① 페이지 p에 5개의 학생레코드(S1∼S5)가 삽입되어 있다고 가정 P S1

▶ 5개의 학생 레코드를 처음 적재한 페이지 P ② DBMS : 학생 레코드 S9(학번 900)의 삽입 요청 페이지 p의 학생레코드 S5 바로 다음에 저장 ③ DBMS : 레코드 S2의 삭제 요청 - 페이지 p에 있는 학생 레코드 S2를 삭제하고 뒤에 있는 레코드들을 모두 앞으로 당김 ④ DBMS : 레코드 S7(학번 700)의 삽입 요청 - 학생레코드 S5 다음에 들어가야 되므로 학생 레코드 S9를 뒤로 옮김

▶ S2가 삭제되고 S9와 S7이 삽입된 뒤의 페이지 P

▶ S2가 삭제되고 S9와 S7이 삽입된 뒤의 페이지 P 한 페이지 내에서 저장레코드의 논리적 순서는 그 페이지 내에서의 물리적 순서로 표현 가능 레코드들이 페이지 내에서 이동 레코드들을 모두 페이지 윗 쪽으로 저장 - 아래쪽은 계속적으로 자유공간으로 유지

▶ RID(record identifier)의 구현 p 4 5 3 2 1 레코드 r 의 ID 페이지 번호 오프셋 .

▶ RID(record identifier)의 구현 RID = (페이지 번호 p,오프셋) 페이지 오프셋 = 페이지 내에서의 레코드 위치 레코드가 한 페이지 내에서 이동할 때마다 RID의 변경 없이 페이지 오프셋의 내용(포인터)만 변경 최악의 경우 두 번째 접근으로 원하는 레코드를 검색 가능 - 두 번 접근 : 해당 페이지가 오버플로가 되어 다른 페이지로 저장된 경우