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 ★ 데이터베이스는 데이터 모델에 따라 계층형, 망형, 관계형, 객체 지향형 데이터베이스로 나누는데 이중 현대에서 가장 널리 쓰이는 모델은 이다. 또한 접속 형태에 따라 중앙집 ? 중식 데이터베이스, 데이터베이스, 클라이언트-서 ? 버 데이터베이스로 나뉜다. 답: 관계형, 분산