슬라이드 1

Download Report

Transcript 슬라이드 1

Chapter
1. 데이터베이스의 개요
소단원 :
학습목표
학습목표
본 장은 데이터베이스의 전반적인 기초 개념 들을 다루고 있다.
데이터베이스란 무엇인가? 기존의 데이터 관리 시스템의 대명사
인 파일 시스템 과는 어떻게 다른가? 데이터베이스 시스템과 데
이터베이스 관리 시스템 은 어떻게 다르며 각각 어떻게 구성되는
가? 데이터베이스 시스템의 장단점과 종류 등을 알아본다.
Chapter
1. 데이터베이스의 개요
소단원 :
데이터베이스란?
1. 데이터베이스란?
• 정보화 시대의 특징 : 기관의 효율적인 운영을 위해 정보를 수집, 분석한다.
• 정보 : 현실세계의 데이터를 가공 처리해 의사결정의 도구로 변환한 것
• 정보시스템 : 정보를 생성하기 위한 시스템
• 데이터베이스 시스템 : 대량의 정보를 신속하게 수집하고 분석하는 정보시스템
Chapter
1. 데이터베이스의 개요
소단원 :
데이터베이스란?
1.1 데이터베이스의 기본개념
• 통합된 데이터 : 특별한 경우를 제외하고 원칙적으로 중복되지 않게 통합된 데이
터의 집합이다.
• 저장된 데이터 : 컴퓨터 시스템을 이용해 접근 가능한 매체에 저장, 관리된다.
• 운영 데이터 : 특정기관의 의사결정이나 고유한 기능을 수행하기 위해 필요한 데
이터의 집합이다.
• 공용 데이터 : 조직 전체의 응용시스템이 공동으로 이용하고 소유하며 유지하는
데이터이다.
<< DB의 사례 >>
학사업무, 은행업무, 판매관리, 전자도서관, 쇼핑몰의 회원관리…..
Chapter
1. 데이터베이스의 개요
소단원 :
데이터베이스란?
1.2 파일시스템의 특징
<파일 시스템에서 인사관리 업무>
Chapter
1. 데이터베이스의 개요
1.2 파일시스템의 특징(계속)
• 전형적인 데이터 관리 시스템
• 데이터에 대한 응용프로그램의 의존도가 높다.
• 데이터 중복으로 인한 문제점
• 데이터 종속으로 인한 문제점
• 데이터에 대해 다수 사용자의 동시 접근 불가능
• 보안 조치 미흡
• 간단한 검색을 위한 질의어 없다.
• 회복(복구) 기능이 미흡
소단원 :
데이터베이스란?
Chapter
1. 데이터베이스의 개요
1.3 데이터베이스 시스템의 특징과 장,단점
<<데이터베이스 시스템의 특징>>
• 파일시스템의 단점->데이터베이스의 장점
• 동시 접근이 가능하다.
• 실시간 접근이 가능하다.
• 항상 동적으로 변화한다.
• 값에 의해 데이터를 참조한다
소단원 :
DB시스템 장단점
Chapter
1. 데이터베이스의 개요
1.3 데이터베이스 시스템의 특징(계속)
•논리적, 물리적 데이터베이스의 독립성.
소단원 :
데이터베이스란?
Chapter
1. 데이터베이스의 개요
1.3 데이터베이스 시스템의 특징(계속)
<< 데이터베이스 시스템의 장점>>
• 중복성과 불일치 감소
• 사용자 서비스 증가
• 시스템 확장성 용이
• 시스템 개발과 유지, 보수 비용 감소
• 작업의 표준화
• 보안의 향상
• 무결성 향상
• 조직 관리 용이
• 데이터 회복 기능 증가
• 데이터 공유와 동시 접근 가능
소단원 :
DB시스템 장단점
Chapter
1. 데이터베이스의 개요
소단원 :
1.3 데이터베이스 시스템의 특징(계속)
<< 데이터베이스 시스템의 단점>>
• 초기 시스템 구축 비용 증가
• 설계, 유지 보수, 관리 등을 위한 전문가 필요
• 대규모 데이터베이스로 인한 긴 응답 시간
• 통합 데이터의 중앙 집중으로 인한 관리의 복잡성 증가
• 관리의 미흡으로 인한 보안의 취약성
<데이터베이스 시스템 구축을 고려해 봐야 하는 경우>
1. 투자 비용 대 효과 의 검증이 어려운 경우
2. 유지, 보수 계획의 수립, 관리가 어려운 경우
3. 실시간 처리가 필요하지 않는 경우
4. 다수 사용자의 데이터 동시 접근이 필요치 않는 경우 등
DB시스템 장단점
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 구성
2. 데이터베이스 시스템의 구성
데이터 언어(SQL)
<데이터베이스 시스템의 구성요소>
Chapter
1. 데이터베이스의 개요
소단원 :
2.1 데이터베이스
• 데이터베이스 시스템의 가장 근간 을 이룸
• 특별한 방법으로 조직된 대규모의 데이터 자체
 3절 에서 자세히 다룸
