데이타베이스 시스템 개요 Chapter 1 송 병 호

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

컴퓨터와 인터넷.
오라클 백업과 복구.
데이터베이스 설계(Database Design)
Query-by-Example (QBE)
개체-관계 (Entity-Relationship)모델
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
Entity Relationship Diagram
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
목차 백업과 복원.
Windows Server 장. 사고를 대비한 데이터 백업.
5장 Mysql 데이터베이스 한빛미디어(주).
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
컴퓨터과학 전공탐색 배상원.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
3. 데이타베이스 관리시스템.
08. 데이터 모델링.
12. 데이타베이스.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
01 데이타베이스 개론 데이타베이스의 등장 배경 데이타베이스의 발전 과정 데이타베이스의 정의 데이타베이스의 특징
5장 Mysql 데이터베이스 한빛미디어(주).
제 1장. 멀티미디어 시스템 개요.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
CHAP 12. 리소스와 보안.
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
DBMS 기능 DBMS 구성 요소 물리적 저장 구조
환경 설정 예제 데이터베이스 생성 - 그림 3.34의 SQL Server 관리 스튜디오 창의 왼쪽 영역의 데이터베
인터넷응용프로그래밍 JavaScript(Intro).
제 1장 데이타와 데이타베이스 데이타 데이타베이스 정보 & 데이타.
27장. 모듈화 프로그래밍.
DataBase 김상훈 송예은 고미영 이경민.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
뇌를 자극하는 Windows Server 2012 R2
ER-관계 사상에 의한 관계 데이터베이스 설계
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
2장. 변수와 타입.
Chapter 03. 관계 데이터베이스 설계.
응용 프로그램 1 프로그램 2 프로그램 N DBMS DBMS(데이터베이스 관리 시스템) • • • • • • 데이터베이스
04. DBMS 개요 명지대학교 ICT 융합대학 김정호.
Database Management System
데이터 베이스 DB2 관계형 데이터 모델 권준영.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
( Windows Service Application Debugging )
다차원 색인을 사용하는 실질적인 응용예제 컴퓨터 과학과 이 대 기.
오라클 11g 보안.
제 8 장 ER-관계 사상에 의한 관계 데이타베이스 설계
14 뷰(View) 뷰의 개념 뷰 관리.
Chapter 10 데이터 검색1.
멀티미디어시스템 제 4 장. 멀티미디어 데이터베이스 정보환경 IT응용시스템공학과 김 형 진 교수.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
서적DB개발 과제 Page 2의 ERD를 통해 구축할 서적 DB의 구조를 파악한다. (4개의 개체에 대해 확인함)
ER-관계 사상에 의한 관계데이터베이스 설계 충북대학교 구조시스템공학과 시스템공학연구실
제08장 데이터베이스.
.Net FrameWork for Web2.0 한석수
07. DB 설계 명지대학교 ICT 융합대학 김정호.
ER-관계 사상에 의한 관계 데이터베이스 설계
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
관계 대수 Chapter 4, Part A The slides for this text are organized into chapters. This lecture covers relational algebra from Chapter 4. The relational calculus.
6 객체.
주)INVENTORNICS 노창배 소프트웨어 김 경 순
데이터베이스 설계 데이터의 분석 개체 관계.
8장. 데이터베이스 설계 데이터베이스 설계 단계 요구 사항 분석 개념적 설계 논리적 설계 물리적 설계와 구현.
Presentation transcript:

데이타베이스 시스템 개요 Chapter 1 송 병 호 송 병 호 The slides for this text are organized into chapters. This lecture covers Chapter 1. Chapter 1: Introduction to Database Systems Chapter 2: The Entity-Relationship Model Chapter 3: The Relational Model Chapter 4 (Part A): Relational Algebra Chapter 4 (Part B): Relational Calculus Chapter 5: SQL: Queries, Programming, Triggers Chapter 6: Query-by-Example (QBE) Chapter 7: Storing Data: Disks and Files Chapter 8: File Organizations and Indexing Chapter 9: Tree-Structured Indexing Chapter 10: Hash-Based Indexing Chapter 11: External Sorting Chapter 12 (Part A): Evaluation of Relational Operators Chapter 12 (Part B): Evaluation of Relational Operators: Other Techniques Chapter 13: Introduction to Query Optimization Chapter 14: A Typical Relational Optimizer Chapter 15: Schema Refinement and Normal Forms Chapter 16 (Part A): Physical Database Design Chapter 16 (Part B): Database Tuning Chapter 17: Security Chapter 18: Transaction Management Overview Chapter 19: Concurrency Control Chapter 20: Crash Recovery Chapter 21: Parallel and Distributed Databases Chapter 22: Internet Databases Chapter 23: Decision Support Chapter 24: Data Mining Chapter 25: Object-Database Systems Chapter 26: Spatial Data Management Chapter 27: Deductive Databases Chapter 28: Additional Topics

