데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공.

Slides:



Advertisements
Similar presentations
제5장제5장 데이터베이스처리. Q1 데이터베이스의 목적은 무엇인가 ? Q2 데이터베이스는 무엇을 포함하는가 ? Q3 DBMS 란 무엇이며, 어떻게 사용하는가 ? Q4 데이터베이스 애플리케이션이 무엇인가 ? Q5 전사적인 것과 개인적인 DBMS 의 차이점은 무엇인가 ?
Advertisements

더존다스 경영전략과 비젼 1 ERP 개발부문
널 (null) 의 처리 널을 검색하는 방법 형식 예 ) takes 테이블에서 아직 학점이 부여되지 않은 학생의 학번을 검색 is null is not null ( 질의 64) select stu_id from takes where grade is null.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction to dATABASE
2009년 IT인재개발원 [연수생 모집요강]
Chapter 7: Entity-Relationship 모델
생산관리 시스템 I 현대로템 직무능력 향상 교육 - 7주차
데이터베이스 시스템.
의사결정 향상을 위한 빅데이터 활용 강윤선 김민성.
ERP(Enterprise Resource Planning)
안재훈 기업고객사업본부/기술사업부 한국마이크로소프트
DBMS실습(I) 데이터베이스 기본개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Toad for SQL Server 제품 소개서 – 프로넷소프트㈜.
동호회 구축 제안서 인터넷전문가그룹 4biz.
 DBMS의 발전 배경(1) 화일 중심 자료처리(DP)시스템의 한계 ☞ Note
12. 데이터베이스 설계.
소프트웨어 공학 (Software Engineering)
Chapter 01 데이터베이스 시스템.
DB2.
데이터 베이스 란? 데이터 베이스 기능 데이터 베이스 관리 시스템 정보시스템의 구성 관게형 데이터 베이스
관계 데이터 모델과 제약조건 개념, 특성, 키, 무결성 제약조건.
소프트웨어 공학 (Software Engineering)
제 8장. 멀티미디어 데이터베이스 및 정보검색 시스템
NTAS 소개 (Network Transaction Application Server)
제1장 기업 정보화.
3. 데이터베이스 시스템의 구성.
교육팀 도경모 Big.
Data Modeling Database 활용을 위한 기초 이론 Database의 개요 Data Modeling
Unified Communications Cisco Korea
Database 소개.
담당교수 : 이형원교수님 컴퓨터응용과학부 정은영
소프트웨어시스템 실험 Software Systems Lab. 데이터베이스 기초
(Network Transaction Application Server)
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
자격증 모의 테스트 시스템 담당 교수 : 이 상 문 교수님 팀명 : CSCLAB
1장. 데이터베이스 시스템 컴퓨터를 사용하여 정보를 수집하고 분석하는데 데이터베이스 기술이 활용되고 있음
트랜잭션(Transaction) I DBMS는 다수 사용자(Multi User) 용 대표적인 DB 응용
트랜잭션 처리(Transaction Processing)
Fundamentals of Database Systems R. A. Elmasri and S. B. Navathe
설계 단계 개념적 설계 ER 다이어그램 논리적 설계
정보처리기사 8조 신원철 양진원 유민호 이기목 김다연 윤현경 임수빈 조현진.
Database Programing 이름 : 김 수 종 학번 :
4. 관계 데이터베이스 (Relational Database)- 7, 8장
데이터베이스 (Databases) 과목 개요 문양세 강원대학교 IT대학 컴퓨터과학전공.
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
Part 5. MS-SQL Server Basic
1조 김성수 백현기 석광우 김지원 박광연.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
McGraw-Hill Technology Education
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
01. 데이터베이스와 SQL 개요.
McGraw-Hill Technology Education
10장. 회복과 병행 제어 트랜잭션 장애와 회복 병행 제어.
데이터베이스응용 오라클 개념 2015년 1학기 동서울대학교 컴퓨터소프트웨어과.
Copyrightⓒ 1999 서울산업대학교 전자계산학과 석상기 교수
제 8장 데이터베이스.
데이터베이스 (Database) 과목 개요 문양세 강원대학교 IT대학 컴퓨터과학전공.
제6장 소프트웨어와 정보시스템 김진수
1. 시스템 카탈로그 (1) 시스템 카탈로그의 정의 ① 데이터베이스 시스템에서 데이터가 실제로 읽혀지거나 수정되기 전에 먼저 참고 되는 파일 ② 카탈로그에 저장된 데이터를 메타데이터라고 함 ③ 카탈로그가 생성되면 자료 사전 (Data Dictionary) 에 저장 되므로.
1장. 서 론 데이터베이스의 개요 모델의 종류 관계형 모델과 객체 지향형 데이터베이스 SQL이란 무엇인가?
4. 데이타베이스 시스템의 구성.
홈페이지 제안서
데이터베이스 (Databases) 데이터베이스 소개 문양세 강원대학교 IT대학 컴퓨터과학전공.
3장. 데이터베이스 시스템 데이터베이스 시스템의 정의 데이터베이스의 구조 데이터베이스 사용자 데이터 언어
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
관광산업에서의 e-CRM 활동에 관한 탐색적 연구
1 장. 데이터베이스와 데이터베이스 사용자 1.1 개요 1.2 데이터베이스의 예 1.3 데이터베이스의 특징
2장. 데이터베이스 시스템 개념과 아키텍처 2.1 데이터 모델, 스키마, 인스턴스
Presentation transcript:

데이터베이스 (Database) 데이터베이스와 데이터베이스 사용자 문양세 강원대학교 IT대학 컴퓨터과학전공

강의 내용 데이터베이스 개요 데이터베이스의 예 데이터베이스의 특징 데이터베이스 사용자의 분류 데이터베이스 무대 뒤의 사람들 데이터베이스와 데이터베이스 사용자 데이터베이스 개요 데이터베이스의 예 데이터베이스의 특징 데이터베이스 사용자의 분류 데이터베이스 무대 뒤의 사람들 데이터베이스 관리 시스템(DBMS)의 기능 데이터베이스 사용의 효과 데이터베이스 응용의 간략한 역사 데이터베이스를 사용하지 않아도 좋은 경우

데이터베이스 개요 (1/3) 데이터 (data) 데이터베이스 (database) 데이터베이스와 데이터베이스 사용자 데이터 (data) 의미를 가지면서 기록될 수 있는 알려진 사실 행정 데이터, 의료 데이터, 성적 데이터, 실험 데이터, 무수히 많은 … 데이터베이스 (database) 서로 연관이 있는 데이터들의 모임 간단한 데이터베이스의 예: 핸드폰에 저장된 전화번호 데이터 데이터베이스 관리 시스템 (DBMS: database management system) 데이터베이스의 생성과 관리를 담당하는 소프트웨어 패키지 DBMS는 운영체제와 함께 중요한 시스템 소프트웨어 패키지로 분류됨 대표적 DBMS 상품: Oracle, Microsoft MS-SQL (MySQL)

데이터베이스 개요 (2/3) 데이터베이스 시스템 (database system) 데이터베이스와 데이터베이스 사용자 데이터베이스 시스템 (database system) 데이터베이스 자체와 이를 관리하는 소프트웨어(DBMS+응용 프로그램)를 모두 칭하는 용어 통상 DBMS와 구분없이 사용함 작은 세계 (mini-world, UoD: Universe of Database) 데이터베이스 구축의 대상이 되는 실세계(real world)의 일부분 데이터베이스는 특정한 목적을 위해 구축 및 운용되며, 이는 그 목적에 적합한 작은 세계를 구축하는 것에 해당 예제1: 스마트폰의 전화번호부 데이터베이스 (전화 번호에 대한 작은 세계를 이룸) 예제2: 영화 데이터베이스 (영화 정보에 대한 독특한 도메인을 가짐)

