PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

PowerPoint Template

02-01 데이터베이스의필요성 데이터베이스의정의와특성

DBMS & SQL Server Installation Database Laboratory

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료

lecture01

<4D F736F F F696E74202D20BFC0B6F3C5AC2D31C0E52DB5A5C0CCC5CDBAA3C0CCBDBA20BDC3BDBAC5DB2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - 사본 - OAS09-사무자동화 기술(DB).ppt

슬라이드 제목 없음

쉽게 풀어쓴 C 프로그래밊

Microsoft PowerPoint - 2장 (DBConcepts) [호환 모드]

슬라이드 1

PowerPoint 프레젠테이션

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

PowerPoint 프레젠테이션

MySQL-.. 1

PowerPoint Presentation

슬라이드 제목 없음

슬라이드 1

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

13주-14주proc.PDF

90

KNK_C_05_Pointers_Arrays_structures_summary_v02

JDBC 소개및설치 Database Laboratory

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US

Microsoft PowerPoint - 10Àå.ppt

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

PowerPoint 프레젠테이션

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint Python-DB

슬라이드 제목 없음

Cloud Friendly System Architecture

Microsoft PowerPoint - 08-chap06-Queue.ppt

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Microsoft PowerPoint - chap01-C언어개요.pptx

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

슬라이드 1

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

[Brochure] KOR_TunA

02장.배열과 클래스

머리말

untitled

슬라이드 제목 없음

Microsoft PowerPoint - chap06-2pointer.ppt

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

The Pocket Guide to TCP/IP Sockets: C Version

금오공대 컴퓨터공학전공 강의자료

제8장 자바 GUI 프로그래밍 II

구조체정의 자료형 (data types) 기본자료형 (primitive data types) : char, int, float 등과같이 C 언어에서제공하는자료형. 사용자정의자료형 (user-defined data types) : 다양한자료형을묶어서목적에따라새로운자료형을

Microsoft PowerPoint - 08-Queue.ppt

윈도우시스템프로그래밍

PowerPoint Presentation

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

PowerPoint Template

1. 데이터베이스프로그래밍의개념 2. PL-SQL 3. 데이터베이스연동자바프로그래밍 4. 데이터베이스연동웹프로그래밍

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

03_queue

6장. SQL

기초컴퓨터프로그래밍

Relational Model

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

항목

슬라이드 1

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

PowerPoint Template

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Microsoft PowerPoint MySQL 연동.ppt

PowerPoint 프레젠테이션

강의 개요

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

2009년 상반기 사업계획

Object Oriented Analyis & Design Training Agenda

The Pocket Guide to TCP/IP Sockets: C Version

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

untitled

gisa_pil_070304_pdf.hwp

Microsoft PowerPoint - Database.ppt

<C6F7C6AEB6F5B1B3C0E72E687770>

PowerPoint Presentation

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Discrete Mathematics

11장 포인터

Transcription:

Chapter 01 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습

1. 데이터베이스와데이터베이스시스템 2. 데이터베이스시스템의발전 3. 파일시스템과 DBMS 4. 데이터베이스시스템의구성

데이터베이스의유형을알아보고개념및특징을이해한다. 데이터베이스시스템을중심으로한정보시스템의발전과정을알아본다. 프로그램과데이터가컴퓨터에어떻게저장되는지이해한다. 데이터베이스시스템의구성요소를알아본다.

01. 데이터베이스와데이터베이스시스템 데이터, 정보, 지식 일상생활의데이터베이스 데이터베이스의개념및특징 데이터베이스시스템의구성

1. 데이터, 정보, 지식 데이터 : 관찰의결과로나타난정량적혹은정성적인실제값 정보 : 데이터에의미를부여한것 지식 : 사물이나현상에대한이해 그림 1-1 데이터, 정보, 지식

2. 일상생활의데이터베이스 데이터베이스 : 조직에필요한정보를얻기위해논리적으로연관된데이터를모아 구조적으로통합해놓은것 그림 1-2 일상생활에서생성되는데이터베이스

2. 일상생활의데이터베이스 그림 1-3 패스트푸드체인점과철도청의데이터베이스 간단한거래도많은데이터가포함