DBMS란?  통합된 대규모 데이타 집단  실세계의 조직체를 모델링 - 개체 ( e.g., 학생, 과목 ) - 관계성 (e.g., 마돈나가 CS564과목을 수강함 )  데이타베이스 관리 시스템(Database Management System DBMS)은 데이타베이스를 저장하고 관리하는 소프트웨어 패키지이다.

DBMS를 사용하는 이유  데이타 독립성(data independence) 과 효율적인 접근.  응용(application) 개발시간 감축.  데이타 무결성(data integrity)과 보안( security).  균일한 데이타 행정관리.  동시 접근(concurrent access), 손상복구(recovery from crashes). 3

데이타베이스를 배우는 이유 ?  계산에서 정보로 이전  데이타집단들의 다양성과 부피 증가. - at the “low end”:거미줄 같은 수많은 정보 통합 - at the “high end”: 과학적인 응용  데이타집단들의 다양성과 부피 증가. - 전자 도서관, 대화형 비디오, 인간 유전자 프로젝트, 지구관측시스템 프로젝트 - ... DBMS 활용이 필요해짐  DBMS는 대부분의 전산학 분야를 포괄함 - OS, 언어, 이론, “A”I, 멀티미디어, 논리

데이타 모델  데이타 모델( data model ): 데이타를 기술하기 위한 개념(요소)들의 모임.  스키마( schema): 주어진 데이타 모델에 의거한, 특정 데이타 집단에 대한 기술 내용.  관계 데이타 모델( relational model of data ): 현재 가장 널리 사용되는 데이타 모델. - 주 개념: 릴레이션( relation), 행과 열로 구성된 일종의 테이블 . - 각 릴레이션마다 소속 열, 즉 필드(field)들을 기술하는 스키마가 존재 5

추상화 단계  복수의 뷰(view), 단일 개념(conceptual) (논리적) 스키마, 단일 물리적(physical) 스키마. 뷰는 사용자가 데이타를 보는 관점을 기술. 개념 스키마는 논리적인 구조를 정의(규정). 물리적 스키마는 사용 화일과 인덱스들을 기술. 뷰 1 뷰 2 뷰 3 개념 스키마 물리적 스키마 스키마는 DDL로 정의하고 , 데이타는 DML로 수정/질의한다. 6

예: 대학의 학사 데이타베이스  개념 스키마:  물리적 스키마:  외부 스키마 (뷰): 학생 (학번: 문자열, 이름: 문자열, 로그인: 문자열, 나이: 정수, 평점평균: 실수) 과목 (과목번호: 문자열, 과목명: 문자열, 학점수: 정수) 수강 (학번: 문자열, 과목번호: 문자열, 평점: 문자열)  물리적 스키마: 릴레이션들은 무순서 화일로 저장 학생의 첫 필드에 인덱스 구성  외부 스키마 (뷰): 과목정보 (과목번호: 문자열, 수강인원: 정수) 7

데이타 독립성 응용 프로그램은 데이타의 구성 및 저장 방식의 변화로부터 격리됨 . 데이타 독립성 응용 프로그램은 데이타의 구성 및 저장 방식의 변화로부터 격리됨 . 논리적 데이타 독립성: 데이타의 논리적 구조 변화로부터 보호. 물리적 데이타 독립성: 데이타의 물리적 구조 변화로부터 보호 ☞ DBMS를 이용하는 장점 중 가장 중요한 것에 속함!

병행 제어  좋은 DBMS 성능을 위해서는 사용자 프로그램들을 동시에(병행) 수행하는 것이 필수적. 디스크 접근은 빈번하며 비교적 저속이므로, 사용자 프로그램을 동시에 여러 개 수행함으로써 CPU를 놀리지 않는 것이 중요함.  여러 프로그램의 단위작업을 교차 수행할 때 모순성 발생가능: 예, 잔금확인 도중 수표 결제.  DBMS는 이러한 문제가 없도록 보장: 사용자는 혼자 사용하는 것처럼 인식.