데이터베이스 개요 (3/3) 방대한 데이터베이스 규모 (2009년 기준) 데이터베이스와 데이터베이스 사용자 방대한 데이터베이스 규모 (2009년 기준) 미국 납세자의 세금 데이터베이스: 1억명 x 5자료/명 x 400바이트/명/년/자료 x 3년/명  800 기가바이트 Amazon.com 2000만개 이상 품목을 2TB의 DB에 저장 (200대 서버로 관리) 매일 1500만명 이상이 방문

데이터베이스 시스템 환경 사용자/프로그래머 데이터베이스 시스템 응용 프로그램/질의 DBMS 질의/프로그램을 수행하는 SW + 데이터베이스와 데이터베이스 사용자 사용자/프로그래머 데이터베이스 시스템 응용 프로그램/질의 DBMS 질의/프로그램을 수행하는 SW + 디스크를 접근/관리하는 SW 메타 데이터 + 데이터베이스 [교재 그림 1.1 참조]

대학 정보 데이터베이스 예제 (1/4) 엔티티 종류 엔티티 사이의 관계(relationship) STUDENT COURSE 데이터베이스와 데이터베이스 사용자 엔티티 종류 STUDENT COURSE (COURSE의) SECTION DEPARTMENT INSTRUCTOR 엔티티 사이의 관계(relationship) SECTION은 특정 COURSE에 속한다. STUDENT는 SECTION에 참가한다. COURSE는 선수 COURSE가 있다. INSTRUCTOR는 SECTION을 강의한다. COURSE는 DEPARTMENT에서 제공한다. STUDENT는 DEPARTMENT를 전공한다.

대학 정보 데이터베이스 예제 (2/4) STUDENT Name Smith Brown StudentNumber 17 8 데이터베이스와 데이터베이스 사용자 STUDENT Name Smith Brown StudentNumber 17 8 Class 1 2 Major CS COURSE CourseName Intro to Computer Science Data Structures Discrete Mathematics Database CourseNumber CS1310 CS3320 MATH2410 CS3380 CreditHours 4 3 Department CS MATH SECTION SectionIdentifier 85 92 102 112 119 135 CourseNumber MATH2410 CS1310 CS3320 CS3380 Semester Fall Spring Year 04 05 Instructor King Anderson Knuth Chang Stone

대학 정보 데이터베이스 예제 (3/4) GRADE_REPORT PREREQUISITE StudentNumber 17 8 데이터베이스와 데이터베이스 사용자 GRADE_REPORT PREREQUISITE StudentNumber 17 8 SectionIdentifier 112 119 85 92 102 135 Grade B C A CourseNumber CS3380 CS3320 PrerequisiteNumber CS3320 MATH2410 CS1310

대학 정보 데이터베이스 예제 (4/4) 데이터베이스와 데이터베이스 사용자 엔티티나 관계는 궁극적으로 테이블 형태로 나타나고 있음  데이터 모델링 방법에 따라서 그 형태가 달라질 수 있음 앞의 예에서 STUDENT, COURSE, SECTION, DEPARTMENT, INSTRUCTOR는 엔티티에 해당함 반면에, GRADE_REPORT, PREREQUISITE는 관계에 해당함  둘 모두 궁극적으로 테이블 형태로 나타났음을 확인할 수 있음 데이터베이스 조작(질의, 갱신)의 예 ‘Smith’의 성적을 검색하라. (질의) 데이터베이스 과목의 선수 과목을 검색하라. (질의) ‘Smith’를 2학년 학생으로 변경하라. (갱신) 지난 학기 ‘데이터베이스’ 과목에서 ‘Smith’의 성적을 ‘A’로 변경하라. (갱신)