2. 일상생활의데이터베이스 표 1-1 데이터베이스의활용분야 종류 특징 생활과문화 기상정보 : 날씨정보를제공 교통정보 : 교통상황정보를제공 문화예술정보 : 공연이나인물에관한정보를제공 비즈니스 금융정보 : 금융, 증권, 신용에관한정보를제공 취업정보 : 노동부와기업의채용정보를제공 부동산정보 : 공공기관이나민간의토지, 매물, 세금정보를제공 학술정보 연구학술정보 : 논문, 서적, 저작물에관한정보를제공 특허정보 : 특허청의정보를기업과연구자에게제공 법률정보 : 법제처와대법원의법률정보를제공 통계정보 : 국가기관의통계정보를제공

2. 일상생활의데이터베이스 데이터베이스시스템은데이터의검색과변경작업을주로수행함 변경이란시간에따라변하는데이터값을데이터베이스에반영하기위해수행하는삽입, 삭제, 수정등의작업을말함표 1-2 검색과변경빈도에따른데이터베이스유형 유형검색빈도변경빈도데이터베이스예특징 구축이쉬움 유형 1 적다적다 공룡데이터베이스 검색이많지않아데이터베이스를구축할필요없음 보존가치가있는경우에구축 유형 2 많다적다 도서데이터베이스 사용자수보통 검색은많지만데이터에대한변경은적음 유형 3 적다많다 비행기예약데이터베이스 예약변경 / 취소등데이터변경은많지만검색은적음, 검색은변경을위하여먼저시도됨 실시간검색및변경이중요함 구축이어려움 유형 4 많다많다 증권데이터베이스 사용자수많음 검색도많고거래로인한변경도많음

3. 데이터베이스의개념 통합된데이터 (integrated data) 데이터를통합하는개념으로, 각자사용하던데이터의중복을최소화하여중복으로인한데이터불일치 현상을제거 저장된데이터 (stored data) 문서로보관된데이터가아니라디스크, 테이프같은컴퓨터저장장치에저장된데이터를의미 운영데이터 (operational data) 조직의목적을위해사용되는데이터를의미한다. 즉업무를위한검색을할목적으로저장된데이터 공용데이터 (shared data) 한사람또는한업무를위해사용되는데이터가아니라공동으로사용되는데이터를의미

3. 데이터베이스의개념 그림 1-4 데이터베이스의개념 : 데이터베이스는운영데이터를통합하여저장하며공용으로사용된다

3. 데이터베이스의특징 실시간접근성 (real time accessibility) 데이터베이스는실시간으로서비스된다. 사용자가데이터를요청하면몇시간이나몇일뒤에결과를전송하 는것이아니라수초내에결과를서비스한다. 계속적인변화 (continuous change) 데이터베이스에저장된내용은어느한순간의상태를나타내지만, 데이터값은시간에따라항상바뀐다. 데 이터베이스는삽입 (insert), 삭제 (delete), 수정 (update) 등의작업을통하여바뀐데이터값을저장한다. 동시공유 (concurrent sharing) 데이터베이스는서로다른업무또는여러사용자에게동시에공유된다. 동시 (concurrent) 는병행이라고도하 며, 데이터베이스에접근하는프로그램이여러개있다는의미다. 내용에따른참조 (reference by content) 데이터베이스에저장된데이터는데이터의물리적인위치가아니라데이터값에따라참조된다.

4. 데이터베이스시스템의구성 그림 1-5 데이터베이스시스템의구성요소와물리적인위치

02. 데이터베이스시스템의발전 마당서점과데이터베이스시스템 정보시스템의발전

[1 단계 ] 마당서점의시작 도서 : 100 권 고객 : 근처학교의학생, 지역주민 고객서비스 : 사장이직접도서안내 업무 : 회계업무 ( 계산기사용 ), 장부에기록 그림 1-6 마당서점초기

[2 단계 ] 컴퓨터의도입 도서 : 1000 권 고객 : 근처학교의학생, 지역주민 고객서비스 : 컴퓨터를이용하여도서검색, 직원고용 업무 : 회계업무 ( 컴퓨터사용 ), 파일시스템 그림 1-7 마당서점전산화

[3 단계 ] 지점개설및데이터베이스구축 도서 : 10,000 권 고객 : 서울지역고객 고객서비스 : 클라이언트 / 서버시스템으로지점을연결하여도서검색서비스제공 업무 : 회계업무 ( 컴퓨터사용 ), 데이터베이스시스템 그림 1-8 마당서점 DBMS 도입