트랜잭션(transaction): DB프로그램의 한 번 수행 사용자는 일정한 종류의 무결성 제약조건을 데이타에 줄 수 있고, DBMS는 이를 집행. 이것이 없으면 DBMS는 데이타의 의미를 이해하지 못한다(e.g., 은행의 이자 계산법 등). 결국 트랜잭션 자체의 일관성은 사용자의 책임이다!

병행 트랜잭션 스케줄링  DBMS 는{T1, ... , Tn} 의 수행이 어떤 직렬 수행 T1’... Tn’과 같도록 보장 트랜잭션은 객체를 판독/기록하기 전에 먼저 그 객체에 대한 로크(lock)를 요청하며, DBMS가 로크를 걸어 줄 때까지 대기한다. 트랜잭션이 끝나면 소지했던 모든 로크를 해제한다.(엄정 로킹 규약) 착상: Ti의 단위작업 (가령, X를 기록)이 Tj (가령’ X를 판독)에 영향을 주면, 그 중 한쪽 (가령 Ti)이 먼저 X의 로크를 얻고, Ti가 끝날 때까지 Tj를 대기시킨다; 이에 따라 트랜잭션을 순서화하는 효과를 본다. Tj가 Y의 로크를 이미 얻었는데 Ti가 나중에 Y의 로크를 요청한다면? (교착상태! ) Ti 나 Tj를 철회시켰다가 재시작한다!

원자성(Atomicity)확보  DBMS는 수행 도중 시스템 장애가 발생하더라도 원자성 (전부 아니면 전무 성질) 보장 . DB를 실제로 고치기 전에, 해당하는 로그 엔트리를 안전한 저장소에 먼저 강제 출력(WAL 규약. OS는 이 기능을 잘 지원하지 못한다.) 장애 발생 이후에는, 부분적으로 수행된 트랜잭션의 효과들을, 로그를 이용하여 무효화(undo).( WAL의 덕택임. 로그 엔트리가 장애때문에 미쳐 저장되지 않았다면, 해당 변경도 DB에 가해지지 않았다! )

로그 (log)  로그에는 다음과 같은 단위 작업들이 기록된다: Ti가 객체를 기록: 이전 값과 새로운 값. • 로그 레코드를 변경 페이지 보다 먼저 기록해야 함! Ti 완결/철회: 이 단위작업을 표시하는 로그 레코드 하나 .  트랜잭션 id에 따라 로그 레코드들을 연결해서, 특정 트랜잭션 무효화가 용이함 (e.g., 교착상태 해소 등).  로그는 보통 “안정적인” 저장장치에 중복 저장해 둔다.  로그 관련 작업( 로크 설정/해제, 교착상태 처리 등 병행제어 관련 작업 포함)들은 모두 DBMS가 알아서 (투명하게) 처리한다. 20

DB 덕분에 행복해지는 사람들...  단말 사용자와 DBMS 공급업체  DB 응용 프로그래머 똑똑한 웹마스터 등  데이타베이스 관리자(DBA) 논리적/물리적 스키마 설계 보안과 권한부여 사항 처리 데이타 가용성, 손상 복구 데이타베이스 튜닝과 확장 DBMS의 작동방식을 알아야 한다! 21

DBMS의 구조  DBMS는보통계층적인 구조임.  병행제어와 복구 부분은 그림에서 빠져 있음. 이 계층들은 병행제어와 복구에 신경을 써야 한다.  DBMS는보통계층적인 구조임.  병행제어와 복구 부분은 그림에서 빠져 있음.  이 그림은 이론일 뿐이고, 시스템마다 구조는 조금씩 다름. 질의 최적화 및 수행 관계 연산자 화일 및 접근 방법 버퍼 관리 디스크 공간 관리 DB 22

요약 보수가 높다! 가장 광범위하고 흥미진진한 분야에 속한다.  DBMS는 대규모 데이타 집단의 관리/질의에 사용된다.  시스템 손상 복구, 병행 접근, 신속한 응용 개발, 데이타 무결성, 보안 등의 장점이 있다.  추상화 단계를 구분하여 데이타 독립성 달성.  DBMS는 보통 계층적인 구조임.  DBA들은 책임 있는 업무를 맡으며 보수가 높다!  DBMS R&D는 전산학 중에서도 가장 광범위하고 흥미진진한 분야에 속한다.