파일 처리 vs 데이터베이스 파일 처리 데이터베이스 응용 프로그램 작성(설계)자가 데이터(즉, 파일) 구조를 결정 데이터베이스와 데이터베이스 사용자 파일 처리 응용 프로그램 작성(설계)자가 데이터(즉, 파일) 구조를 결정 응용 프로그램은 결정된 구조에 따라 데이터를 접근 및 갱신 데이터 공유의 개념이 없음(적음) 예: 성적 관리부서와 회계 부서가 각기 데이터를 구축하고, 각기 응용 프로그램을 작성하여 사용함  학생/직원 정보의 중복 데이터베이스 데이터는 한 곳에 저장되고, 여러 응용 프로그램이 목적에 맞게 이를 사용함 데이터 공유의 개념이 기본임 예: 데이터는 데이터베이스에 관리하고, 각각의 응용(성적 관리, 회계)은 이를 필요에 따라서 사용함

데이터베이스의 특징 (1/4) 데이터베이스 시스템의 자기 기술성 (self-describing) 데이터베이스와 데이터베이스 사용자 데이터베이스 시스템의 자기 기술성 (self-describing) 데이터베이스 카탈로그(catalog)에는 메타 데이터 (meta-data)가 저장 메타 데이터 (meta-data)란?  데이터베이스 자체에 대한 정보 (테이블 구조, 테이블들이 저장된 위치, 인덱스 형성 체계 등 내부적 정보 관리) [교재의 그림 1.3 참조] 프로그램과 데이터의 분리  프로그램-데이터 독립성 데이터베이스 내의 데이터 저장 구조가 변경되어도 데이터베이스 응용 프로그램은 영향을 받지 않는 (변경될 필요가 없는) 성질  데이터 독립성을 높임 병원 DB 예제: CT 촬영 데이터는 하나이나 이를 이용하는 사용자(SW)는 다양함

데이터베이스의 특징 (2/4) 데이터 추상화 (data abstraction) 데이터에 대한 다양한 뷰(view) 제공 데이터베이스와 데이터베이스 사용자 데이터 추상화 (data abstraction) 데이터모델(data model)을 사용하여 저장 구조의 자세한 내용은 사용자로부터 은닉시키고, 사용자에게는 각자의 요구에 맞는 개념적인 뷰(view)만을 제공 [교재의 그림 1.4(내부 저장 방식) 및 그림 1.2(개념적 뷰) 참조] 비단 DB뿐 아니라, 운영체제 등에서도 추상화 개념이 많이 사용됨  윈도우 예 데이터에 대한 다양한 뷰(view) 제공 사용자는 전체 데이터베이스 보다는 관심이 있는 데이터베이스의 일부를 뷰로 정의할 수 있음 병원 DB 예제: 의사는 진료 기록, CT 촬영 데이터에 관심이 있는 반면에, 원무과에서는 접수, 수납 등의 데이터에 관심이 있음 [다음 페이지 혹은 교재의 그림 1.5 참조]

데이터베이스의 특징 (3/4) 대학교 데이터베이스에 대한 두 가지 뷰 Student Section Grade_Report 데이터베이스와 데이터베이스 사용자 대학교 데이터베이스에 대한 두 가지 뷰 (a) 학생의 성적 뷰 (transcript: 미국의 성적증명서) (b) 과목의 선수과목 뷰 PREREQUISITES CourseName Database Data Structures Prerequisites COSC3320 MATH2410 COSC1310 CourseNumber 3380 3320 (b) TRANSCRIPT StudentNAME Smith Brown Course Number COSC3380 Grade C B A Semester Fall Spring Year 92 91 SectionId 119 112 85 102 135 (a) Student Section Grade_Report Course Prerequiste