[4 단계 ] 홈페이지구축 도서 : 100,000 권 고객 : 국민 ( 전국으로배송 ) 고객서비스 : 인터넷으로도서검색및주문 업무 : 회계 / 인사업무 ( 컴퓨터와인터넷사용 ), 웹 DB 시스템으로지점간연계 그림 1-9 마당서점인터넷서비스실시

[5 단계 ] 인터넷쇼핑몰운영 도서 : 1,000,000 권 고객 : 국민 ( 전국으로배송 ) 고객서비스 : 인터넷종합쇼핑서비스제공 업무 : 회계 / 인사업무 ( 컴퓨터와인터넷사용 ), DB 서버여러개구축 그림 1-10 마당서점인터넷쇼핑몰운영

1. 마당서점과데이터베이스시스템 표 1-3 정보통신기술의발전과마당서점의성장 단계 시기 정보기술 주요특징 1단계마당서점 2단계초기전산화 1970년대 사장이모든도서의제목과가격을기억 매출과판매가컴퓨터없이관리됨컴퓨터없음 매출에대한내용이정확하지않음 1980년대 컴퓨터를이용한초기응용프로그램으로업무처리 파일시스템사용컴퓨터 한대의컴퓨터에서만판매및매출관리 3 단계 데이터베이스 1990 년대 컴퓨터 + 원격통신 지점간클라이언트 / 서버시스템을도입하여업무처리 데이터베이스관리시스템 (DBMS) 을도입 4단계홈페이지구축 5단계인터넷쇼핑몰 2000년대 인터넷을이용하여도서검색및주문 웹 DB 시스템으로불특정다수고객유치컴퓨터 + 인터넷 고객이지리적으로넓게분산됨 2010년대 도서뿐만아니라음반, 액세서리, 문구, 공연티켓까지판매하는인터넷쇼핑몰로확대컴퓨터 + 인터넷 도서외상품의매출비중이 50% 이상으로늘어남

2. 정보시스템의발전 파일시스템 데이터를파일단위로파일서버에저장 각컴퓨터는 LAN을통하여파일서버에연결되어있고, 파일서버에저장된데이터를사용하기위해각컴퓨터의응용프로그램에서열기 / 닫기 (open/close) 를요청 각응용프로그램이독립적으로파일을다루기때문에데이터가중복저장될가능성이있음 동시에파일을다루기때문에데이터의일관성이훼손될수있음 그림 1-11 파일시스템

2. 정보시스템의발전 데이터베이스시스템 DBMS를도입하여데이터를통합관리하는시스템 DBMS가설치되어데이터를가진쪽을서버 (server), 외부에서데이터요청하는쪽을클라이언트 (client) 라고함 DBMS 서버가파일을다루며데이터의일관성유지, 복구, 동시접근제어등의기능을수행 데이터의중복을줄이고데이터를표준화하며무결성을유지함 그림 1-12 데이터베이스시스템

2. 정보시스템의발전 웹데이터베이스시스템 데이터베이스를웹브라우저에서사용할수있도록서비스하는시스템 불특정다수고객을상대로하는온라인상거래나공공민원서비스등에사용됨 그림 1-13 웹데이터베이스시스템

2. 정보시스템의발전 분산데이터베이스시스템 여러곳에분산된 DBMS 서버를연결하여운영하는시스템 대규모의응용시스템에사용됨 그림 1-14 분산데이터베이스시스템

2. 정보시스템의발전 소매상 ( 실체시스템 ) 1970 년대 정보시스템없음 수작업으로회계업무 소기업 ( 파일시스템 ) 1980 년대 파일시스템사용 파일을이용한응용프로그램으로업무처리 중견기업 ( 데이터베이스 ) 1990 년대 정보시스템, 데이터베이스시스템사용 DBMS 를이용하여업무처리 정보공유, 실시간서비스, LAN 기술 대기업 ( 인터넷통신 ) 2000 년대 정보시스템, 웹데이터베이스시스템, 인터넷사용 인터넷쇼핑몰을개설하여온라인상거래실시 실시간서비스, 웹브라우저기술 종합그룹 ( 인터넷통신 ) 2010 년대 정보시스템, 분산데이터베이스시스템, 인터넷사용 고객서비스및내부업무를인터넷으로처리 대규모응용시스템에사용 그림 1-15 정보시스템의발전과기업의업무환경변화