2.2 데이터베이스 관리 시스템
• 데이터베이스 시스템의 핵심요소
• 데이터베이스 전반에 걸쳐 모든 작업에 관여함
 4절 에서 자세히 다룸
DB시스템 구성
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 구성
2.3 데이터 언어
• 데이터베이스를 정의하고 접근하기 위한 통신 수단
• 데이터 정의어, 데이터 조작어, 데이터 제어어로 나뉨
• 데이터 정의어(DDL)
스키마(구조) 정의, 데이터베이스 관리자가 주로 이용
개체, 속성, 관계, 제약조건 등을 정의
• 데이터 조작어(DML)
데이터의 삽입, 삭제, 갱신, 조회 작업용 언어
절차적 언어 : 데이터 사용에 대해 절차를 명시하는 방법으로 고급 프로그
래밍 언어로 작성된 응용프로그램 속에 삽입하여 사용
비절차적 언어 : 원하는 대상 데이터만 명시하면 되는 방법으로 대개 질의
어(Query Language)형태로 단말기에서 사용
• 데이터 제어어(DCL)
데이터 보안, 무결성 검사, 데이터 회복, 병행수행 제어, 사용자 관리 등의
작업을 위한 언어
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 구성
2.4 사용자
• 데이터베이스를 이용하는 모든 사람
• 데이터베이스 관리자, 일반 사용자, 응용 프로그래머
• 일반 사용자
주로 질의어를 사용하여 단말기에서 데이터베이스 접근
단순 조작, 데이터 삽입, 삭제, 조회, 갱신 작업
GUI 형태의 사용자 인터페이스 가 많이 개발됨
• 응용 프로그래머
고급 프로그램 언어로 작성된 응용 프로그램 속에 DML을 삽입시켜 데이터베이
스에 접근하는 사용자
• 데이터베이스 관리자
데이터베이스를 생성하고 관리하는 작업
데이터베이스 설계, 운영, 데이터 표준화, 데이터베이스 시스템 관련 자료의 문
서화, 시스템 성능 분석 및 감시, 보안, 유지 보수, 각종 통계 작업 등을 담당한다.
Chapter
1. 데이터베이스의 개요
2.5 하드웨어
• 데이터베이스의 저장 : 대용량 디스크
• 데이터베이스 전용 CPU 와 주기억장치
• 호스트 컴퓨터와 연계하여 동작
소단원 :
DB시스템 구성
Chapter
1. 데이터베이스의 개요
소단원 :
DB 집중탐구
3. 데이터베이스 집중탐구
3.1 시스템 데이터베이스와 사용자 데이터베이스
• 시스템 데이터 베이스
사용자의 데이터베이스 작업을 돕는 존재.
데이터 사전 또는 시스템 카탈로그라고 함.
데이터베이스의 모든 객체들에 대한 정의, 조작 등과 관련된 정보들을 유지,
관리하는 특별한 데이터베이스이다.
• 사용자 데이터베이스
사용자가 접근하는 데이터베이스
개체와 개체를 구성하는 속성, 또 각 개체들 간의 관계, 제약조건 등에 대한 정
보를 가지고 있는 데이터베이스이다.
Chapter
소단원 :
1. 데이터베이스의 개요
DB 집중탐구
3.1 시스템 데이터베이스와 사용자 데이터베이스(계속)
• 사용자 데이터베이스의 구성
스키마(내포, intension) : 데이터베이스의 구조
상태(외연, extension) : 데이터베이스의 값
항목
아이디
패스워드
성명
나이
생일
주소
형식
Char(20)
Char(20)
Char(20)
Smallint
date
Char(50)
Primary
key
Not null
Not null
Default
(19)
제약조건
<고객 스키마(내포)>
아이디
패스워드
성명
나이
생일
주소
Wow
*******
이창수
37
1967-**-**
부산 북구 화명동 112
tiger78
*******
김학수
24
1980-**-**
전남 남원시 원동면 78
joyful20
*******
최민
22
1982-**-**
서울 강남구 보길동 55
rulru
*******
이정상
27
1977-**-**
제주시 제주읍 성황리 51
<고객 상태(외연)>
Chapter
1. 데이터베이스의 개요
소단원 :
DB 집중탐구
3.2 3단계 데이터베이스와 데이터의 독립성
• ANSI/SPARC 에서 제안한 3단계 데이터베이스
외부단계(external level) : 각 사용자의 응용 view, 여러 개 존재 가능
개념단계(conceptual level) : 사용자 전체의 논리적 view, 하나만 존재
내부단계(internal level) : 사용자 전체의 물리적인 view, 하나만 존재
• 사상(mapping)과 데이터 독립성
사상은 각 단계 사이의 연결 개념으로 DBMS에 의해 지원됨
각 단계는 독립성을 보장하므로 다른 레벨에 영향을 주지 않음
데이터베이스 사용 도중에 저장구조의 변경, 저장 매체의 변경도 가능
여러 응용시스템들은 각각의 특성에 맞는 뷰를 사용 가능
Chapter
1. 데이터베이스의 개요
소단원 :
3.2 3단계 데이터베이스와 데이터의 독립성(계속)
DB 집중탐구
Chapter
1. 데이터베이스의 개요
소단원 :
DBMS 집중탐구
4. 데이터베이스 관리시스템(DBMS) 집중탐구
4.1 DBMS의 기능
• 데이터베이스 생성 기능
개체, 인덱스, 트리거, 프로시저 등
• 데이터베이스 조작 기능
데이터 삽입, 수정, 삭제, 조회
• 데이터베이스 관리 기능
사용자, 보안, 백업, 복구, 병행수행 제어 등
• 사용자와 데이터베이스 사이에 위치
• 논리적 데이터베이스와 물리적 데이터베이스 사이의 독립성 제공
• 직관적이고 편리한(GUI) 인터페이스 지원
• 데이터베이스 전용 언어(SQL) 지원
Chapter
1. 데이터베이스의 개요
4.1 DBMS의 기능-계속
응용 프로그램 / 사용자
응용 개발 도구들
DBMS
운영체제
하드웨어
<컴퓨터 시스템에서 DBMS의 위치>
소단원 :
DBMS 집중탐구
Chapter
1. 데이터베이스의 개요
소단원 :
DBMS 집중탐구
4.2 DBMS의 구성요소
• 사용자의 요구에 대해 3단계 데이터베이스 간의 사상정보로 데이터베이스에
접근
Chapter
1. 데이터베이스의 개요
소단원 :
DBMS 집중탐구
4.2 DBMS의 구성요소(계속)
• DDL 컴파일러 : 데이터 정의어를 이용한 작업을 번역하여 시스템 카탈로그에 저장
• 질의어 처리기 : SQL문을 이용한 삽입, 삭제, 조회, 갱신 작업을 처리하기 위해 DML
구문을 분해하여 DML 컴파일러에게 전송
• DML 컴파일러 : 질의어 처리기에서 받은 DML 구문을 실행코드로 변환하여 런타임 데
이터베이스 처리기에 넘겨줌
• 런타임 데이터베이스 처리기 : 저장된 데이터베이스에 직접적인 검색, 갱신 등의 작업
수행
• 트랜잭션 관리자 : 트랜잭션의 병행 제어, 장애에 대한 자동 복구, 제약조건 검사 등을
수행
• 저장 데이터 관리자 : 저장된 데이터베이스나 시스템 카탈로그에 대한 직접적인 접근
을 관리, 운영체제의 입출력 모듈을 이용하여 작업함
Chapter
1. 데이터베이스의 개요
5. 데이터베이스 시스템의 종류
• 데이터 모델에 따른 종류
 계층형 데이터베이스
 망형 데이터베이스
 관계형 데이터베이스
 객체지향형 데이터베이스
 객체관계형 데이터베이스