데이터베이스의 특징 (4/4) 데이터의 공유와 다수 사용자 트랜잭션 처리 데이터베이스와 데이터베이스 사용자 데이터의 공유와 다수 사용자 트랜잭션 처리 여러 사용자가 (동시에) 동일한 데이터베이스 공유 가능하도록 지원 동시에 사용하더라도 일관성(consistency)을 보장하기 위한 동시성 제어(concurrency control) 기능 제공 예제: 비행기 좌석 예약 시, 한 좌석은 한 사람에게만 배정되어야 함 트랜잭션: DB 작업을 수행하는 단위 프로세스 (예: 계좌이체, 좌석예약) 트랜잭션의 주요 성질: 고립성(isolation): 트랜잭션이 마치 혼자서 수행된 것 같아야 함 원자성(atomicity): 트랜잭션은 수행되었거나, 아님 말거나 (all or nothing)

데이터베이스 사용자의 분류 (1/3) 데이터베이스 관리자 (database administrator, DBA) 데이터베이스와 데이터베이스 사용자 데이터베이스 관리자 (database administrator, DBA) 데이터베이스 시스템의 관리를 총괄하여 책임진 사람 DBMS 자체는 물론 데이터베이스 구축, 관리에 해박한 지식과 많은 경험이 요구됨  급여도 상대적으로 높음

데이터베이스 사용자의 분류 (2/3) 데이터베이스 설계자 (database designer) 최종 사용자 (end user) 데이터베이스와 데이터베이스 사용자 데이터베이스 설계자 (database designer) 데이터베이스의 설계를 책임진 사람  (요구 분석 과정을 거쳐서) 관리할 데이터를 선정하고, 저장할 구조를 결정 실세계 현상을 모델링하는 기술이 요구됨 (ERD, FD, 관계형 데이터베이스 이해) 최종 사용자 (end user) 데이터베이스에 대하여 질의하고, 변경하고, 보고서를 작성하는 사람 캐주얼 사용자(casual end users): 비정기적인 데이터베이스 사용자, 매번 다른 형태의 정교한 질의를 수행, 중상급의 관리자 초보 사용자(parametric or naive users): 미리 일정한 용도로 작성된 프로그램을 사용하는 사용자; 은행 점원이나 여행사 예약 담당자 등 (기작성 트랜잭션 사용) 전문 사용자(sophisticated end users): 엔지니어, 과학자, 비즈니스 분석가 등으로, DBMS의 고급 기능을 이용하여 복잡한 응용을 개발 독자적 사용자(stand-alone end user): 자신만의 개인 DB를 구축 관리하는 사용자  메뉴나 GUI를 사용하여 자신만의 데이터베이스를 관리/이용

데이터베이스 사용자의 분류 (3/3) 시스템 분석가 / 응용 프로그래머 (소프트웨어 공학자) 데이터베이스와 데이터베이스 사용자 시스템 분석가 / 응용 프로그래머 (소프트웨어 공학자) 초보 사용자를 위하여 잘 정의된 기능의 응용을 분석/설계하고 구현하는 사람  (초보 사용자의) 요구 분석을 통한 트랜잭션의 명세를 작성 그래픽 인터페이스 등의 구현을 통해 최종 사용자의 이용 편의성을 제공  DBMS의 내부 기능을 잘 이해하고 있어야 함

무대 뒤의 사람들 (1/2) (이용, 관리하는 사람 말고) DBMS, 시스템 환경을 설계하고 개발하는 사람 데이터베이스와 데이터베이스 사용자 (이용, 관리하는 사람 말고) DBMS, 시스템 환경을 설계하고 개발하는 사람 DBMS 설계 및 구현자 DBMS 소프트웨어 자체를 설계하고 구현하는 업무를 담당하는 사람들 용용 및 시스템 프로그래밍에 익숙하고, DB 이론에 해박한 전문가 개발하는 모듈의 예: 카타로그 구현, 질의어 처리, 데이터 접근과 버퍼링, 동시성 제어, 회복, 보안 관리