03. 파일시스템과 DBMS 마당서점데이터를저장하는방법 마당서점데이터의저장방법비교 파일시스템과 DBMS 의비교

1. 마당서점데이터를저장하는방법 1. 데이터를프로그램내부에저장하는방법 2. 파일시스템을사용하는방법 3. DBMS 를사용하는방법 그림 1-16 고객서비스를온라인정보서비스로전환

1.1 데이터를프로그램내부에저장하는방법 [ 프로그램 1] C 언어의구조체 BOOK 을먼저선언하고 main( ) 프로그램에서구조체배열변수 BOOKS[ ] 에데이터를저장 도서데이터는프로그램내구조체변수에저장됨 문제점 : 새로운데이터가생길때마다프로그램을수정한후다시컴파일해야함 그림 1-17 도서검색프로그램

1.1 데이터를프로그램내부에저장하는방법 [ 프로그램 1] 소스코드 /* BOOK 데이터구조정의 */ typedef struct { int bookid[5]; char bookname[20]; char publisher[20]; int price; } BOOK; int main() { BOOK BOOKS[10]; /* 구조체배열변수에데이터저장 */ /* 첫번째도서저장 */ BOOKS[1].bookid=1; strcpy(books[1].bookname, " 축구의역사 "); strcpy(books[1].publisher, " 굿스포츠 "); BOOKS[1].price=7000; /* 두번째도서저장 */ BOOKS[2].bookid=2; strcpy(books[2].bookname, " 축구아는여자 "); strcpy(books[2].publisher, " 나무수 "); BOOKS[2].price=13000; /* 나머지다른도서저장 ( 생략 ) */... /* 모든도서보기프로그램호출 */ search_all();... }

1.2 파일시스템을사용하는방법 [ 프로그램 2] BOOK 데이터구조를먼저선언하고 main( ) 프로그램에서파일로부터데이터를불러와구조체배열변수 BOOKS[ ] 에저장 새로운데이터가추가되어도프로그램을수정할필요없음 문제점 : 같은파일을두개의프로그램이공유하는것이운영체제의도움없이불가능 그림 1-18 도서검색프로그램에서도서를등록하는화면

1.2 파일시스템을사용하는방법 [ 프로그램 2] 소스코드 /* BOOK 데이터구조정의 */ typedef struct { int bookid[5]; char bookname[20]; char publisher[20]; int price; } BOOK; int main( ) { BOOK BOOKS[10]; int i=1; /* 도서입력함수 */ insert( ); /* 파일에저장된데이터를배열 BOOKS[ ] 에저장 */ fp=fopen("book.dat","rb"); bp=(book *)calloc(1,sizeof(book)); /* 파일에서책을읽는다 */ while(fread(bp,sizeof(book),1,fp)!= 0) { BOOKS[i].bookid =bp->bookid; strcpy(books[i].bookname, bp ->bookname); strcpy(books[i].publisher, bp ->publisher); BOOKS[i].price =bp ->price; i++; } /* 모든도서보기프로그램호출 */ search_all( );... }

1.3 DBMS 를사용하는방법 [ 프로그램 3] 데이터정의와데이터값을 DBMS가관리 DBMS는데이터정의, 데이터변경등의작업을할수있는별도의프로그램을갖고있음 프로그램에데이터정의나데이터값을포함하지않기때문에데이터구조가바뀌어도다시컴파일할필요가없음 그림 1-19 오라클 (SQL Developer) 의데이터베이스관리화면

1.3 DBMS 를사용하는방법 [ 프로그램 3] 소스코드 int main( ) { } /* 반환된행의수 */ int num_ret; /* DBMS 에접속 */ EXEC SQL CONNECT :username IDENTIFIED BY :password; /* SQL 문실행 */ EXEC SQL DECLARE c1 CURSOR FOR SELECT bookname, publisher, price FROM BOOK; EXEC SQL OPEN c1; /* 모든도서보기프로그램호출 */ search_all( ); /* SQL 문실행결과출력 */ for (;;) { EXEC SQL FETCH c1 INTO :BOOK_rec; print_rows(num_ret); } EXEC SQL CLOSE c1; /* 접속해제 */ EXEC SQL COMMIT WORK RELEASE;

