데이터베이스및설계 Chap 2. 데이터베이스관리시스템 2013.03.11. 오병우 컴퓨터공학과
Inconsistency of file system File System Each application has its own private files Widely dispersed and difficult to control File 중심자료처리시스템의한계 i. 응용프로그램의논리적파일구조는직접물리적파일구조로구현 ii. 응용프로그램에물리적데이터구조에대한접근방법이구현되어야함 iii. 데이터파일의공용이불가능 일관성이없음 흩어진, 분산된 문제점 Data dependency & data redundancy 종속성 중복성 2
File System file 시스템에서응용프로그램과 file 과의관계 응용프로그램 1 응용프로그램 2 응용프로그램 3... 응용프로그램 n data data data... data file 1 file 2 file 3 file n ( 급여 ) ( 세금정산 ) ( 퇴직금 ) ( 인사 ) 3
Data Dependence Data Dependence Changes in the storage structure or access strategy Affect the application Knowledge of the data organization and the access techniques is built in the application logic and code Two reasons for data independence Different applications will need different views of the same data Field: decimal or binary => DBMS: conversion The DBA must have the freedom to change the storage structure or access techniques (or both) without affecting applications New kinds of data are added New standards are adopted Application priorities are change New types of storage devices become available 종속성 우선순위 Department of Computer Engineering 4
Data Dependence Data Dependency ( 데이터종속성 ) 응용프로그램과데이터간의상호의존관계 데이터의구성방법이나접근방법의변경시관련응용프로그램도동시에변경 예. ISAM SAM 응용프로그램의관리곤란 5
Data Redundancy Data Redundancy ( 데이터중복성 ) 한시스템내에같은내용의데이터가중복되어저장관리 문제점 Consistency( 일관성 ): 중복되는데이터간의불일치 Security( 보안성 ): 중복되는데이터를같은수준으로접근통제 Economics( 경제성 ): 중복되는저장공간및중복수정 Integrity( 무결성 ): 의미적오류 ( 강좌에는강사가있어야한다.) Department of Computer Engineering 6
데이터베이스관리시스템의정의 Database Management System (DBMS) or database manager A layer of software between the physical database and the user Handle all requests from users for access to the database Higher-level view: shielding of database users from HW-level view 응용프로그램과데이터사이의중재자로서모든응용프로그램들이데이터베이스를공용할수있게관리해주는소프트웨어시스템 응용프로그램 1 응용프로그램 2... 응용프로그램 n DBMS DB 7
Data Definition Create table Data Manipulation Insert, delete and update Data Control grant DBMS 의필수기능 Department of Computer Engineering 8
정의 (definition) 기능 Data Definition 하나의저장구조로여러사용자의요구를지원할수있도록데이타를조직하는기능 논리적구조 정의기능의요건 데이타의논리적구조를명세 데이타의물리적구조명세 사용자 레코드 A 레코드 B 레코드 C 레코드 D 논리적레코드 물리적 / 논리적 Mapping ( 사상 ) 명세 물리적구조 A C B 저장레코드 시스템 ( 저장장치 ) D 9
Data Manipulation 조작 (manipulation) 기능 사용자- 데이타베이스간의인터페이스 체계적데이타처리지원능력 ( 검색, 갱신, 삽입, 삭제 ) 조작기능의요건 사용이쉽고자연스러운도구 원하는연산의명세가능 효율적인접근 10
Data Control 제어 (control) 기능 데이타의정확성과보안성을유지하는기능 제어기능의요건 무결성 (integrity) 유지 보안, 권한검사 병행수행제어 (concurrency control) Department of Computer Engineering 11
DBMS 의장단점 장점 데이타중복 (redundancy) 의최소화 controlled redundancy 데이타의공용 (sharing) 일관성 (consistency) 유지 무결성 (integrity) 유지 보안 (security) 보장 표준화 (standardization) 용이 전체데이타요구의조정 : 상충되는데이터가있는경우단점 운영비의오버헤드 특정응용프로그램의복잡화 : 서로연관된데이터의처리 복잡한백업과회복 시스템의취약성 12
Data Independency DBMS 의궁극적목적 : 데이타독립성 i. 논리적데이타독립성 응용프로그램에영향을주지않고논리적데이타구조의변경이가능 응용프로그램의효율적개발가능 ii. 물리적데이타독립성 응용프로그램과논리적데이타구조에영향을주지않고물리적데이타구조의변경이가능 저장장치의효율적개발 데이터독립성구현기법 Three level architecture of database system External schema, conceptual schema and internal schema Mapping 13
Mapping & Data Independency... 응용프로그램 1 응용프로그램 2 응용프로그램 n... A B C D B E F G A D 프로그램의데이타구조 논리적구조사상 A B C D E F G H... 데이타베이스의논리적구조 물리적구조사상 A B C D E F G H... 데이타베이스의물리적구조 14
데이터베이스관리시스템의역사 제 1 세대 DBMS(first-generation DBMS) Integrated Data Store (IDS) 최초의범용데이타베이스관리시스템 1960년대초 General Electric의 Charles Bachman에의해설계 네트워크데이타모델 ( network data model) 의기초 Bachman은또한데이타구조도 (data structure diagram) 를제안 IMS(Information Management System) DBMS 1960년대후반 IBM이개발 계층데이타모델 (hierarchical data model) 의기초 1970년대초에는대형컴퓨터회사들이 DBMS 제작판매 15
제 2 세대 DBMS 관계데이타모델 (relational data model) IBM의 E.F.Codd 가제안 데이타베이스이론의기초 1980년대 DBMS의주류가되었고계속확장 SQL IBM이관계 DBMS의일부로개발 세계표준데이타베이스언어 하드웨어독립적운영 DBMS Oracle, Ingres, Sybase, Informix PC 기반 DBMS Access, FoxPro, dbase, Paradox 16
제 3 세대 DBMS 사용자의데이타베이스응용에대한복잡성증대 데이터의복잡한분석을지원하는기능 강력한질의어, 멀티미디어지원 사용자의요구에대처하기위해새로운시스템개발 객체지향 DBMS(object-oriented DBMS, OODBMS) 객체관계 DBMS(object-relational DBMS, O-RDBMS) 현재는제 2 세대 DBMS 와제 3 세대 DBMS 가공존 17