Lecture 01: Database Overview Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018
강의정보 l 교과목명 : 데이터베이스 l 선수과목 : 자료구조, 화일구조 l 강의시간 : 금 3,4,5교시 l 교재 : 컴파일러입문 ( 정익사 ), 오세만 l 성적평가방법 시험 (mid, final) : 60% Homework : 30%, 과락 : Homework 50 % 미만 출석 : 10% l 연락처 : 연구실위치 : 민주관 1층 109호. 연락처 : 033-730-0486, 033-730-0480 E-mail : kkman@sangji.ac.kr Homepage : http://compiler.sangji.ac.kr Lecture01: Database Overview, kkman@sangji.ac.kr 2
Chap 1. 정보환경
정보처리시스템 l 정보 (information) vs. 데이터 (data) 데이터 (data) : 관찰이나측정을통해서수집된사실 (facts) 이나값 (values: 수치, 스트링 ) 정보 (information) : 의사결정을할수있게하는데이터의해석이나데이터상호간의관계 의미 (meaning) 데이터 정보 P(D) = I 데이터 (D) 처리기 (P) 정보 (I) l 정보처리, 자료처리 : 정보추출방법 Lecture01: Database Overview, kkman@sangji.ac.kr 4
l 정보시스템 (Information System) 목적을위해데이터를수집, 조직, 저장하고정보를생성, 분배하는수단 현실세계 데이터처리기정보... 의사결정 저장데이터 (database) 응용시스템 (Application System) 한부서를위한서브시스템 application program 으로구성 Lecture01: Database Overview, kkman@sangji.ac.kr 5
l 정보시스템 (Cont d) 경영정보시스템 (MIS: Management Information System) 기획 (planning), 운영 (operation), 통제 (control) 의사결정지원시스템 (DSS: Decision Support System) 광의의정보시스템 데이타웨어하우스 (Data warehouse) Information repository, information archive 데이타마이닝 (Data mining) Knowledge discovery for finding rules or patterns 지식관리시스템 (Knowledge management system) Lecture01: Database Overview, kkman@sangji.ac.kr 6
자료처리시스템 (data processing system) 일괄처리 (batch processing) 사전준비작업필요 원시데이터 (raw data) 의수집 분류정리하여화일 (file) 에수록 시스템중심처리방법 높은시스템성능 낮은처리비용 순차접근방법이용업무에유리 Lecture01: Database Overview, kkman@sangji.ac.kr 7
l 일괄처리시스템 (batch processing system) 원시데이타수집 분류및정리컴퓨터보고서 화일 Lecture01: Database Overview, kkman@sangji.ac.kr 8
온라인처리 (online processing) l 실시간 (real time) 처리 l 사용자중심처리방법 낮은시스템성능 높은처리비용 l 통신제어기 (communication controller) 가필요 l 보수, 유지, 회복의오버헤드 Lecture01: Database Overview, kkman@sangji.ac.kr 9
온라인처리시스템 데이터 보고서 데이터 데이터 / 보고서 통신제어기 컴퓨터 ( 저장데이터 ) 데이터베이스 Lecture01: Database Overview, kkman@sangji.ac.kr 10
분산처리 (distributed processing) l 분산처리기 (dispersed processor) 컴퓨터시스템 l 분산데이타베이스 (distributed database) l 통신네트워크 (communication network) l 클라이언트 / 서버시스템운영형태 Lecture01: Database Overview, kkman@sangji.ac.kr 11
분산처리시스템.... 컴퓨터 ( 클라이언트 / 서버 ) 컴퓨터 ( 클라이언트 / 서버 ).... 데이터베이스 데이터베이스 통신네트워크 Lecture01: Database Overview, kkman@sangji.ac.kr 12
Database 정의 l " 데이터베이스 (database) 용어의기원 1963. 6 제 1 차 SDC 심포지엄 컴퓨터중심의데이터베이스개발과관리 Development and Management of a Computer-centered Data Base 1965.9 제 2 차 SDC 심포지엄 컴퓨터중심의데이터베이스시스템 Computer-centered Data Base Systems Lecture01: Database Overview, kkman@sangji.ac.kr 13
데이터베이스? l 정의 조직의여러응용시스템들이공용 (shared) 하기위해통합 (integrated), 저장 (stored) 한운영데이터 (operational data) 의집합 l 공용데이터 (shared data) 조직의여러응용시스템들이공동으로소유, 유지, 이용하는데이터 l 통합데이터 (integrated data) 최소의중복 (minimal redundancy) 통제된중복 (controlled redundancy) Lecture01: Database Overview, kkman@sangji.ac.kr 14
l 저장데이터 (stored data) 컴퓨터가접근가능한저장매체에저장 디스크, 테이프등 l 운영데이터 (operational data) 조직의고유기능을수행하기위해필요한데이터 Lecture01: Database Overview, kkman@sangji.ac.kr 15
데이터베이스특성 l 실시간접근성 (real-time accessibilities) 질의 (query) 에대한실시간처리 (real-time processing) 및응답 l 계속적인변화 (continuous evolution) 갱신 (update), 삽입 (insert), 삭제 (delete) : 동적 (dynamic) 특성 l 동시공용 (concurrent sharing) 여러사용자 (multi-user) 가동시에사용 l 내용에의한참조 (content reference) 데이터의위치 (location) 나주소 (address) 가아닌내용 (contents) 에따라참조 Lecture01: Database Overview, kkman@sangji.ac.kr 16
데이터베이스구성요소 l 논리적구성요소 (logical components) 사용자의입장 데이터베이스 = { 개체 (entities), 관계 (relationships)} l 개체 (entity) 표현하려는유무형정보의객체 (object) 정보의단위 (unit) 하나이상의속성 (attribute) 으로구성 데이터의가장작은논리적단위 (logical unit) 개체집합 (entity set) entity type vs. entity instance 일반레코드와대응 record type vs. record instance Lecture01: Database Overview, kkman@sangji.ac.kr 17
개체 (entity) 속성 학생 학번이름학과 개체타입 1234 홍길동컴퓨터 개체집합 개체인스턴스 1825 김철수전자 Lecture01: Database Overview, kkman@sangji.ac.kr 18
관계 (Relationship) l 속성관계 (attribute relationship) 개체내 (intra-entity) 관계 : 특성 (properties) l 개체관계 (entity relationship) 개체간 (inter-entity) 관계 학생 지도 교수 학번이름학과교수번호이름학과 Lecture01: Database Overview, kkman@sangji.ac.kr 19
데이터베이스구조 l 논리적구조 (logical organization) 사용자의관점에서본데이터의개념적구조 (conceptual structure) 데이터의논리적배치 (logical allocation) 논리적레코드 (logical record) l 물리적구조 (physical organization) 저장관점에서데이터의물리적배치 (physical allocation) 저장장치에저장된데이터의실제구조 (actual structure) 추가정보를포함 인덱스, 포인터체인, 오버플로우구역등 저장레코드 (stored record) Lecture01: Database Overview, kkman@sangji.ac.kr 20
논리적구조와물리적구조 논리적구조 레코드 A 사용자 레코드레코드 B C 논리적레코드 레코드 D 물리적구조 A C B 저장레코드 시스템 ( 저장장치 ) D Lecture01: Database Overview, kkman@sangji.ac.kr 21
Chap. 2 데이타베이스관리시스템
데이터베이스관리시스템 (DBMS) 발전배경 l 데이터베이스관리시스템 (Database Management System) l 화일중심데이터처리시스템 (file system) operating system 이지원 i. 각응용프로그램이논리적화일구조를정의하고직접물리적화일구조로구현 ii. 각응용프로그램이물리적데이타구조에대한접근방법을구현 iii. 각사용자가데이타와이를처리하는프로그램을모두관리유지 iv. 응용간의데이타공용이불가능 Note 데이타의종속성 (dependency) 과중복성 (redundancy) 을야기 Lecture01: Database Overview, kkman@sangji.ac.kr 23
l 파일시스템에서응용프로그램과파일과의관계 1:1 의관계 응용프로그램 1 응용프로그램 2 응용프로그램 3... 응용프로그램 n 데이터데이터데이터... 데이터파일 1 파일 2 파일 3 파일 n ( 급여 ) ( 세금정산 ) ( 퇴직금 ) ( 인사 ) Lecture01: Database Overview, kkman@sangji.ac.kr 24
l 데이터종속성 (Data Dependency) 응용프로그램과데이터간의상호의존관계 데이터의구성방법이나접근방법의변경시관련응용프로그램도동시에변경해야됨 응용프로그램관리가곤란 l 데이터중복성 (Data Redundancy) 한시스템내에같은내용의데이터가여러화일에중복저장되어관리 문제점 일관성 (consistency) 보안성 (security) 경제성 (economics) 무결성 (integrity) Lecture01: Database Overview, kkman@sangji.ac.kr 25
l 파일관리시스템 (file management system) 과응용프로그램 응용프로그램 1 응용프로그램 2 응용프로그램 3... 응용프로그램 n 파일관리시스템 ( 공동접근루틴 ) 데이터파일 1 데이터파일 2 데이터파일 3... 데이터파일 n ( 급여 ) ( 세금정산 ) ( 퇴직금 ) ( 인사 ) Lecture01: Database Overview, kkman@sangji.ac.kr 26
DBMS 정의 l DBMS(Database management system) 이란? 응용프로그램과데이터사이의중재자 모든응용프로그램 ( 사용자 ) 들이데이터베이스를공용할수있게관리해주는범용소프트웨어시스템 응용프로그램 1 데이터베이스 응용프로그램 2... 데이터베이스관리시스템 (DBMS) 데이터파일 1 데이터파일 3 데이터파일 2 데이터파일 n 응용프로그램 n Lecture01: Database Overview, kkman@sangji.ac.kr 27
DBMS 필수기능 l 정의 (definition) 기능 하나의저장구조 (storage structure) 로여러사용자의요구를지원할수있도록데이터를조직 (organize) 하는기능 정의기능의요건 데이터의논리적구조 (logical structure) 를명세 데이터의물리적구조 (physical structure) 를명세 물리적 / 논리적사상 (mapping) 을명세 Lecture01: Database Overview, kkman@sangji.ac.kr 28
l 조작 (manipulation) 기능 사용자와데이터베이스간의 interface 를위한수단 체계적데이터베이스접근및조작 조작 : 검색 (retrieve), 갱신 (update), 삽입 (insert), 삭제 (delete) 데이터언어로표현 사용하기가쉽고자연스러운도구 원하는연산의명세가능 효율적인처리 l 제어 (control) 기능 데이터정확성 (correctness) 과보안성 (security) 을유지하는기능 제어기능의요건 무결성 (integrity) 유지 보안 (security), 권한 (authority) 검사 병행수행제어 (concurrency control) 복구 (recovery) Lecture01: Database Overview, kkman@sangji.ac.kr 29
DBMS 장점과단점 l 장점 데이터중복 (redundancy) 의최소화 데이터의공용 (sharing) 일관성 (consistency) 유지 무결성 (integrity) 유지 보안 (security) 보장 표준화 (standardization) 용이 기관전체데이터요구의조정 Lecture01: Database Overview, kkman@sangji.ac.kr 30
l 단점 운영비의 overhead 특정응용프로그램의복잡화 복잡한 backup 과 recovery 시스템의취약성 Lecture01: Database Overview, kkman@sangji.ac.kr 31
DBMS 의궁극적목적 l DBMS 의궁극적목적 l 데이터독립성 (data independency), 사상 (mapping) 1) 논리적데이터독립성 (logical data independency) 응용프로그램에영향을주지않고논리적데이터구조의변경이가능 응용프로그램의효율적개발이가능 2) 물리적데이터독립성 (physical data independency) 응용프로그램과논리적데이터구조에영향을주지않고물리적데이터구조의변경이가능 저장장치의효율적개발이가능 Lecture01: Database Overview, kkman@sangji.ac.kr 32
데이터구조간의사상과데이터독립성... 응용프로그램 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... 데이터베이스의물리적구조 Lecture01: Database Overview, kkman@sangji.ac.kr 33
DBMS 발전과정 l 제 1 세대 DBMS(first-generation DBMS) IDS(Integrated Data Store) 최초의범용 DBMS 1960년대초 General Electric의 Charles Bachman에의해설계 네트워크데이터모델 ( network data model) 의기초 Bachman은또한데이터구조도 (data structure diagram) 도제안 IMS(Information Management System) DBMS 1960년대후반 IBM이개발 계층데이터모델 (hierarchical data model) 의기초 1970년대초에는대형컴퓨터회사들이 DBMS를자체제작판매 Lecture01: Database Overview, kkman@sangji.ac.kr 34
l 제 2 세대 DBMS(second-generation DBMS) 관계데이타모델 (relational data model) IBM의 E.F.Codd 가제안 Relational Database 이론의기초 1980년대 DBMS의주류가되었고계속확장 SQL IBM이관계 DBMS의일부로개발 세계표준데이타베이스언어 주요상용 DBMS DB2, Oracle, Ingres, Sybase, Informix PC 기반 DBMS Access, FoxPro, dbase, Paradox, SQL Server Lecture01: Database Overview, kkman@sangji.ac.kr 35
l 제 3 세대 DBMS(third-generation DBMS) 사용자의데이터베이스응용에대한복잡성 (complexity) 증대 engineering, images, videos, spatial, time series, data mining 사용자의요구에대처하기위해새로운 data model 을기반으로시스템개발 객체지향 DBMS(OODBMS: Object-Oriented DBMS) Object-oriented programming-basis 현재는제 2 세대 DBMS + 제 3 세대 DBMS 객체관계 DBMS(O-RDBMS: Object-Relational DBMS) Lecture01: Database Overview, kkman@sangji.ac.kr 36
QnA