2. 마당서점데이터의저장방법비교 [ 프로그램 1] { } Book 데이터타입선언 ; BOOK 데이터구조 프로그램내에서 BOOKS[ ] 배열에데이터저장 ; BOOK 데이터 검색및데이터변경프로그램수행 ; 프로그램에데이터정의와데이터값을모두포함하는방식 프로그램에 BOOK 데이터구조를정의하고데이터값도직접변수에저장함 데이터구조혹은데이터값이바뀌면프로그램을다시컴파일해야함

2. 마당서점데이터의저장방법비교 [ 프로그램 2] { } Book 데이터타입선언 ; BOOK 데이터구조 파일로부터데이터를불러와 BOOKS[ ] 배열에저장 ; 검색및데이터변경프로그램수행 ; 파일에데이터값, 프로그램에데이터정의를포함하는방식 프로그램에 BOOK 데이터구조만정의하고, 데이터값은 book.dat라는파일에저장됨 데이터값이바뀌면프로그램에변경이없지만, 데이터구조가바뀌면프로그램을다시컴파일해야함 BOOK 데이터파일

2. 마당서점데이터의저장방법비교 [ 프로그램 3] { } /* BOOK 데이터타입선언필요없음 */ SQL 문을실행하여결과를가져옴 ; SQL 문으로데이터변경 ; DBMS (DataBase Management System) DBMS가데이터정의와데이터값을관리하는방식 BOOK 데이터구조는 DBMS가돤리하고, 데이터값은데이터베이스에저장됨 데이터값이바뀌거나데이터값이바뀌어도프로그램을다시컴파일할필요없음 Book 데이터구조 Book 데이터파일

3. 파일시스템과 DBMS 의비교 표 1-5 파일시스템과 DBMS 의비교 구분파일시스템 DBMS 데이터정의및저장 데이터접근방법 데이터정의 : 응용프로그램데이터저장 : 파일시스템 응용프로그램이파일에직접접근 데이터정의 : DBMS 데이터저장 : 데이터베이스 응용프로그램이 DBMS 에파일접근을요청 사용언어자바, C++, C 등자바, C++, C 등과 SQL CPU/ 주기억장치사용적음 많음

3. 파일시스템과 DBMS 의비교 그림 1-20 파일시스템으로구축된구매및판매응용프로그램 그림 1-21 DBMS 로구축된구매및판매응용프로그램

3. 파일시스템과 DBMS 의비교 표 1-6 DBMS 의장점 구분파일시스템 DBMS 데이터중복데이터일관성데이터독립성관리기능 데이터를파일단위로저장하므로중복가능 데이터의중복저장으로일관성이결 여됨 데이터정의와프로그램의독립성유 지불가능 보통 DBMS 를이용하여데이터를공유하기때문에중복가능성낮음 중복제거로데이터의일관성이유지됨 데이터정의와프로그램의독립성유지 가능 데이터복구, 보안, 동시성제어, 데이터관리기능등을수행 프로그램개발생산성 나쁨 짧은시간에큰프로그램을개발할수있음 기타장점 보통 데이터무결성유지, 데이터표준준수용이

04. 데이터베이스시스템의구성 데이터베이스언어 데이터베이스사용자 DBMS 데이터모델 데이터베이스의개념적구조

04. 데이터베이스시스템의구성 사용자 일반사용자 응용프로그래머 SQL 사용자 DBA 인터페이스 응용프로그램화면 응용프로그램개발 SQL 질의 데이터베이스스키마 Embedded DML DML 컴파일러 DDL 컴파일러 DBMS 오브젝트코드 질의처리기 주기억장치 트랜잭션관리자 파일관리자 버퍼관리자 데이터베이스 데이터파일 인덱스 데이터통계 데이터사전 하드디스크 그림 1-22 데이터베이스시스템의구성

1. 데이터베이스언어 SQL 데이터정의어 (DDL, Data Definition Language) 데이터조작어 (DML, Data Manipulation Language) 데이터제어어 (DCL, Data Control Language) 질의 1-1 Book 테이블에서모든도서이름 (bookname) 과출판사 (publisher) 를검색하시오. SELECT bookname, publisher FROM Book; Book 테이블 bookid bookname publisher price 1 축구의역사 굿스포츠 7000 2 축구아는여자 나무수 13000 3 축구의이해 대한미디어 22000 4 골프바이블 대한미디어 35000 5 피겨교본 굿스포츠 8000 bookname 축구의역사축구아는여자축구의이해골프바이블피겨교본 publisher 굿스포츠나무수대한미디어대한미디어굿스포츠

