02-01 데이터베이스의필요성 데이터베이스의정의와특성
학습목표 데이터와정보의차이를이해한다. 데이터베이스의필요성을알아본다. 데이터베이스의정의에숨겨진의미와주요특성을이해한다. 2
01 데이터베이스의필요성 데이터와정보 데이터 (data) 현실세계에서단순히관찰하거나측정해수집한사실이나값 정보 (information) 의사결정에유용하게활용할수있도록데이터를처리한결과물 정보또한다시데이터로간주될수있다. 그렇다면언제까지? 3
01 데이터베이스의필요성 우유가정제되면파괴되는영양소가있듯이 데이터도가공되면사라지는정보가있음 4
01 데이터베이스의필요성 정보처리 (information processing) 데이터에서정보를추출하는과정또는방법 정보 데이터 Raw 데이터란? 5
01 데이터베이스의필요성 정보시스템과데이터베이스 정보시스템 (information system) 조직운영에필요한데이터를수집하여저장해두었다가필요할때유용한정보를만들어주는수단새로운제품을만들어야한다면우리는무엇에기대야하는가? 데이터베이스 정보시스템 내부에서 데이터를저장하고있다가필요할때제공하는역할을담당 6
01 데이터베이스의필요성 7
02 데이터베이스의정의와특성 데이터베이스 (DB; DataBase) 특정조직의여러사용자가공유하여사용할수있도록통합해서저장한운영데이터의집합 integrated data stored data shared data operational data 8
02 데이터베이스의정의와특성 - 정의 공유데이터 특정조직의여러사용자가함께소유하고이용할수있는공용데이터 통합데이터 최소의중복과통제가능한중복만허용하는데이터 저장데이터 컴퓨터가접근할수있는매체에저장된데이터 운영데이터 조직의주요기능을수행하기위해지속적으로꼭필요한데이터 9
02 데이터베이스의정의와특성 데이터베이스의특성 real-time accessibility continuous evolution contents reference concurrent sharing 각항목에대해서는다음슬라이드에서설명 10
02 데이터베이스의정의와특성 - 특성 실시간접근 사용자의데이터요구에실시간으로응답 계속변화 데이터의계속적인삽입, 삭제, 수정을통해현재의정확한데이터를유지 동시공유 서로다른데이터의동시사용뿐만아니라같은데이터의동시사용도지원 내용기반참조 데이터가저장된주소나위치가아닌내용으로참조 예 ) 재고량이 1,000개이상인제품의이름을검색하시오. 11
02 데이터베이스의정의와특성 단말의시스템이서로달라도같은정보를활용할수있게! 12
02-02 데이터베이스관리시스템의등장배경 데이터베이스관리시스템의정의 데이터베이스관리시스템의장단점 데이터베이스관리시스템의발전과정
학습목표 파일시스템의문제점과데이터베이스관리시스템의필요성을알아본다. 데이터베이스관리시스템의필수기능을살펴본다. 데이터베이스관리시스템의장단점을알아본다. 데이터베이스관리시스템의발전과정을살펴본다. 2
01 데이터베이스관리시스템의등장배경 파일시스템 (file system) 데이터를파일로관리하기위해파일을생성 삭제 수정 검색하는기능을제공하는소프트웨어 응용프로그램마다필요한데이터를별도의파일로관리함 3
01 데이터베이스관리시스템의등장배경 파일시스템의문제점 같은내용의데이터가여러파일에중복저장된다 응용프로그램이데이터파일에종속적이다 데이터파일에대한동시공유, 보안, 회복기능이부족하다 응용프로그램개발이쉽지않다 4
01 데이터베이스관리시스템의등장배경 파일시스템의주요문제점 같은내용의데이터가여러파일에중복저장된다 데이터중복성 저장공간의낭비는물론데이터일관성과데이터무결성을유지하기어려움 데이터통합 5
01 데이터베이스관리시스템의등장배경 파일시스템의주요문제점 응용프로그램이데이터파일에종속적이다 데이터종속성 사용하는파일의구조를변경하면응용프로그램도함께변경해야함 6
02 데이터베이스관리시스템의정의 데이터베이스관리시스템 DBMS(DataBase Management System) 파일시스템의문제를해결하기위해제시된소프트웨어 조직에필요한데이터를데이터베이스에통합하여저장하고관리함 7
02 데이터베이스관리시스템의정의 데이터베이스관리시스템에서의데이터관리 8
02 데이터베이스관리시스템의정의 데이터베이스관리시스템의주요기능 9
03 데이터베이스관리시스템의장단점 10
04 데이터베이스관리시스템의발전과정 1 세대 : 네트워크 DBMS, 계층 DBMS 네트워크 DBMS : 데이터베이스를그래프형태로구성 예 ) IDS(Integrated Data Store) 계층 DBMS : 데이터베이스를트리형태로구성 예 ) IMS(Information Management System) 주문 판매 담당 관리 소속 주문고객 판매상품 11
04 데이터베이스관리시스템의발전과정 2 세대 : 관계 DBMS 관계 DBMS : 데이터베이스를테이블형태로구성 예 ) 오라클 (Oracle), MS SQL 서버, 액세스 (Access), 인포믹스 (Informix), MySQL 12
04 데이터베이스관리시스템의발전과정 3 세대 : 객체지향 DBMS, 객체관계 DBMS 객체지향 DBMS : 객체를이용해데이터베이스를구성 예 ) 오투 (O2), 온투스 (ONTOS), 젬스톤 (GemStone) 객체관계 DBMS : 객체 DBMS + 관계 DBMS 객체관계 DBMS 와객체지향 DBMS 는 수업마지막에부분에서공부하게됩니다! 13
02-03 데이터베이스시스템의정의 데이터베이스의구조 데이터베이스사용자 데이터언어 데이터베이스관리시스템의구성
학습목표 데이터베이스, 데이터베이스관리시스템, 데이터베이스시스템의차이를이해한다. 데이터베이스시스템의구성요소를살펴본다. 데이터베이스 3단계구조에서데이터독립성의개념을실현하는방법을이해한다. 데이터언어별특징을알아본다. 데이터베이스사용자별특징을알아본다. 데이터베이스관리시스템의구성을알아본다. 2
01 데이터베이스시스템의정의 데이터베이스시스템 (DBS; DataBase System) 데이터베이스에데이터를저장하고, 이를관리하여조직에필요한정보를생성해주는시스템 3
02 데이터베이스의구조 스키마와인스턴스 스키마 (schema) 데이터베이스에저장되는데이터구조와제약조건을정의한것 인스턴스 (instance) 스키마에따라데이터베이스에실제로저장된값 4
02 데이터베이스의구조 3 단계데이터베이스구조 미국표준화기관인 ANSI/SPARC에서제안 데이터베이스를쉽게이해하고이용할수있도록하나의데이터베이스를관점에따라세단계로나눈것 외부단계 (external level) : 개별사용자관점 개념단계 (conceptual level) : 조직전체의관점 내부단계 (internal level) : 물리적인저장장치의관점 각단계별로다른추상화 (abstraction) 제공 내부단계에서외부단계로갈수록추상화레벨이높아짐 5
02 데이터베이스의구조 6
02 데이터베이스의구조 7
02 데이터베이스의구조 3 단계데이터베이스구조 : 외부단계 데이터베이스를개별사용자관점에서이해하고표현하는단계 데이터베이스하나에외부스키마가여러개존재할수있음 외부스키마 (external schema) 외부단계에서사용자에게필요한데이터베이스를정의한것 각사용자가생각하는데이터베이스의모습, 즉논리적구조로사용자마다다름 서브스키마 (sub schema) 라고도함 8
02 데이터베이스의구조 3 단계데이터베이스구조 : 개념단계 데이터베이스를조직전체의관점에서이해하고표현하는단계 데이터베이스하나에개념스키마가하나만존재함 개념스키마 (conceptual schema) 개념단계에서데이터베이스전체의논리적구조를정의한것 조직전체의관점에서생각하는데이터베이스의모습 전체데이터베이스에어떤데이터가저장되는지, 데이터들간에는어떤관계가존재하고어떤제약조건이존재하는지에대한정의뿐만아니라, 데이터에대한보안정책이나접근권한에대한정의도포함 9
02 데이터베이스의구조 3 단계데이터베이스구조 : 내부단계 데이터베이스를저장장치의관점에서이해하고표현하는단계 데이터베이스하나에내부스키마가하나만존재함 내부스키마 (internal schema) 전체데이터베이스가저장장치에실제로저장되는방법을정의한것 레코드구조, 필드크기, 레코드접근경로등물리적저장구조를정의 내부단계에서는하드웨어의관점에서 데이터를바라보게된다. 10
02 데이터베이스의구조 11
02 데이터베이스의구조 3 단계데이터베이스구조의사상또는매핑 스키마사이의대응관계 외부 / 개념사상 : 외부스키마와개념스키마의대응관계 응용인터페이스 (application interface) 라고도함 개념 / 내부사상 : 개념스키마와내부스키마의대응관계 저장인터페이스 (storage interface) 라고도함 미리정의된사상정보를이용하여사용자가원하는데이터에접근 데이터베이스를 3 단계구조로나누고단계별로스키마를유지하며 스키마사이의대응관계를정의하는궁극적인목적 데이터독립성의실현 12
02 데이터베이스의구조 데이터독립성 (data independency) 하위스키마를변경하더라도상위스키마가영향을받지않는특성 논리적데이터독립성 개념스키마가변경되어도외부스키마는영향을받지않음 개념스키마가변경되면관련된외부 / 개념사상만정확하게수정해주면됨 물리적데이터독립성 내부스키마가변경되어도개념스키마는영향을받지않음 내부스키마가변경되면관련된개념 / 내부사상만정확하게수정해주면됨 13
02 데이터베이스의구조 14
02 데이터베이스의구조 데이터사전 (data dictionary) 시스템카탈로그 (system catalog) 라고도함 데이터베이스에저장되는데이터에관한정보, 즉메타데이터를유지하는시스템데이터베이스 메타데이터 (meta data) : 데이터에대한데이터 스키마, 사상정보, 다양한제약조건등을저장 데이터베이스관리시스템이스스로생성하고유지함 일반사용자도제한적인수준에서접근가능 15
02 데이터베이스의구조 데이터디렉토리 (data directory) 데이터사전에있는데이터에실제로접근하는데필요한위치정보를저장하는시스템데이터베이스 일반사용자의접근은허용되지않음 사용자데이터베이스 (user database) 사용자가실제로이용하는데이터가저장되어있는일반데이터베이스 16
03 데이터베이스사용자 데이터베이스사용자 데이터베이스를이용하기위해접근하는모든사람 이용목적에따라데이터베이스관리자, 최종사용자, 응용프로그래머로구분 17
03 데이터베이스사용자 데이터베이스관리자 (DBA; DataBase Administrator) 데이터베이스시스템을운영및관리하는사람 주로데이터정의어와데이터제어어를사용 주요업무 데이터베이스구성요소선정 데이터베이스스키마정의 물리적저장구조와접근방법결정 무결성유지를위한제약조건정의 보안및접근권한정책결정 백업및회복기법정의 시스템데이터베이스관리 시스템성능감시및성능분석 데이터베이스재구성 18
03 데이터베이스사용자 최종사용자 (end user) 데이터베이스에접근하여데이터를조작 ( 삽입 삭제 수정 검색 ) 하는사람 주로데이터조작어를사용 캐주얼사용자와초보사용자로구분 응용프로그래머 (application programmer) 데이터언어를삽입하여응용프로그램을작성하는사람 주로데이터조작어를사용 19
03 데이터베이스사용자 20
04 데이터언어 데이터언어 사용자와데이터베이스관리시스템간의통신수단 사용목적에따라데이터정의어, 데이터조작어, 데이터제어어로구분 21
04 데이터언어 데이터정의어 (DDL; Data Definition Language) 스키마를정의하거나, 수정또는삭제하기위해사용 데이터조작어 (DML; Data Manipulation Language) 데이터의삽입 삭제 수정 검색등의처리를요구하기위해사용 절차적데이터조작어와비절차적데이터조작어로구분 절차적데이터조작어 (procedural DML) 사용자가어떤 (what) 데이터를원하고그데이터를얻기위해어떻게 (how) 처리해야하는지도설명 비절차적데이터조작어 (nonprocedural DML) 사용자가어떤 (what) 데이터를원하는지만설명 선언적언어 (declarative language) 라고도함 22
04 데이터언어 23
04 데이터언어 데이터제어어 (DCL; Data Control Language) 내부적으로필요한규칙이나기법을정의하기위해사용 사용목적 무결성 : 정확하고유효한데이터만유지 보안 : 허가받지않은사용자의데이터접근차단, 허가된사용자에권한부여 회복 : 장애가발생해도데이터일관성유지 동시성제어 : 동시공유지원 24
05 데이터베이스관리시스템의구성 데이터베이스관리시스템 데이터베이스관리와사용자의데이터처리요구수행 주요구성요소 질의처리기 (query processor) 사용자의데이터처리요구를해석하여처리 DDL 컴파일러, DML 프리컴파일러, DML 컴파일러, 런타임데이터베이스처리기, 트랜잭션관리자등을포함 저장데이터관리자 (stored data manager) 디스크에저장된사용자데이터베이스와데이터사전을관리하고 25
05 데이터베이스관리시스템의구성 26
Thank You