무대 뒤의 사람들 (2/2) 도구 개발자 운영 및 유지 보수 요원 데이터베이스와 데이터베이스 사용자 도구 개발자 데이터베이스를 사용하는 데에 필요한 도구들을 설계하고 구현하는 사람들 도구의 예: 데이터베이스 설계 및 구축 도구, 성능 모니터링 도구, 자연어 혹은 그래픽 인터페이스, 시뮬레이션 및 테스트 데이터 생성기 일반적으로 DBMS 엔진 업체와는 별도의 (많은) 업체가 개발하여 판매 운영 및 유지 보수 요원 데이터베이스 시스템을 운영하는 데 필요한 하드웨어 및 소프트웨어의 운영 및 유지 보수 담당 요원들 전문적 지식은 부족해도, 시스템의 청소, 백업 파일 관리 등 꼭 필요한 업무 수행

DBMS의 장점 (1/5) 데이터 중복성(redundancy)의 제어 및 중복의 최소화 데이터베이스와 데이터베이스 사용자 데이터 중복성(redundancy)의 제어 및 중복의 최소화 (동일한 데이터가 이곳 저곳에 중복되어 저장되는 것을 방지) 중복 제어를 통한 데이터의 일치성(consistency) 보장 중복 최소화를 통한 메모리 낭비 방지 제어된 중복과 데이터 불일치 제어된 중복: 성능 향상을 위해서, 응용 프로그램(혹은 사용자) 책임하에 데이터를 중복 관리한다. 데이터 불일치: 중복 저장으로 인해 발생하는 불일치 예제: 다음 페이지 참조 (그림 1.6과 그림 1.2를 비교해 볼 것)

DBMS의 장점 (2/5) 제어된 중복과 데이터 불일치의 예 데이터베이스와 데이터베이스 사용자 제어된 중복과 데이터 불일치의 예 (a) 제어된 중복성: 성능 향상을 위하여 GRADE_REPORT 화일에 StudentName과 CourseNumber를 포함시키고, 두 속성의 값이 Student에서의 두 속성값과 일치하도록 DBMS가 보장함 (b) 제어되지 않은 중복성: 그림 1.2의 STUDENT 레코드와 불일치하는 GRADE_REPORT 레코드의 예 (17번 학생은 Brown이 아니라 Smith 임) GRADE_REPORT StudentNumber 17 8 SectionIdentifier 112 119 85 92 102 135 Grade B C A StudentName Smith Brown CourseNumber MATH2410 COSC1310 COSC3320 COSC3380 (a) GRADE_REPORT StudentNumber 17 SectionIdentifier 112 Grade B StudentName Brown CourseNumber MATH2410 (b)

DBMS의 장점 (3/5) 보안 기능 지속성 기억 공간 제공 (특히, 객체지향 DB) 효율적 질의처리를 위한 저장 구조 제공 데이터베이스와 데이터베이스 사용자 보안 기능 권한 없는 사용자의 데이터 접근을 통제 (예: 재정 정보에 대한 접근 권한, 성적 입력 및 수정 권한) 데이터의 중요성에 따른 다양한 형태의 접근 권한을 부여 다양한 권리를 가지는 다양한 접근 제어  대표적 특권: DBA가 가진 신규 사용자 생성, 데이터 접근 권한 부여 지속성 기억 공간 제공 (특히, 객체지향 DB) (프로그램 수행이 끝나더라도 관련 데이터/객체는 그 값을 저장하고 있어야 함) 데이터를 데이터베이스에 영구적으로 보관/저장 데이터를 관리하는 프로그램 객체 자체도 지속성 기억 공간에 저장/관리 효율적 질의처리를 위한 저장 구조 제공 레코드의 신속한 검색을 위해 인덱스 제공 질의 처리 최적화 모듈을 통해 최적의 질의 수행 계획 선택