1. 데이터베이스언어 질의 1-2 가격 (price) 이 10,000 원이상인도서이름 (bookname) 과출판사 (publisher) 를검색하시오. SELECT bookname, publisher FROM Book Where price >= 10000; Book 테이블 bookid bookname publisher price 1 축구의역사 굿스포츠 7000 2 축구아는여자 나무수 13000 3 축구의이해 대한미디어 22000 4 골프바이블 대한미디어 35000 5 피겨교본 굿스포츠 8000 bookname 축구아는여자축구의이해골프바이블 publisher 나무수대한미디어대한미디어

2. 데이터베이스사용자 일반사용자 은행의창구혹은관공서의민원접수처등에서데이터를다루는업무를하는사람 프로그래머가개발한프로그램을이용하여데이터베이스에접근일반인 응용프로그래머 일반사용자가사용할수있도록프로그램을만드는사람 자바, C, JSP 등의프로그래밍언어와 SQL을사용하여일반사용자를위한사용자인터페이스와데이터를관리하는응용로직을개발 SQL 사용자 SQL을사용하여업무를처리하는 IT 부서의담당자 응용프로그램으로구현되어있지않은업무를 SQL을사용하여처리 데이터베이스관리자 (DBA, Database Administrator) 데이터베이스운영조직의데이터베이스시스템을총괄하는사람 데이터설계, 구현, 유지보수의전과정을담당 데이터베이스사용자통제, 보안, 성능모니터링, 데이터전체파악및관리, 데이터이동및복사등제반업무를함

2. 데이터베이스사용자 표 1-7 데이터베이스사용자별로갖추어야할지식수준 ( : 없음, : 보통, : 높음 ) SQL 언어 프로그래밍능력 DBMS 지식 데이터구성 일반사용자 SQL 사용자 응용프로그래머 데이터베이스관리자

3. DBMS 표 1-8 DBMS 의기능 데이터정의 (Definition) 데이터의구조를정의하고데이터구조에대한삭제및변경기능을수행함 데이터조작 (manipulation) 데이터를조작하는소프트웨어 ( 응용프로그램 ) 가요청하는데이터의삽입, 수정, 삭제작업을지원함 데이터추출 (Retrieval) 사용자가조회하는데이터혹은응용프로그램의데이터를추출함 데이터제어 (Control) 데이터베이스사용자를생성하고모니터링하며접근을제어함. 백업과회복, 동시성제어등의기능을지원함

4. 데이터모델 계층데이터모델 (hierarchical data model) 네트워크데이터모델 (network data model) 객체데이터모델 (relational date model) 관계데이터모델 (object data model) 가장많이쓰인다 객체-관계데이터모델 (object-relational data model) 관계데이터모델과객체데이터모델의장점을결합한모델

4. 데이터모델 포인터사용 : 계층데이터모델, 네트워크데이터모델 학생 ( 학번, 이름 ) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 502 김연아 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-23 관계표현을위한예시 학생 ( 학번, 이름, 강좌포인터 ) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 502 김연아 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-24 포인터를사용하여관계표현

4. 데이터모델 속성값사용 : 관계데이터모델 학생 ( 학번, 이름 ) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 502 김연아 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-23 관계표현을위한예시 학생 ( 학번, 이름, 강좌번호 ) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 102 401 김연아 101 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-25 속성값을사용하여관계표현

4. 데이터모델 객체식별자사용 : 객체데이터모델 학생 ( 학번, 이름 ) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 502 김연아 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-23 관계표현을위한예시 학생 ( 학번, 이름, objectid) 강좌 ( 강좌번호, 강좌이름 ) 501 박지성 oid 401 김연아 oid 101 데이터베이스 102 자료구조 230 스포츠경영학 그림 1-26 객체식별자를사용하여관계표현

4. 데이터모델 표 1-9 데이터모델과각모델에서관계의표현방법 데이터모델관계의표현데이터구성 학생 계층데이터모델 ( 포인터사용 ) 강좌 p 네트워크데이터모델 ( 포인터사용 ) 학생 강좌 p