• 접속 유형에 따른 종류
 중앙 집중식 데이터베이스
 분산 데이터베이스
 클라이언트-서버 데이터베이스
소단원 :
DB시스템 종류
Chapter
1. 데이터베이스의 개요
소단원 :
5.1 데이터 모델에 따른 종류-계층형 데이터베이스
• 데이터베이스의 논리적 구조가 Tree 형태
• 부모-자식 관계로 개체가 연결됨. (루트 개념, 방향성 존재)
• 구조가 단순하고 성능이 뛰어나다.
• 관계의 방향성으로 구조변경은 어렵다.
• 예 : 1960년대 IBM 의 IMS
<계층형 데이터베이스 예제>
DB시스템 종류
Chapter
1. 데이터베이스의 개요
소단원 :
5.1 데이터 모델에 따른 종류-망형 데이터베이스
• 데이터베이스의 논리적 구조가 Network 형태
• 오너- 멤버 관계로 개체가 연결됨. (cycle 존재, 방향성 존재)
• 독립적인 구조 변경이 어렵다.
• 예 : 1960년대 하니웰 의 IDS
<망형 데이터베이스 예제>
DB시스템 종류
Chapter
소단원 :
1. 데이터베이스의 개요
DB시스템 종류
5.1 데이터 모델에 따른 종류-관계형 데이터베이스
• 데이터베이스의 논리적 구조가 Table 형태
• 개체, 관계가 모두 테이블로 표현 (방향성 없고 단순)
• 구조 변경이 쉽다.
• 예 : 1970년대 IBM의 Ingress, System R, 현대의 MS-SQL Server,
Oracle, Sybase, DB2, Informix 등
<고객 개체>
아이디
<상품 개체>
상품코드
<주문 관계>
아이디
패스워드
성명
품명
상품코드
나이
가격
수량
<관계형 데이터베이스 예제>
생일
납품일자
구입일자
주소
업체
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 종류
5.1 데이터 모델에 따른 종류-객체지향 데이터베이스
• 객체와 관련된 데이터와 코드를 캡슐화 한 것
• 동일한 부류의 객체끼리는 class화 해서 sub-class, super-class 로
조직됨.
• CAD, CASE, MDB, OIS 등 기존 데이터베이스가 지원하지 않은 데이
터 처리 영역으로 확장된 것
• 예 : 대개 기존의 관계 데이터 데이터베이스에 객체지향 개념을 추가
함. Objectivity, O2, Versant, IBM DB2, Informix, Oracle 9i
<객체지향형 데이터베이스 예제>
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 종류
5.1 데이터 모델에 따른 종류-객체관계형 데이터베이스
• 관계 데이터베이스의 장점과 객체 지향형 데이터베이스의 장점을 접목한 모
델이다.
• 기존의 관계 데이터베이스와 호환성이 높다
• 관계데이터베이스의 단점인 반복그룹, 포인터 추적, 자료형의 문제점 해결
• 객체지향 데이터베이스의 복잡한 설계 문제를 상속과 캡슐화 개념을 적용하
여 해결
• 예 : Unisql, Object Store,IBM DB2, Informix, Oracle 9i
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 종류
5.2 접속유형에 따른 종류-중앙집중식 데이터베이스
• 전체 데이터베이스 시스템이 하나의 시스템으로 구축된 것
• 다수 사용자용이나 단일 사용자용으로 구성됨
• 다수 사용자용은 병행 수행을 위해 대개 다수의 CPU 를 이용함
<중앙 집중형 데이터베이스 예제>
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 종류
5.2 접속유형에 따른 종류-분산 데이터베이스
• 전체 데이터베이스 시스템이 지역적으로 분리되어 여러 시스템으로 구축된 것
• 워크스테이션이나 대형 시스템으로 네트워크 상에 구축
• 특정 지역내의 지역 트랜잭션과 전체 시스템 영역에서의 전역 트랜잭션이 존재
<분산 데이터베이스 예제>
Chapter
1. 데이터베이스의 개요
소단원 :
DB시스템 종류
5.2 접속유형에 따른 종류 - 클라이언트-서버 데이터베이스
• 전체 데이터베이스 시스템 내에 데이터베이스서버가 하나 존재
• 각 클라이언트는 PC 나 워크스테이션을 이용해 서버에 접근
• 데이터베이스 서버의 역할 : DBMS 운영, 권한검사, 동시성 제어, 회복,
무결성 유지, 데이터 접근 관리, 클라이언트 최적화 등
• 클라이언트의 역할 : 폼, 보고서 등 사용자 인터페이스 관리, 응용 프로그램 수행 등
<클라이언트-서버 데이터베이스 예제>
Chapter
1. 데이터베이스의 개요
소단원 :
단원 요약
단원요약 1
★ 데이터베이스는
, 저장, 운영, 공용 데이터의 집합
?
이다. 예를 들어 대학에서 학생들의 신상, 수강 등의 관리를
위한 학사관리 데이터베이스 시스템과 도서의 대출, 반납 등
의 작업을 위한
등이 있다.
?
답: 통합, 도서관리시스템
단원요약 2
★ 파일 시스템의 대표적인 단점은 데이터의 중복성과
?
을 들 수 있는 데이터베이스에서 이 문제는 해결된다. 데이터
베이스 시스템은 데이터베이스,
, 데이터 언어, 사
?
용자, 데이터베이스 컴퓨터 등으로 구성된다.
답: 종속성, DBMS
Chapter
1. 데이터베이스의 개요
소단원 :
단원 요약
단원요약 3
★ DBMS의 대표적인 기능은 개체, 인덱스 트리거 등을 생성하
는
, 데이터의 삽입, 삭제, 갱신, 조회 등을 지원하는
?
조작기능, 스키마 관리, 사용자와 트랜잭션 관리 등의 관리 기능
이 있다.
답: 정의기능
단원요약 4
★ 데이터베이스는 데이터 모델에 따라 계층형, 망형, 관계형,
객체 지향형 데이터베이스로 나누는데 이중 현대에서 가장 널리
쓰이는 모델은
이다. 또한 접속 형태에 따라 중앙집
?
중식 데이터베이스,
데이터베이스, 클라이언트-서
?
버 데이터베이스로 나뉜다.
답: 관계형, 분산