DBMS의 장점 (4/5) 백업(backup)과 회복(recovery) 기능 제공 다수의 사용자 인터페이스 제공 데이터베이스와 데이터베이스 사용자 백업(backup)과 회복(recovery) 기능 제공 시스템 고장 시에도 데이터의 일관성을 보장 다수의 사용자 인터페이스 제공 캐주얼 사용자에게는 질의어 I/F, 응용 프로그래머에게는 프로그래밍 언어 I/F, 초보 사용자에게는 폼 등의 GUI I/F 제공 데이터 간 복잡한 관계의 체계적 표현 테이블간의 복잡하고 다양한 관련성을 표시  그림 1.2에서 STUDENT는 GRADE_REPORT와, SECTION은 COURSE와 관련됨 데이터베이스의 무결성(integrity) 제약 조건의 시행 각 속성 값이 가져야 하는 제약 조건 (예: 나이는 0세 – 200세) 테이블간의 가져야 하는 제약 조건 (SECTION의 한 레코드는 COURSE의 한 레코드와 …) 또 다른 예제: 생년월일과 나이의 관계, 키 값에 대한 제약

DBMS의 장점 (5/5) 규칙을 사용한 추론과 수행 동시성 제어 기능 제공 (트랜잭션 개념) 데이터베이스와 데이터베이스 사용자 규칙을 사용한 추론과 수행 연역적 규칙을 이용하여 데이터베이스 저장된 사실로부터 새로운 정보를 추론 (예: 생년월일을 바탕으로 자동적으로 나이를 갱신) 자동으로 수행되는 능동 규칙의 정의 및 실행  트리거 기능 제공, 저장된 절차(stored procedure)의 수행 예: 학생의 과목 성적이 변경되면, 그 학생의 총점과 평균을 변경한다. 동시성 제어 기능 제공 (트랜잭션 개념) 여러 사용자가 동시에 DB를 접근하여 효율적으로 처리 동시 접근 시에도 데이터의 손실 방지, 일관성 보장 데이터 독립성 제공 (데이터와 프로그램의 분리) 데이터베이스를 쉽게 사용할 수 있게 함 응용 프로그램 개발이 용이 내부 저장 구조를 변경하기 용이 프로그램 및 데이터베이스 유지 보수가 용이

데이터베이스 사용의 효과 (1/2) 표준화된 데이터 관리 응용 프로그램의 개발 시간 단축 데이터 구조 변경에 융통성 부여 데이터베이스와 데이터베이스 사용자 표준화된 데이터 관리 조직 내 모든 부서에서 표준화된 문서 관리로 업무 효율성 증대 부서, 프로젝트, 사용자 사이의 의사 교환 및 협조가 용이 응용 프로그램의 개발 시간 단축 응용 프로그램의 상당한 부분을 DBMS 및 관련 소프트웨어가 처리함 DBMS 사용하면 전통적 파일 시스템 사용시보다 1/4 ~ 1/6 정도로 개발 시간 단축 데이터 구조 변경에 융통성 부여 DB 내부의 자료 구조가 (어떠한 이유로) 변경되어도 사용자에 대한 영향은 거의 없음 현재의 DBMS는 기존 데이터나 응용 프로그램에 영향을 주지 않고 내부 구조 변경이 가능함

데이터베이스 사용의 효과 (2/2) 항상 최신의 정보를 제공 (실시간성) 규모의 경제성 (economics of scale) 데이터베이스와 데이터베이스 사용자 항상 최신의 정보를 제공 (실시간성) 사용자 중에서 한 사람의 갱신으로 나머지 사람은 즉시 변경된 값을 접근 가능 예약 시스템, 은행 데이터베이스 등에서 필수적 기능임 규모의 경제성 (economics of scale) 부서마다 다른 방식으로 자료를 관리하는 것보다 통합 DB로 관리하는 것이 전체적인 관점에서 저 비용임 5명 미만 회사에서는 DB 사용 시 비용이 더 듦  (규모가 커져서) 5명 이상이 되면 DB 사용시 비용 절감 Google vs. naver