4. 데이터모델 표 1-9 데이터모델과각모델에서관계의표현방법 데이터모델관계의표현데이터구성 학생 관계데이터모델 ( 속성값사용 ) 강좌 X X 객체데이터모델 ( 객체식별자사용 ) 학생 강좌 oid 객체번호 oid

4. 데이터모델 표 1-10 데이터모델의역사 데이터모델 제품종류 1970 년대 1980 년대 1990 년대 2000 년대 2010 년대 계층데이터모델 IMS(IBM) 네트워크데이터모델 IDS(GE) 관계데이터모델 Oracle(Oracle), System R(IBM) 객체데이터모델 GemStone, ObejectStore 객체 - 관계데이터모델 UniSQL 그림은데이터모델이주로사용되는시기를표시한다. 계층과네트워크모델은 1960 년대, 관계데이터모델은 1970 년대에처음사용되기시작하였다.,

5.1 3 단계데이터베이스구조 사용자가보는데이터 외부스키마 1 외부스키마 2 외부스키마 3 외부 / 개념매핑 전체데이터 개념스키마 개념 / 내부매핑 DBMS 가보는데이터 내부스키마 데이터베이스 ( 물리적인데이터구조 ) 그림 1-27 ANSI 의 3 단계데이터베이스구조

5.1 3 단계데이터베이스구조 외부스키마 일반사용자나응용프로그래머가접근하는계층으로전체데이터베이스중에서하나의논리적인부분을의미 여러개의외부스키마 (external schema) 가있을수있음 서브스키마 (sub schema) 라고도하며, 뷰 (view) 의개념임 개념스키마 전체데이터베이스의정의를의미 통합조직별로하나만존재하며 DBA가관리함 하나의데이터베이스에는하나의개념스키마 (conceptual schema) 가있음 내부스키마 물리적저장장치에데이터베이스가실제로저장되는방법의표현 내부스키마 (intenal schema) 는하나 인덱스, 데이터레코드의배치방법, 데이터압축등에관한사항이포함됨

5.1 3 단계데이터베이스구조 외부 / 개념매핑 사용자의외부스키마와개념스키마간의매핑 ( 사상 ) 외부스키마의데이터가개념스키마의어느부분에해당되는지대응시킴 개념 / 내부매핑 개념스키마의데이터가내부스키마의물리적장치어디에어떤방법으로저장되는지대응시킴

5.1 3 단계데이터베이스구조 그림 1-28 수강신청데이터베이스의개념스키마

5.1 3 단계데이터베이스구조 그림 1-29 수강등록담당부서에서필요한데이터베이스 ( 외부스키마 1)

5.1 3 단계데이터베이스구조 그림 1-30 시간표담당부서에서필요한데이터베이스 ( 외부스키마 2)

5.1 3 단계데이터베이스구조 그림 1-31 수강신청데이터베이스의내부스키마

5.1 3 단계데이터베이스구조 그림 1-32 수강신청데이터베이스의 3 단계구조

5.2 데이터독립성 논리적데이터독립성 (logical data independence) 외부단계 ( 외부스키마 ) 와개념단계 ( 개념스키마 ) 사이의독립성 개념스키마가변경되어도외부스키마에는영향을미치지않도록지원 논리적구조가변경되어도응용프로그램에는영향이없도록하는개념 개념스키마의테이블을생성하거나변경하여도외부스키마가직접다루는테이블이아니면영향이없음 물리적데이터독립성 (physical data independence) 개념단계 ( 개념스키마 ) 와내부단계 ( 내부스키마 ) 사이의독립성 저장장치구조변경과같이내부스키마가변경되어도개념스키마에영향을미치지않도록지원 성능개선을위하여물리적저장장치를재구성할경우개념스키마나응용프로그램같은외부스키마에영향이없음 물리적독립성은논리적독립성보다구현하기쉬움

요약 1. 데이터베이스 2. 데이터베이스의개념 3. 데이터베이스의특징 4. 데이터베이스시스템의구성 5. 정보시스템의발전 6. DBMS의장점 7. SQL 8. 데이터베이스관리자 (DBA) 9. 데이터모델 10. 3단계데이터베이스구조 11. 데이터독립성