데이터베이스 응용의 간략한 역사 데이터베이스를 사용한 응용개발 시작 관계형 데이터베이스를 통하여 응용 유연성 확대 데이터베이스와 데이터베이스 사용자 데이터베이스를 사용한 응용개발 시작 계층 모델과 네트워크 모델 등은 60년대 중반부터 80년대까지 주류를 이루었고, 현재에도 종종 사용됨 – 변화수용에 대한 유연성 부족 관계형 데이터베이스를 통하여 응용 유연성 확대 관계형 모델은 70년대 소개 이후, IBM과 세계 각 대학에서 연구되고 검증되어 왔으며, 80년대에 들어서 상용 DBMS가 등장함 객체 지향 응용 요구 등장 OODBMS는 80년대에 소개되어 CAD와 같은 복잡한 데이터 처리 응용에 사용됨 전자 상거래(E-Commerce)를 위한 웹 상의 데이터 교환 필요성 등장 HTML을 이용한 새 응용이 등장했으며, 최근에는 XML이 전자상거래를 위한 데이터 저장 및 자료 교환의 새로운 표준으로 자리잡고 있음 최근, 새로운 응용을 위한 데이터베이스 능력 확장 요구 과학 응용, 이미지, 오디오, 비디오 저장 관리, 시공간 데이터 관리 기술 등 ERP(Enterprise Resource Planning), CRM(Customer Relationship Management)

데이터베이스를 사용하지 않아도 좋은 경우 DBMS를 사용하면 비용이 높아짐 언제 DBMS가 필요치 않은가? 데이터베이스와 데이터베이스 사용자 DBMS를 사용하면 비용이 높아짐 높은 초기 투자 비용과 추가적인 (고사양, 고성능) 하드웨어 필요 데이터의 보안, 동시성 제어, 회복, 무결성 조건 등의 기능이 필요하지 않은 응용  불필요한 기능이 오히려 오버헤드가 됨 언제 DBMS가 필요치 않은가? 데이터베이스와 응용이 단순하고 잘 정의되어 있으며, 변경될 가능성이 적을 경우 (예: 교환기 시스템의 전화 경로 설정  자주 변경되지 않으며, 응용이 제한적임) DBMS 오버헤드로 인해 엄격한 실시간 데이터 처리 요구사항을 만족시키기 힘든 경우  최근 들어 이러한 경우 실시간 DBMS 활용 가능 다사용자 데이터 접근이 필요하지 않은 경우

요약 (1/2) 용어 정의 기존 파일 처리 시스템 대비 데이터베이스의 특징 데이터베이스 사용자의 분류 데이터베이스와 데이터베이스 사용자 용어 정의 데이터베이스, DBMS, 데이터베이스 시스템 기존 파일 처리 시스템 대비 데이터베이스의 특징 카탈로그(메타 데이터), 프로그램-데이터의 독립성, 프로그램-연산의 독립성 데이터 추상화, 다중 뷰 지원, 여러 트랜잭션 간 데이터 공유 데이터베이스 사용자의 분류 데이터베이스 관리자, 설계자, 최종 사용자, 시스템 분석가와 응용 프로그래머 DBMS 설계자 및 개발자, 데이터베이스 도구의 개발자, 운영자와 유지보수 인력

요약 (2/2) DBMS의 기능들 기존 파일 처리시스템 대비 데이터베이스의 장점 중복성 제어 및 권한 검사 데이터베이스와 데이터베이스 사용자 DBMS의 기능들 중복성 제어 및 권한 검사 프로그램 객체와 데이터 구조에 대한 지속성 기억 공간 제공 규칙을 사용한 추론과 수행 다중 사용자 인터페이스 제공 데이터 사이의 복잡한 관련성 표현 무결성 제약조건 처리 백업과 회복 기능 기존 파일 처리시스템 대비 데이터베이스의 장점 표준화 강화, 응용 개발 시간의 단축, 융통성 증가 최신 정보를 즉시 이용, 규모의 경제성