PowerPoint 프레젠테이션
|
|
- 우민 강
- 5 years ago
- Views:
Transcription
1 IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다.
2 Chapter8. 트랜잭션, 동시성제어, 회복 SQL Server 로배우는데이터베이스개론과실습
3 1. 트랜잭션 2. 동시성제어 3. 트랜잭션고립수준 4. 회복
4 트랜잭션의개념을이해하고데이터베이스에서왜필요한지알아본다. 트랜잭션실행시동시성제어가필요한이유를알아보고락킹을이용한동시성제어기법에대해알아본다. 락킹보다완화된방법으로트랜잭션의동시성을높이는트랜잭션고립수준에대해알아본다. 데이터베이스시스템에문제가생길경우복구하는방법을알아본다.
5 01. 트랜잭션 트랜잭션의개념 트랜잭션의성질 트랜잭션과 DBMS
6 1.1 트랜잭션 트랜잭션 (transaction) 은 DBMS 에서데이터를다루는논리적인작업의단위다. 데이터베이스에서트랜잭션을정의하는이유 데이터베이스에서데이터를다룰때장애가일어나는경우가있다. 트랜잭션은장애시데이터를복구하는작업의단위가된다. 데이터베이스에서여러작업이동시에같은데이터를다룰때가있다. 트랜잭션은이작업을서로분리하는단위가된다. 트랜잭션은전체가수행되거나또는전혀수행되지않아야한다 (all or nothing). EX) 은행업무를보는데 A 계좌 ( 박지성 ) 에서 B 계좌 ( 김연아 ) 로 10,000 원을이체할경우 BEGIN 1 A 계좌 ( 박지성 ) 에서 10,000원을인출하는 UPDATE 문 2 B 계좌 ( 김연아 ) 에 10,000원을입금하는 UPDATE 문 END
7 1.1 트랜잭션 BEGIN TRANSACTION 1 /* 박지성계좌를읽어온다 */ 2 /* 김연아계좌를읽어온다 */ /* 잔고확인 */ 3 /* 예금인출박지성 */ UPDATE Customer SET balance=balance WHERE name= 박지성 ; 주기억장치박지성트랜잭션김연아 버퍼 /* 예금입금김연아 */ UPDATE Customer SET balance=balance WHERE name= 김연아 ; 1 DBMS COMMIT /* 부분완료 */ 5 /* 박지성계좌를기록한다 */ 6 /* 김연아계좌를기록한다 */ 데이터베이스 박지성 김연아 COMMIT TRANSACTION (a) 계좌이체트랜잭션 (b) 트랜잭션수행과정 그림 8-1 계좌이체트랜잭션과수행과정
8 1.1 트랜잭션 트랜젝션수행과정 1 A 계좌 ( 박지성 ) 의값을하드디스크 ( 데이터베이스 ) 에서주기억장치버퍼로읽어온다 2 B 계좌 ( 김연아 ) 의값을하드디스크 ( 데이터베이스 ) 에서주기억장치버퍼로읽어온다. 3 A 계좌 ( 박지성 ) 에서 10,000원을인출한값을저장한다. 4 B 계좌 ( 김연아 ) 에 10,000원을입금한값을저장한다. 5 A 계좌 ( 박지성 ) 의값을주기억장치버퍼에서하드디스크 ( 데이터베이스 ) 에기록한다. 6 B 계좌 ( 김연아 ) 의값을주기억장치버퍼에서하드디스크 ( 데이터베이스 ) 에기록한다. 트랜잭션의종료 (COMMIT) 를알리는방법 [ 방법 1] COMMIT-5-6 [ 방법 2] COMMIT DBMS는사용자에게빠른응답성을보장하기위해 [ 방법 1] 을선택한다. 시작 (begin) 수행중 (active) 1234 부분완료 (partially committed) 버퍼내용기록 56 완료 (commit) 그림 8-2 트랜잭션의수행과정
9 1.2 트랜잭션의성질 표 8-1 트랜잭션과프로그램의차이점 구분트랜잭션프로그램 프로그램구조 BEGIN TRANSACTION... COMMIT TRANSACTION main() {... } 다루는데이터데이터베이스저장된데이터파일에저장된데이터 번역기 DBMS 컴파일러 성질원자성, 일관성, 고립성, 지속성 - 트랜잭션 프로그램 DBMS 데이터베이스 파일 그림 8-3 컴퓨터시스템내의트랜잭션과프로그램
10 1.2 트랜잭션의성질 트랜잭션의 ACID 성질 원자성 (Atomicity) : 트랜잭션에포함된작업은전부수행되거나아니면전부수행되지않아야 (all or nothing) 한다. 일관성 (Consistency) : 트랜잭션을수행하기전이나수행한후나데이터베이스는항상일관된상태를유지해야한다. 고립성 (Isolation) : 수행중인트랜잭션에다른트랜잭션이끼어들어변경중인데이터값을훼손하는일이없어야한다. 지속성 (Durability) : 수행을성공적으로완료한트랜잭션은변경한데이터를영구히저장해야한다.
11 1.2.1 원자성 원자성 (Atomicity) 이란트랜잭션이원자처럼더이상쪼개지지않는하나의프로그 램단위로동작해야한다는의미다. 즉일부만수행되는일이없도록전부수행하 거나아예수행하지않아야 (all or nothing) 하는성질이다. 표 8-3 트랜잭션제거명령어 (TCL) 명령어문법설명 BEGIN BEGIN { TRAN TRANSACTION } 트랜잭션의시작을표시 COMMIT COMMIT { TRAN TRANSACTION } 트랜잭션의종료를표시 ROLLBACK SAVE ROLLBACK { TRAN TRANSACTION } [ <savepoint> ] SAVE { TRAN TRANSACTION } { <savepoint> } 트랜잭션을전체혹은 <savepoint> 까지무효화시킴 <savepoint> 를만듬
12 1.2.1 원자성 다음은 T-SQL 에서트랜잭션을선언하고수행하는예다. BEGIN TRANSACTION INSERT INTO Book(bookid, bookname) VALUES (100, 'Database'); SAVEPOINT a; INSERT INTO Customer(custid, name) VALUES (100, ' 홍길동 '); SAVEPOINT b; INSERT INTO Orders(orderid, custid, bookid) VALUES (100, 100, 100);... /* a로롤백하면 Customer와 Orders 테이블에삽입은없던일이된다 */ IF (...) ROLLBACK to a;... /* b로롤백하면 b부터현재까지작업은없던일이된다 */ IF (...) ROLLBACK to b;... /* ROLLBACK 명령문을수행하면트랜잭션작업전체가없던일이된다 */ IF (...) ROLLBACK;... /* 이제까지진행한작업을데이터베이스에반영한다 */ COMMIT;
13 1.2.2 일관성 트랜잭션은데이터베이스의일관성 Consistency 을유지해야한다. 일관성은테이블 이생성될때 CREATE 문과 ALTER 문의무결성제약조건을통해명시된다. 계좌이체 (1 만원이체 ) 트랜잭션실행중 데이터베이스 (consistent) 데이터베이스 (inconsistent) 데이터베이스 (consistent) A 계좌 + B 계좌 = 20 만원 A 계좌 + B 계좌 = 19 만원 A 계좌 + B 계좌 = 20 만원 그림 8-4 데이터베이스변경중과변경후의일관성
14 1.2.3 고립성 데이터베이스는공유가목적이기때문에여러트랜잭션이동시에수행된다. 동시에수행되는트랜잭션은상호존재를모르고독립적으로수행되는데, 이를고립성 Isolation이라고한다. 고립성을유지하기위해서는트랜잭션이변경중인임시데이터를다른트랜잭션이읽고쓸때제어가필요하다. t1 시간트랜잭션 1 트랜잭션 2 트랜잭션 3 트랜잭션 4 테이블 A 테이블 B 테이블 C 테이블 D 데이터베이스 그림 8-5 트랜잭션의동시수행과데이터공유
15 1.2.4 지속성 트랜잭션이정상적으로완료 (commit) 혹은부분완료 (partial commit) 한데이터는 DBMS가책임지고데이터베이스에기록한다. 이러한성질을트랜잭션의지속성 (Durability) 이라고한다. DBMS 복구시스템은트랜잭션이작업한내용을수시로로그 (log) 데이터베이스에기록하였다가문제가발생하면로그파일을이용하여복구작업을수행한다. 시작 (begin) 수행중 (active) 부분완료 (partially committed) 버퍼내용기록 완료 (commit) 실패 (failed) 작업취소 취소 (aborted) 그림 8-6 트랜잭션의상태도 부분완료 (partially committed) : 트랜잭션수행은완료되었지만변경내용이데이터베이스에기록되었는지확실하지않은상태다. 이상태에서는 DBMS가최종적으로변경내용을데이터베이스에기록해야완료 (committed) 상태가된다. 만약시스템내부문제혹은시스템다운등으로 DBMS가변경내용을데이터베이스에기록하지못하면실패 (failed) 상태가된다. 실패 (failed) : 트랜잭션을중간에중단하였거나, 부분완료상태에서변경내용을데이터베이스에저장하지못한상태를말한다. 실패상태에서 DBMS는트랜잭션이수행한작업을모두원상복구시킨다.
16 1.3 트랜잭션과 DBMS DBMS는원자성을유지하기위해회복 ( 복구 ) 관리자프로그램을작동시킨다. DBMS는일관성을유지하기위해무결성제약조건을활용한다. DBMS는고립성을유지하기위해일관성을유지하는것과마찬가지로동시성제어알고리즘을작동시킨다. DBMS는지속성을유지하기위해회복관리자프로그램을이용한다. 트랜잭션의성질원자성일관성고립성지속성 DBMS 의기능 무결성제약조건 (SQL 문 ) 동시성제어 (LOCKING) 회복 (LOG DB) 그림 8-7 트랜잭션의성질과 DBMS 의기능
17 02. 동시성제어 갱신손실문제 락
18 02 동시성제어 트랜잭션이동시에수행될때, 일관성을해치지않도록트랜잭션의데이터접근을 제어하는 DBMS 의기능을동시성제어 (concurrency control) 라고한다. 표 8-3 트랜잭션의읽기 (read)/ 쓰기 (write) 시나리오 트랜잭션1 트랜잭션2 발생문제 처리방법 [ 상황 1] 읽기 쓰기 읽음 ( 읽기만하면아무문제가없음 ) 허용 [ 상황 2] 읽기 쓰기 오손읽기, 반복불가능읽기, 유령데이터읽기 허용혹은불가선택 [ 상황 3] 쓰기 쓰기 갱신손실 ( 절대허용하면안됨 ) 허용불가 (LOCK을이용 )
19 2.1 갱신손실문제 갱신손실 (lost update) 문제는두개의트랜잭션이한개의데이터를동시에갱신 (update) 할때발생한다. 갱신손실문제는데이터베이스에서절대발생하면안되 는현상이다. [ 작업설명 ] 한개의데이터에두개의트랜잭션이접근하여갱신하는작업 [ 시나리오 ] 두개의트랜잭션이동시에작업을진행 [ 문제발생 ] 갱신손실 T2 는잘못된데이터로작업하여잘못된결과를만든다음 T1 의갱신작업을무효화하고덧쓰기를수행한것 이다. T1 의갱신이손실된갱신손실 (lost update) 문제가발생한것이다.
20 2.1 갱신손실문제 트랜잭션 TI 트랜잭션 T2 버퍼의데이터값 A=read_item(X); 1 A=A-100; X=1000 B=read_item(X); 2 B=B+100; X=1000 write_item(a->x); 3 X=900 write_item(b->x); 4 X=1100 트랜잭션 T1 버퍼 (BUFFER) 트랜잭션 T2 A 1 X B DBMS X 1000 데이터베이스 그림 8-8 갱신손실문제발생시나리오
21 2.2 락 갱신손실문제를해결하려면상대방트랜잭션이데이터를사용하는지여부를알 수있는규칙이필요하다. 즉자신이데이터를수정중이라는사실을알리면된다. 알리는방법으로락 (lock) 이라는잠금장치를사용한다.
22 2.2.1 락의개념 LOCK(X) TI T2 버퍼의데이터값 A=read_item(X); 1 A=A-100; X=1000 LOCK(X) (wait... 대기 ) X=1000 write_item(a->x); 2 UNLOCK(X); X=900 B=read_item(X); 3 B=B+100; write_item(b->x); 4 UNLOCK(X) X=1000 A 트랜잭션 T1 1 버퍼 (BUFFER) X 2 4 트랜잭션 T2 3 B DBMS X 1000 데이터베이스 그림 8-9 락을이용한갱신손실문제해결
23 2.2.1 락의개념 [ 작업설명 ] 한개의데이터에두개의트랜잭션이접근하여갱신하는작업 트랜잭션 T1 트랜잭션 T2 BEGIN TRAN; SELECT * FROM Book WHERE bookid=1; BEGIN TRAN; SELECT * FROM Book WHERE bookid=1; UPDATE SET WHERE Book price=7100 bookid=1; UPDATE SET WHERE Book price=price+100 bookid=1; SELECT * FROM Book WHERE bookid=1; COMMIT; SELECT * FROM Book WHERE bookid=1; COMMIT;
24 2.2.1 락의개념 [ 시나리오 ] SQL Server 에서두개의갱신트랜잭션을동시에실행 그림 8-10 SQL Server 에서두개의트랜잭션을동시에실행시키는화면
25 트랜잭션 T1 트랜잭션 T2 BEGIN TRAN; USE Madang; SELECT * FROM Book WHERE bookid=1; UPDATE Book SET price=7100 WHERE bookid=1; BEGIN TRAN; Use Madang; SELECT * FROM Book WHERE bookid=1; UPDATE Book SET price=price+100 WHERE bookid=1;...( 대기상태 )... SELECT * FROM Book WHERE bookid=1; COMMIT; / * COMMIT 과동시에결과가나타남 */ SELECT * FROM Book WHERE bookid=1; COMMIT;
26 2.2.2 락의유형 락은트랜잭션이읽기를할때사용하는락인공유락 (LS, shared lock) 과읽고쓰기 를할때사용하는배타락 (LX, exclusive lock) 으로나뉜다. 공유락과배타락을사용하는규칙 데이터에락이걸려있지않으면트랜잭션은데이터에락을걸수있다. 트랜잭션이데이터 X를읽기만할경우 LS(X) 를요청하고, 읽거나쓰기를할경우 LX(X) 를요청한다. 다른트랜잭션이데이터에 LS(X) 을걸어둔경우, LS(X) 의요청은허용하고 LX(X) 는허용하지않는다. 다른트랜잭션이데이터에 LX(X) 을걸어둔경우, LS(X) 와 LX(X) 모두허용하지않는다. 트랜잭션이락을허용받지못하면대기상태가된다. 표 8-4 락호환행렬 요청상태 LS 상태 LX 상태 LS 요청허용대기 LX 요청대기대기
27 단계락킹 락을사용하면갱신손실문제를해결할수있다. 하지만락을걸고해제하는시점에제한을두지않으면두개의트랜잭션이동시에실행될때데이터의일관성이깨질수있다. 이것을방지하기위하여 2단계락킹 (2 phase locking) 기법을사용한다. 확장단계 (Growing phase, Expanding phase) : 트랜잭션이필요한락을획득하는단계로, 이단계에서는이미 획득한락을해제하지않는다. 수축단계 (Shrinking phase) : 트랜잭션이락을해제하는단계로, 이단계에서는새로운락을획득하지않는다. [ 작업설명 ] 두개의데이터에두개의트랜잭션이접근하여갱신하는작업
28 단계락킹 [ 문제발생 ] 락을사용하되 2 단계락킹기법을사용하지않을경우 트랜잭션 T1 트랜잭션 T2 A, B 값 LX(A) t1=read_item(a); t1=t1-100; A=write_item(t1); UN(A) LX(B) t1=read_item(b); t1=t1+100; B=write_item(t1); UN(B) LX(A) t2=read_item(a); t2=t2*1.1; A=write_item(t2); UN(A) LX(B) t2=read_item(b); t2=t2*1.1; B=write_item(t2); UN(B) A=900 B=1000 A=990 B=1100 A=990 B=1200 /* A+B=2190 이므로일관성제약조건에위배됨 */
29 단계락킹 [ 문제해결 ] 2 단계락킹기법을사용할경우 트랜잭션 T1 트랜잭션 T2 A, B 값 LX(A) t1=read_item(a); t1=t1-100; A=write_item(t1); LX(B) t1=read_item(b); t1=t1+100; B=write_item(t1); UN(A) UN(B) LX(A) ( 대기상태 ) LX(A) t2=read_item(a); t2=t2*1.1; A=write_item(t2); LX(B) t2=read_item(b); t2=t2*1.1; B=write_item(t2); UN(A) UN(B) A=900 B=1000 A=900 B=1100 A=990 B=1210 /* A+B=2200 이므로일관성제약조건을지킴 */
30 2.4 데드락 두개이상의트랜잭션이각각자신의데이터에대하여락을획득하고상대방데이 터에대하여락을요청하면무한대기상태에빠질수있다. 이러한현상을데드락 (deadlock) 혹은교착상태라고한다. [ 작업설명 ] 두개의데이터에두개의트랜잭션이접근하여갱신하는작업 [ 문제발생 ] SQL Server 에서데드락발생 [ 문제해결 ] 데드락해결 일반적으로데드락이발생하면 DBMS 는 T1 혹은 T2 의작업중하나를강제로중지시킨다. 그결과나머지트 랜잭션은정상적으로실행된다. 이때중지시키는트랜잭션에서변경한데이터는원래상태로되돌려놓는다.
31 2.4 데드락 BEGIN TRAN; USE Madang; UPDATE Book SET price=price+100 WHERE bookid=1; UPDATE Book SET price=price+100 WHERE bookid=2; ( 대기상태 ) 트랜잭션 T1 BEGIN TRAN; USE Madang; UPDATE Book SET price=price*1.1 WHERE bookid=2; UPDATE Book SET price=price*1.1 WHERE bookid=1; ( 대기상태 ) 트랜잭션 T2
32 03. 트랜잭션고립수준 트랜잭션동시실행문제 트랜잭션고립수준명령어 트랜잭션고립수준실습
33 3.1.1 오손읽기 오손읽기 (dirty read) 는읽기작업을하는트랜잭션 1이쓰기작업을하는트랜잭션 2가작업한중간데이터를읽기때문에생기는문제다. 작업중인트랜잭션 2가어떤이유에서작업을철회 (ROLLBACK) 할경우트랜잭션 1은무효가된데이터를읽게되고잘못된결과를도출한다. 이현상을오손읽기라고한다. 오손읽기문제를이해하기위하여다음과같은실습테이블을생성해보자. /* 실습테이블생성 */ USE Madang; Drop TABLE Users; CREATE TABLE Users ( id INTEGER, name VARCHAR(20), age INTEGER); INSERT INTO Users VALUES (1, 'HONG GILDONG', 30); SELECT * FROM Users;
34 3.1.1 오손읽기 [ 작업설명 ] 두개의트랜잭션을동시에실행 트랜잭션 T1, T2 가동시에실행된다. T1 은읽기만하고 T2 는쓰기를한다. T1 은 T2 가변경한데이터를읽어와 작업하는데, T2 가작업중철회 (ROLLBACK) 를하게되었다. [ 문제발생 ] 오손읽기 T2가변경한데이터를 T1이읽은후어떤원인으로인하여 T2가스스로철회 (ROLLBACK) 를하게되었다. 철회를하면 T2의작업은없던일이된다. T1은 T2가종료하지않은상태에서 T2가변경한데이터를보고작업을하게된것이다. 아래는트랜잭션 T2가홍길동의나이를 30에서 21로변경한후철회 (ROLLBACK) 하여, 트랜잭션 T1에게오류를발생시킨예다.
35 T1( 읽는트랜잭션 ) READ UNCOMMITTED 모드 T2( 쓰는트랜잭션 ) READ COMMITTED 모드 BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; SELECT * FROM Users WHERE id=1; BEGIN TRAN; USE Madang; UPDATE Users SET age=21 WHERE id=1; SELECT * FROM Users WHERE id=1; SELECT * FROM Users WHERE id=1; ROLLBACK SELECT * FROM Users WHERE id=1; COMMIT;
36 3.1.2 반복불가능읽기 반복불가능읽기 (non-repeatable read) 는트랜잭션 1이데이터를읽고트랜잭션 2 가데이터를쓰고 ( 갱신, UPDATE) 트랜잭션 1이다시한번데이터를읽을때생기는문제다. 즉, 트랜잭션 1이읽기작업을다시한번반복할경우이전의결과와다른결과가나오는현상을반복불가능읽기라고한다. [ 작업설명 ] 두개의트랜잭션을동시에실행 트랜잭션 T1, T2 가동시에실행된다. T1 은읽기만하고 T2 는쓰기 ( 갱신, UPDATE) 를한다. T1 은데이터를읽고 작업을한후, T2 가변경한데이터를다시한번읽어와작업을한다. [ 문제발생 ] 반복불가능읽기 T1이데이터를읽고작업하던중 T2가데이터를변경하였다. T1은변경한데이터를보고다시한번작업을하였다. 오손읽기와달리이번에는 T2가 COMMIT을했기때문에틀린데이터는아니다. 그런데 T1 입장에서는같은 SQL 문이다른결과를도출한다.
37 3.1.2 반복불가능읽기 T1( 읽는트랜잭션 ) READ COMMITTED 모드 T2( 쓰는트랜잭션 ) READ COMMITTED 모드 BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL READ COMMITTED; SELECT * FROM Users WHERE id=1; BEGIN TRAN; USE Madang; UPDATE Users SET age=21 WHERE id=1; COMMIT; SELECT * FROM Users WHERE id=1; SELECT * FROM Users WHERE id=1;
38 3.1.3 유령데이터읽기 유령데이터읽기 (phantom read) 는트랜잭션 1이데이터를읽고트랜잭션 2가데이터를쓰고 ( 삽입, INSERT) 트랜잭션 1이다시한번데이터를읽을때생기는문제다. 즉, 트랜잭션 1이읽기작업을다시한번반복할경우이전에없던데이터 ( 유령데이터 ) 가나타나는현상을유령데이터읽기라고한다. [ 작업설명 ] 두개의트랜잭션을동시에실행 트랜잭션 T1 은읽기만하고 T2 는쓰기 ( 삽입, INSERT) 를한다. T1 은데이터를읽고작업을한후, T2 가변경한 데이터를다시한번읽어와작업을한다. [ 문제발생 ] 유령데이터읽기 이번에는 T1이 T2가새로운데이터를삽입한사실을모르고작업을한다. T2가 COMMIT을했기때문에틀린데이터는아니다. 그러나 T1 입장에서는새로운데이터가반영되어반복불가능읽기와마찬가지로같은 SQL 문이다른결과를도출한다. 유령데이터읽기는반복불가능읽기와비슷하지만없던데이터가삽입되었기때문에다르게구분한다.
39 3.1.3 유령데이터읽기 T1( 읽는트랜잭션 ) READ COMMITTED 모드 T2( 쓰는트랜잭션 ) READ COMMITTED 모드 BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT * FROM Users WHERE age BETWEEN 10 AND 30; BEGIN TRAN; USE Madang; INSERT INTO Users VALUES (3, Bob, 27 ); COMMIT; SELECT * FROM Users WHERE age BETWEEN 10 AND 30; SELECT * FROM Users WHERE age BETWEEN 10 AND 30; COMMIT;
40 3.2 트랜잭션고립수준명령어 DBMS 는트랜잭션을동시에실행시키면서락보다좀더완화된방법으로문제를 해결하는명령어를제공하는데이를트랜잭션고립수준명령어 (transaction isolation level instruction) 라고한다. 표 8-5 트랜잭션고립수준명령어와발생현상 고립수준 문제 오손읽기 반복불가능읽기 유령데이터읽기 READ UNCOMMITTED 가능 가능 가능 READ COMMITTED 불가능 가능 가능 REPEATABLE READ 불가능 불가능 가능 SERIALIZABLE 불가능 불가능 불가능
41 3.2.1 READ UNCOMMITTED(Level = 0) READ UNCOMMITTED는고립수준이가장낮은명령어로, 자신의데이터에아무런공유락을걸지않는다 ( 배타락은갱신손실문제때문에걸어야한다 ). 또한다른트랜잭션에공유락과배타락이걸린데이터를대기하지않고읽는다. 심지어다른트랜잭션이 COMMIT하지않은데이터도읽을수있다. 그때문에오손 (dirty) 페이지의데이터를읽게된다. 이명령어는 SELECT 질의의대상이되는테이블에대해서락을설정하지않은것 (NOLOCK) 과같다. 표 8-6 READ UNCOMMITTED 모드요약 모드 LOCK SQL 문문제점 READ UNCOMMITTED SELECT 문 - 공유락걸지않음 UPDATE 문 - 배타락설정다른트랜잭션의공유락과배타락이걸린데이터를읽음 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 오손읽기, 반복불가능읽기, 유령데이터읽기
42 3.2.2 READ COMMITTED(Level=1) READ COMMITTED는오손 (dirty) 페이지의참조를피하기위해자신의데이터를읽는동안공유락을걸지만트랜잭션이끝나기전에라도해지가능하다. 다른트랜잭션데이터는락호환성규칙에따라진행한다. 이옵션은 SQL Server의기본설정이다. 즉아무런설정을하지않으면 READ COMMITTED 방식으로수행된다. 표 8-7 READ COMMITTED 모드요약 모드 LOCK SQL 문문제점 READ COMMITTED SELECT 문 - 공유락을걸고끝나면바로해지 UPDATE 문 - 배타락설정다른트랜잭션이설정한공유락은읽지만배타락은읽지못함 SET TRANSACTION ISOLATION LEVEL READ COMMITTED 반복불가능읽기, 유령데이터읽기
43 3.2.3 REPEATABLE READ(Level=2) 자신의데이터에설정된공유락과배타락을트랜잭션이종료할때까지유지하여다른트랜잭션이자신의데이터를갱신 (UPDATE) 할수없도록한다. 다른트랜잭션데이터는락호환성규칙에따라진행한다. 다른고립화수준에비해데이터의동시성 (concurrency) 이낮아특별하지않은상황이라면사용하지않는것이좋다. 표 8-8 REPEATABLE READ 모드요약 모드 LOCK SQL 문문제점 REPEATABLE READ SELECT 문 - 공유락을걸고트랜잭션을끝까지유지 UPDATE 문 - 배타락설정다른트랜잭션이설정한공유락은읽지만배타락은읽지못함 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ 유령데이터읽기
44 3.2.4 SERIALIZABLE(Level=3) 고립수준이가장높은명령어로, 실행중인트랜잭션은다른트랜잭션으로부터완벽하게분리된다. 데이터집합에범위를지어잠금을설정할수있기때문에다른사용자가데이터를변경하려고할때트랜잭션을완벽하게분리할수있다. 이명령어는네가지고립화수준중제한이가장심하고데이터의동시성도낮다. 이명령어는 SELECT 질의의대상이되는테이블에미리배타락을설정한것과같은효과를낸다. 표 8-9 SERIALIZABLE 모드요약 모드 LOCK SQL 문문제점 SERIALIZABLE SELECT 문 - 공유락을걸고트랜잭션을끝까지유지 UPDATE 문 - 배타락설정다른트랜잭션이설정한공유락은읽지만배타락은읽지못함인덱스에공유락을설정하여다른트랜잭션의 INSERT 문이금지됨 SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 없음
45 3.3.1 반복불가능읽기문제와방지를위한명령어 반복불가능읽기문제 트랜잭션 T1 READ COMMITTED 모드 ( 기본모드 ) 트랜잭션 T2 READ COMMITTED 모드 ( 기본모드 ) BEGIN TRAN; USE Madang; SELECT SUM(price) 총액 FROM Book; BEGIN TRAN; USE Madang; SELECT bookid, bookname, publisher, price FROM Book WHERE bookid=1; SELECT SUM(price) 총액 FROM Book; UPDATE Book SET price=price+500 WHERE bookid=1; SELECT SUM(price) 총액 FROM Book; COMMIT; SELECT SUM(price) 총액 FROM Book; /* 앞의결과와다름 */ COMMIT;
46 3.3.1 반복불가능읽기문제와방지를위한명령어 반복불가능읽기문제를방지하기위한명령어 -REPEATABLE READ 모드 트랜잭션 T1 REPEATABLE READ 모드 트랜잭션 T2 READ COMMITTED 모드 ( 기본모드 ) BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT SUM(price) 총액 FROM Book; BEGIN TRAN; USE Madang; SELECT bookid, bookname, publisher, price FROM Book WHERE bookid=1; SELECT SUM(price) 총액 FROM Book; /* 여기까지실행해본후진행 */ UPDATE Book SET price=price+500 WHERE bookid=1; ( 쿼리를실행하는중...) /* 대기상태가됨, T1이 COMMIT하면실행됨 */ SELECT SUM(price) 총액 FROM Book; /* 앞의결과와같음 */ COMMIT; SELECT SUM(price) 총액 FROM Book; COMMIT;
47 3.3.2 유령데이터읽기문제와방지를위한명령어 유령데이터읽기문제 트랜잭션 T1 REPEATABLE READ 모드 트랜잭션 T2 READ COMMITTED 모드 ( 기본모드 ) BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; SELECT SUM(price) 총액 FROM Book; BEGIN TRAN; USE Madang; SELECT SUM(price) 총액 FROM Book; INSERT INTO Book VALUES (11, 테스트, 테스트출판사, 5500); SELECT SUM(price) 총액 FROM Book; COMMIT; SELECT SUM(price) 총액 FROM Book; /* 앞의결과와다름 */ COMMIT;
48 3.3.2 유령데이터읽기문제와방지를위한명령어 유령데이터읽기문제를방지하기위한명령어 - SERIALIZABLE 모드 트랜잭션 T1 SERIALIZABLE 모드 트랜잭션 T2 READ COMMITTED 모드 ( 기본모드 ) BEGIN TRAN; USE Madang; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT SUM(price) 총액 FROM Book; BEGIN TRAN; USE Madang; SELECT SUM(price) 총액 FROM Book; /* 여기까지실행해본후진행 */ INSERT INTO Book VALUES (11, 테스트, 테스트출판사,5500); ( 쿼리를실행하는중...) /* 대기상태가됨, T1 이 COMMIT 하면실행됨 */ SELECT SUM(price) 총액 FROM Book; /* 앞의결과와같음 */ COMMIT; SELECT SUM(price) 총액 FROM Book; COMMIT;
49 04. 회복 트랜잭션과회복 로그파일 로그파일을이용한회복 체크포인트를이용한회복
50 04. 회복 회복 (recovery) 은데이터베이스에장애가발생했을때데이터베이스를일관성있 는상태로되돌리는 DBMS 의기능이다. 데이터베이스시스템에서발생할수있는장애의유형은다음과같다. 시스템충돌 : 하드웨어혹은소프트웨어의오류로인하여주기억장치가손실되는것을말한다. 주기억장치에상주하여처리중인프로그램과데이터의일부혹은전부가손실된다. 미디어장애 : 헤드의충돌이나읽기장애에의하여보조기억장치의일부데이터가손실되는것을말한다. 보조기억장치에저장중인데이터의일부혹은전부가손실된다. 응용소프트웨어오류 : 데이터베이스에접근하는소프트웨어의논리적인오류로트랜잭션의수행이실패하는것을말한다. 자연재해 : 화재, 홍수, 지진, 정전등에의해컴퓨터시스템이손상되는것을말한다. 부주의혹은태업sabotage : 운영자나사용자의부주의로데이터가손실되거나의도적인손상을입는것을말한다.
51 4.1 트랜잭션과회복 BEGIN TRANSACTION 1 /* 박지성계좌를읽어온다 */ 2 /* 김연아계좌를읽어온다 */ /* 잔고확인 */ 3 /* 예금인출박지성 */ UPDATE Customer SET balance=balance WHERE name= 박지성 ; 주기억장치박지성트랜잭션김연아 버퍼 /* 예금입금김연아 */ UPDATE Customer SET balance=balance WHERE name= 김연아 ; 1 DBMS COMMIT /* 부분완료 */ 5 /* 박지성계좌를기록한다 */ 6 /* 김연아계좌를기록한다 */ 데이터베이스 박지성 김연아 COMMIT TRANSACTION (a) 계좌이체트랜잭션 (b) 트랜잭션수행과정 그림 8-11 계좌이체트랜잭션과수행과정
52 4.1 트랜잭션과회복 BEGIN TRANSACTION 1 /* 박지성계좌를읽어온다 */ 2 /* 김연아계좌를읽어온다 */ /* 잔고확인 */ 3 /* 예금인출박지성 */ UPDATE Customer SET balance=balance-100 WHERE name= 박지성 ; 4 /* 예금입금김연아 */ UPDATE Customer SET balance=balance+100 WHERE name= 김연아 ; COMMIT /* 부분완료 */ 5 /* 박지성계좌를기록한다 */ 6 /* 김연아계좌를기록한다 */ 부분완료 (partially committed) 시작 (begin) A 수행중 (active) B-1 C-1 D-1 완료후실패 실패 (failed) 완료전실패 B-2 D-2 C-2 COMMIT TRANSACTION (a) 계좌이체트랜잭션 그림 8-12 트랜잭션수행과상태도 완료 (committed) (b) 트랜잭션상태도 취소 (aborted)
53 4.2 로그파일 DBMS는트랜잭션이수행중이거나수행이종료된후발생하는데이터베이스손실을방지하기위해트랜잭션의데이터베이스기록을추적하는로그파일 (log file) 을사용한다. 로그파일은트랜잭션이반영한모든데이터의변경사항을데이터베이스에기록하기전에미리기록해두는별도의데이터베이스다. 안전한하드디스크에저장되며전원과관계없이기록이남아있다. 로그파일에저장된로그의구조는다음과같다. < 트랜잭션번호, 로그의타입, 데이터항목이름, 수정전값, 수정후값 > 로그의타입 은트랜잭션의연산타입으로 START, INSERT, UPDATE, DELETE, ABORT, COMMIT 등이있다. 수정전값 은데이터의변경전값을나타내고, 수정후값 은연산의결과로변경된값을나타낸다. <T1, START> <T1, UPDATE, Customer( 박지성 ).balance, , 90000> <T1, UPDATE, Customer( 김연아 ).balance, , > <T1, COMMIT>
54 4.2 로그파일 BEGIN TRANSACTION 1 /* 박지성계좌를읽어온다 */ 2 /* 김연아계좌를읽어온다 */ /* 잔고확인 */ 3 /* 예금인출박지성 */ UPDATE Customer SET balance=balance WHERE name= 박지성 ; 주기억장치박지성트랜잭션김연아 버퍼 /* 예금입금김연아 */ UPDATE Customer SET balance=balance WHERE name= 김연아 ; 1 DBMS COMMIT /* 부분완료 */ 5 /* 박지성계좌를기록한다 */ 6 /* 김연아계좌를기록한다 */ 데이터베이스 박지성 김연아 트랜잭션로그파일 COMMIT TRANSACTION (a) 계좌이체트랜잭션 (b) 트랜잭션수행과정 그림 8-13 트랜잭션수행과로그파일
55 4.3 로그파일을이용한회복 데이터의변경기록을저장해둔로그파일을이용하면시스템장애도복구할수 있다. 아래두개의트랜잭션이실행된다고하자. 편의상트랜잭션의연산 SELECT, UPDATE 는 read_item( ), write_item( ) 으로대체한다. 트랜잭션은각각데이터 A, B, C, D 를읽거나쓰는작업을진행한다. 데이터 (A, B, C, D) 의초깃값은 (100, 200, 300, 400) 이다. 트랜잭션 T1 트랜잭션 T2 read_item(a); A=A+10; read_item(b); B=B+10; write_item(b); read_item(c); C=C+10; write_item(c); write_item(a); read_item(a); A=A+10; write_item(a); read_item(d); D=D+10; read_item(b) B=B+10; write_item(b); write_item(d);
56 4.3 로그파일을이용한회복 트랜잭션이 T1 T2 순으로실행된다면다음과같은로그파일이생성된다. 로그번호 로그레코드 [T1, START] [T1, UPDATE, B, 200, 210] [T1, UPDATE, C, 300, 310] [T1, UPDATE, A, 100, 110] [T1, COMMIT] [T2, START] [T2, UPDATE, A, 110, 120] [T2, UPDATE. B, 210, 220] [T2, UPDATE, D, 400, 410] [T2, COMMIT]
57 4.3 로그파일을이용한회복 시스템운영중장애가발생하여시스템이다시가동되었을때 DBMS는로그파일을먼저살펴본다. DBMS는트랜잭션이종료되었는지혹은중단되었는지여부를판단하여종료된트랜잭션은종료를확정하기위하여재실행 (REDO) 을진행하고, 중단된트랜잭션은없던일로되돌리기위해취소 (UNDO) 를진행한다. 트랜잭션의재실행 (REDO) 장애가발생한후시스템을다시가동을했을때, 로그파일에트랜잭션의시작 (START) 이있고종료 (COMMIT) 가있는경우다. COMMIT 연산이로그에있다는것은트랜잭션이모두완료되었다는의미다. 다만변경내용이버퍼에서데이터베이스에기록되지않았을가능성이있다. 따라서로그를보면서트랜잭션이변경한내용을데이터베이스에다시기록하는과정이필요하다. 이과정을 REDO라고한다. 트랜잭션의취소 (UNDO) 장애가발생한후시스템을다시가동했을때, 로그파일에트랜잭션의시작 (START) 만있고종료 (COMMIT) 가없는경우다. COMMIT 연산이로그에보이지않는다는것은트랜잭션이완료되지못했다는의미로, 트랜잭션이한일을모두취소해야한다. 이경우완료하지못했지만버퍼의변경내용이데이터베이스에기록되어있을가능성이있기때문에로그를보면서트랜잭션이변경한내용을데이터베이스에서원상복구시켜야한다. 이과정을 UNDO라고한다.
58 4.3 로그파일을이용한회복 즉시갱신방법즉시갱신 (immediate update) 은 갱신데이터 로그, 버퍼 데이터베이스 작업이부분완료전에동시에진행될수있으며, 부분완료가되면갱신데이터는로그에기록이끝난상태다. 지연갱신방법 지연갱신 (deferred update) 은 갱신데이터 로그 가끝난후부분완료를하고 버 퍼 데이터베이스 작업이진행되는방법이다.
59 4.3 로그파일을이용한회복 표 8-10 트랜잭션로그와회복방법 ( 즉시갱신방법 ) 로그번호작업결과 i =0 아무작업도필요없음 T1 과 T2 가수행을시작하지않았음 1 <= i <= 4 UNDO(T1) : T1을취소 T1이 i까지생성한로그레코드를이용하여데이터베이스항목을되돌림 5 <= i <= 9 REDO(T1) : T1을재수행 1부터 4까지 T1이생성한로그레코드를이용하여데이터베이스항목값을기록함 UNDO(T2) : T2를취소 T2가 5부터 i까지생성한로그레코드를이용하여데이터베이스항목을되돌림 10 REDO(T1) : T1을재수행 REDO(T2) : T2를재수행 T1을수행하지않은것과같음 T1은수행이완료됨 T2는수행하지않은것과같음 T1, T2는수행이완료됨
60 4.3 로그파일을이용한회복 표 8-11 트랜잭션로그와회복방법 ( 지연갱신방법 ) 로그번호작업결과 i =0 아무작업도필요없음 T1 과 T2 가수행을시작하지않았음 1 <= i <= 4 T1 : 아무작업도필요없음 T1 을수행하지않은것과같음 5 <= i <= 9 REDO(T1) : T1을재수행 1부터 4까지 T1이생성한로그레코드를이용하여데이터베이스항목값을기록함 T2 : 아무작업도필요없음 10 REDO(T1) : T1을재수행 REDO(T2) : T2를재수행 T1 은수행이완료됨 T2 는수행하지않은것과같음 T1, T2 는수행이완료됨
61 4.4 체크포인트를이용한회복 로그를이용한회복은시스템에장애가일어났을때어느시점까지되돌아가야하는지알수없다. 트랜잭션이많은응용의경우하루이상되돌아가서복구하는것은사실상불가능하다. 회복시많은양의로그를검색하고갱신하는시간을줄이기위하여몇십분단위로데이터베이스와트랜잭션로그파일을동기화한후동기화한시점을로그파일에기록해두는방법혹은그시점을체크포인트 (checkpoint, 혹은검사점 ) 라고한다. 체크포인트시점에는다음과같은작업을진행한다. 주기억장치의로그레코드를모두하드디스크의로그파일에저장한다. 버퍼에있는변경된내용을하드디스크의데이터베이스에저장한다. 체크포인트를로그파일에표시한다.
62 4.4 체크포인트를이용한회복 체크포인트가있으면로그를이용한회복기법은좀더간단해진다. 체크포인트이전에 [COMMIT] 기록이있는경우 아무작업이필요없다. 로그에체크포인트가나타나는시점은이미변경내용이데이터베이스에모두기록된 후이기때문이다. 체크포인트이후에 [COMMIT] 기록이있는경우 REDO(T) 를진행한다. 체크포인트이후에변경내용이데이터베이스에반영되지않았으므로 REDO 를진행한다. 체크포인트이후에 [COMMIT] 기록이없는경우 즉시갱신방법을사용했다면 UNDO(T) 를진행한다. 버퍼의내용이반영됐을수도있기때문에원상복구시켜야한다. 반면지연갱신방법을사용했다면아무것도할필요가없다. 지연갱신방법은 [COMMIT] 이전에는버퍼의내용을데이터베이스에반영하지않기때문이다.
63 4.4 체크포인트를이용한회복 즉시갱신방법을사용했다면 T2, T3 는아무작업이필요없고, T4, T5 는 REDO, T1, T6 는 UNDO 가필요하다. 지연갱신방법을사용했다면 T2, T3 는아무작업이 필요없고, T4, T5 는 REDO 가필요하다. T1, T6 는아무작업이필요없다. 트랜잭션 T1 트랜잭션 T2 트랜잭션 T3 트랜잭션 T4 트랜잭션 T5 트랜잭션 T6 시간 t 체크포인트시스템장애 그림 8-15 트랜잭션로그기록과체크포인트
64 4.4 체크포인트를이용한회복 트랜잭션 T1, T2, T3 가동시에실행된후다음과같이로그기록을남겼다. 즉시갱 신기법을사용하여회복을한다면 REDO(T2), UNDO(T3) 가진행된다. T1 에대해 서는아무작업이필요없다. 로그번호 로그레코드 [T1, START] [T1, UPDATE, B, 200, 120] [T1, UPDATE, C, 300, 310] [T2, START] [T2, UPDATE, A, 110, 120] [T1, UPDATE, A, 120, 110] [T1, COMMIT] [T2, UPDATE. B, 120, 220] [CHECKPOINT] [T3, START] [T3, UPDATE, A, 110, 120] [T2, UPDATE, D, 400, 410] [T2, COMMIT] [T3, UPDATE. B, 220, 230] ~~ 시스템장애 ~~ 그림 8-16 체크포인트가포함된로그기록
65 요약 1. 트랜잭션의상태도 2. 트랜잭션의성질 3. 동시성제어 4. 갱신손실 5. 락 6. 2단계락킹 7. 데드락 8. 트랜잭션동시실행문제 9. 트랜잭션고립수준명령어 10. 로그파일을이용한회복 11. 회복을위한로그기록방법 12. 체크포인트
66 SQL Server 로배우는데이터베이스개론과실습
<4D F736F F F696E74202D2039C0E52DC6AEB7A3C0E8BCC72E BC8A3C8AF20B8F0B5E55D>
트랜잭션 (transaction) 항공기예약, 은행, 신용카드처리, 대형할인점등에서는대규모데이터베이스를수백, 수천명이상의사용자들이동시에접근함 많은사용자들이동시에데이터베이스의서로다른부분또는동일한부분을접근하면서데이터베이스를사용함 동시성제어 (concurrency control) 동시에수행되는트랜잭션들이데이터베이스에미치는영향은이들을순차적으로수행하였을때데이터베이스에미치는영향과같도록보장
More informationMicrosoft PowerPoint - ch10_회복과 병행 제어.pptx
13-01 트랜잭션 장애와회복 병행제어 병행수행과병행제어 병행수행 (concurrency) 여러사용자가데이터베이스를동시공유할수있도록여러개의트랜잭션을동시에수행하는것을의미 여러트랜잭션들이차례로번갈아수행되는인터리빙 (interleaving) 방식으로진행됨 병행제어 (concurrency control) 또는동시성제어 병행수행시같은데이터에접근하여연산을실행해도문제가발생하지않고정확한수행결과를얻을수있도록트랜잭션의수행을제어하는것을의미
More informationuntitled
(shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,
More informationTablespace On-Offline 테이블스페이스 온라인/오프라인
2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가
More information슬라이드 1
12. 트랜잭션과잠금 여러개의데이터수정이하나의단위로수행되어야하는경우가많다. 그래서이중하나라도문제가발생한다면모든처리가다취소되어야한다. 모두다처리가되던지아니면아예하나도처리가안되든지... 이것이트랜잭션이다. 2 사랑차만드는법 사랑차준비물 1. 성냄과불평은뿌리를잘라내고잘게다진다. 2. 교만과자존심은속을빼낸후깨끗이씻어말린다. 3. 짜증은껍질을벗기고반으로토막을낸후에넓은맘으로절여둔다.
More informationPowerPoint 프레젠테이션
14. 트랜잭션처리 이장의주요내용 트랜잭션개요 트랜잭션의특성 (ACID) 원자성 (Atomicity) 일관성 (Consistency) 격리성 (Isolation) 영속성 (Durability) 트랜잭션스케쥴 회복가능트랜잭션스케쥴 직렬가능트랜잭션스케쥴 직렬가능스케쥴을보장하는 2PL 트랜잭션 (transaction) 이란? 한번에모두수행되거나수행되지않아야하는작업수행의논리적인단위
More information목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate
ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition
More informationPowerPoint 프레젠테이션
IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter9. 데이터베이스보안과관리 SQL Server 로배우는데이터베이스개론과실습
More informationDBMS & SQL Server Installation Database Laboratory
DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.
More informationMicrosoft PowerPoint - 10Àå.ppt
10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어
More information예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US
A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS
More information10.ppt
: SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL
More informationCommit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따
Commit Wait Class 대기시간감소방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 Wait Class 중 Commit 카테고리에해당하는 Wait Event 에의한대기현상으로 DB 시스템의성능저하현상이발생하는것은종종경험할수있다. 그중대표적인 Wait Event 는 Log File Sync 이다. 실제로대부분의 DB 시스템의 Top 5 Wait Event
More information슬라이드 제목 없음
4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여
More information@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a
1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL
More informationMySQL-.. 1
MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition
More informationWINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역
WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,
More information목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE
ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....
More information02-출판과-완성
저작권 아카데미 표준 교재 저작권 아카데미 표준 교재 교육홍보 2009-02 출판과 저작권 ISBN 978-89-6120-035-6 94010 ISBN 978-89-6120-033-2 CONTENTS 23 24 25 27 14 14 15 15 15 16 16 17 17 18 18 18 19 20 28 29 30 31 32 33 34 35 36 43 44 45
More informationPowerPoint Presentation
Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------
More informationPowerPoint 프레젠테이션
IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습
More informationHWP Document
CODE A00-B99 A00-A09 A00 KOR_TITLE 특정 감염성 및 기생충성 질환 창자 감염 질환 콜레라 A00.0 비브리오 콜레리 01 전형균에 의한 콜레라 A00.0 전형균에 의한 콜레라 A00.1 비브리오 콜레리 01 엘토르형균에 의한 콜레라 A00.1 엘토르형균에 의한 콜레라 A00.9 상세불명의 콜레라 A01 A01.0 장티푸스 장티푸스
More informationPowerPoint 프레젠테이션
IT CookBook, SQL Server 로배우는데이터베이스개론과실습 [ 강의교안이용안내 ] 본강의교안의저작권은한빛아카데미 에있습니다. 이자료를무단으로전제하거나배포할경우저작권법 136 조에의거하여최고 5 년이하의징역또는 5 천만원이하의벌금에처할수있고이를병과 ( 倂科 ) 할수도있습니다. Chapter3. SQL 기초 SQL Server 로배우는데이터베이스개론과실습
More informationMicrosoft PowerPoint _Operating System Transactions.pptx
CHOI HWAN JOON 2010. 08. 02 Application 은 concurrency 와 system failure 에직면했을때의정확성을위해 OS Resource 를 Synchronous 하게접근해야한다. System transaction( 이하 ST) 은개발자가여러종류의 System resource 를 OS가보장하는 ACID 한특성을이용해명시적으로변경할수있도록허용한다.
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationPowerPoint Template
설치및실행방법 Jaewoo Shim Jun. 4. 2018 Contents SQL 인젝션이란 WebGoat 설치방법 실습 과제 2 SQL 인젝션이란 데이터베이스와연동된웹서버에입력값을전달시악의적동작을수행하는쿼리문을삽입하여공격을수행 SELECT * FROM users WHERE id= $_POST[ id ] AND pw= $_POST[ pw ] Internet
More information목 차
Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle
More informationMicrosoft PowerPoint Python-DB
순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음
More informationMS-SQL SERVER 대비 기능
Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More informationPowerPoint 프레젠테이션
Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.
More information8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )
8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop
More information3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT
3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)
More information슬라이드 1
17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장
More information13주-14주proc.PDF
12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float
More informationPowerPoint Presentation
Computer Science Suan Lee - Computer Science - 06 데이터베이스 1 06 데이터베이스 - Computer Science - 06 데이터베이스 2 목차 1. 데이터베이스의개요 2. 데이터모델 3. 관계형데이터베이스 4. SQL 5. 모바일데이터베이스 - Computer Science - 06 데이터베이스 3 데이터베이스의개념
More information금오공대 컴퓨터공학전공 강의자료
데이터베이스및설계 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. 응용프로그램의논리적파일구조는직접물리적파일구조로구현
More information단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT
Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL
More informationPowerPoint 프레젠테이션
MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령
More informationALTIBASE HDB Patch Notes
ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake
More information슬라이드 제목 없음
MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,
More information6장. SQL
학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블
More informationORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O
Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration
More informationuntitled
PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0
More information이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다
이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,
More information슬라이드 제목 없음
뷰와시스템카탈로그 관계데이터베이스시스템의뷰 (view) 는다른릴레이션으로부터유도된릴레이션 (derived relation) 으로서 ANSI/SPARC 3단계아키텍처의외부뷰와다름 뷰는관계데이터베이스시스템에서데이터베이스의보안메카니즘으로서, 복잡한질의를간단하게표현하는수단으로서, 데이터독립성을높이기위해서사용됨 시스템카탈로그는시스템내의객체 ( 기본릴레이션, 뷰, 인덱스,
More informationContents Data Mart 1. 개요 실습방향 테스트위한사전설정 본격실습시작 ) 데이터파일 dd 명령어로 백업수행및유실시키기 ) 장애복구수행 결론...7 페이지 2 / 7
( 참 ) 본상단부머리말에있는 Data Mart 는본문서작성자의블로그이름입니다 dd 명령어를 이용한백업수행 최소개념이해 본문서의 pdf 문서는다음 URL 참조 http://mindata.tistory.com/55 Version 변경일자 ( 작성일자 ) 변경자 ( 작성자 ) 주요내용 1 2013.4.3 김민기 최초작성 2 3 페이지 1 / 7 Contents
More informationInsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins
Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.
More information금오공대 컴퓨터공학전공 강의자료
데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미
More informationSpring Boot/JDBC JdbcTemplate/CRUD 예제
Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.
More information歯sql_tuning2
SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1
More informationMicrosoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]
MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,
More informationBind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터
Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL
More information강의 개요
DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE
More information윈도우시스템프로그래밍
데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More informationMySQL-Ch10
10 Chapter.,,.,, MySQL. MySQL mysqld MySQL.,. MySQL. MySQL....,.,..,,.,. UNIX, MySQL. mysqladm mysqlgrp. MySQL 608 MySQL(2/e) Chapter 10 MySQL. 10.1 (,, ). UNIX MySQL, /usr/local/mysql/var, /usr/local/mysql/data,
More information뇌를자극하는 SQL Server < 이것만은알고갑시다 > 모범답안 2 장 1. Windows XP Home, Windows XP Professional, Windows Vista Basic, Window
< 이것만은알고갑시다 > 모범답안 2 장 1. Windows XP Home, Windows XP Professional, Windows Vista Basic, Windows Vista Home Premium, Windows Vista Business, Windows Vista Ultimate, Windows Server 2003, Windows Server
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationALTIBASE XDB Release Note APRIL 22, 2014
6.1.3 Release Note APRIL 22, 2014 목차 목차... 2 1. 시스템요구사항... 3 2. 릴리스정보... 4 2.1 6.1.3의주요기능... 4 2.2 변경사항... 8 데이터베이스버전... 8 호환성... 8 프로퍼티... 8 성능뷰... 8 에러메시지... 8 2.3 패키지... 9 2.4 다운로드... 10 위치... 10 설치...
More informationPowerPoint Template
JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것
More informationJDBC 소개및설치 Database Laboratory
JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }
More information목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4
ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]
More information<C6F7C6AEB6F5B1B3C0E72E687770>
1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의
More information5장 SQL 언어 Part II
5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT
More informationKNK_C_05_Pointers_Arrays_structures_summary_v02
Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",
More informationRelational Model
Relational Model Entity 실체 Department 학과코드 창립년도 홈페이지 학과코드 창립년도 홈페이지 학과코드 창립년도 홈페이지 학과코드 창립년도 홈페이지 학과코드 bis 창립년도 2001 홈페이지 bioeng. 학과코드 bs 창립년도 1972 홈페이지 bio. 학과코드 cs 창립년도 1972 홈페이지 cs. 학과코드 mas 창립년도 1972
More information문서 템플릿
HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,
More informationPowerPoint 프레젠테이션
Spider For MySQL 실전사용기 피망플러스유닛최윤묵 Spider For MySQL Data Sharding By Spider Storage Engine http://spiderformysql.com/ 성능 8 만 / 분 X 4 대 32 만 / 분 많은 DB 중에왜 spider 를? Source: 클라우드컴퓨팅구 선택의기로 Consistency RDBMS
More informationSystem Recovery 사용자 매뉴얼
Samsung OS Recovery Solution 을이용하여간편하게 MagicInfo 의네트워크를설정하고시스템을백업및복원할수있습니다. 시스템시작시리모컨의 - 버튼이나키보드의 F3 키를연속해서누르면복구모드로진입한후 Samsung OS Recovery Solution 이실행됩니다. Samsung OS Recovery Solution 은키보드와리모컨을사용하여조작할수있습니다.
More informationA. 다운로드 에접속한다. 검색창에 sql server 0 express 를입력하고검색을클릭한다. 검색결과중 [MicrosoftR SQL ServerR 0 서비스팩 (SP) Express] 를선택한
A SQL Server 0 설치 A. 소개 Relational DataBase Management System SQL Server 0는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 express 버전 의무료에디션을제공하는데, 이책에서는실습을위해 SQL Server 0 익스프레스에디 션 SP
More informationData Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager
Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1
More information<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>
제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information자연언어처리
제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List
More information뇌를자극하는 SQL Server 2012 (1 권 ) 1 권 : 기본편 < 이것만은알고갑시다 > 모범답안 1 장 1. (1) Microsoft (2) Oracle (3) IBM (4) Oracle (5) Micr
1 권 : 기본편 < 이것만은알고갑시다 > 모범답안 1 장 1. (1) Microsoft (2) Oracle (3) IBM (4) Oracle (5) Microsoft 2. (2) 3. 처리속도가빠르며, 별도의비용이들지않는다. 4. (4), (5) 5. (1), (4) 6. SQL Server 2005, SQL Server 2008, SQL Server 2008
More informationPowerPoint 프레젠테이션
실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)
More informationMicrosoft PowerPoint - chap01-C언어개요.pptx
#include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을
More informationMicrosoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx
To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse
More informationApplication 에서 Parameter 값을받아 JDBC Interface 로보내게되면적절한 JDBC Driver 를통해 SQL 을 Database 로보내주게되고결과를받아서사용자에게보여주게된다. 2-2 JDBC Interface JDBC 의핵심 Interface
All about JDBC Performance Tuning 엑셈컨설팅본부 /APM 팀임대호 1 개요 JDBC 란 Java Database Connectivity 의약어이며, 데이터베이스표준접근 API(Application Programing Interface) 를말한다. JDBC 를사용하면어떤관계형데이터베이스에서도, 각데이터베이스에맞는접근프로그램을따로생성할필요없이사용할수있다.
More informationALTIBASE HDB Patch Notes
ALTIBASE HDB 5.3.3.93 Patch Notes Table of Contents BUG-27950 ALL PRIVILEGES 권한을가진계정이다른계정의테이블에 Foreign Key 를 생성하지못한다. 3 BUG-38105 PASSWORD_LIFE_TIME 경과후유예기간 (PASSWORD_GRACE_TIME) 내에 접속을시도할경우알림메시지를발생해야한다.
More information슬라이드 1
Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)
More information(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :
#2 (RAD STUDIO) In www.devgear.co.kr 2016.05.18 (Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory : hskim@embarcadero.kr 3! 1 - RAD, 2-3 - 4
More informationMicrosoft PowerPoint - e pptx
Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information슬라이드 1
마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***
More information제품소개
Hybrid MM DBMS ALTIBASE 4 4 Technical Features : Part I Storage Manager ( 주 ) 알티베이스김성진 sjkim@altibase.com -2- CONTENTS 1. Problems & Goals 2. SM Architecture 3. Concurrency Control 4. TableSpace 5. Layers
More informationTina Admin
Lock session 확인 2010 년 01 월 27 일 DB 기술지원팀 문서정보 프로젝트명 Lock session 확인 서브시스템명 버전 1.0 문서명 작성일 2011-01-31 작성자 최종수정일 2011-01-31 문서번호 재개정이력 일자내용수정인버전 문서배포이력 발신자수신자배포목적일자비고 유니원아이앤씨 기술문서. Table of Contents 1 오라클의
More information목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault
사용자매뉴얼 JetFlash Vault 100 ( 버전 1.0) 1 목차 1. 시스템요구사항... 3 2. 암호및힌트설정 ( 윈도우 )... 3 3. JetFlash Vault 시작하기 ( 윈도우 )... 7 4. JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault 찾아보기... 10 JetFlash
More informationPowerPoint 프레젠테이션
15. 데이타베이스서버의 신뢰성과보안성 이장의주요내용 회복이필요한이유및절차 회복을위한개념들 로그 (log) UNDO 와 REDO 체크포인트 (checkpoint) 회복기법들 즉시갱신회복프로토콜 (UNDO/REDO) 그림자페이지기법 Fundamentals of Database System, 6 th, Elmasri Navathe, 23 장 데이타베이스회복기술이필요한이유
More information<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>
25 강. 수열의극한참거짓 2 두수열 { }, {b n } 의극한에대한 < 보기 > 의설명중옳은것을모두고르면? Ⅰ. < b n 이고 lim = 이면 lim b n =이다. Ⅱ. 두수열 { }, {b n } 이수렴할때 < b n 이면 lim < lim b n 이다. Ⅲ. lim b n =0이면 lim =0또는 lim b n =0이다. Ⅰ 2Ⅱ 3Ⅲ 4Ⅰ,Ⅱ 5Ⅰ,Ⅲ
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More informationFlashBackt.ppt
1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query
More information항목
Cloud 컴퓨팅기반분산파일시스템개요 개발실 UPDATE : 2012. 11 18 INDEX 1. 가용성 2. 확장성 3. PrismFS 4. Q&A 2 가용성 3 Gmail 장애 2011년 2월 27일 34000명의 Gmail 사용자들이일어나보니메일, 주소록, 채팅기록등이사라진것을발견 2011년 2월 28일 스토리지소프트웨어업데이트를진행하는중 Bug로인해발생했다고공지
More informationOracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용
Oracle hacking 작성자 : 임동현 (ddongsbrk@naver.com) 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용 Skill List 1. Oracle For Pentest 1. Find TNS Listener (Default 1521 port) (with nmap or amap) 2. Get the
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More informationMicrosoft PowerPoint - QVIZMVUMWURI.pptx
데이타베이스시스템 2011.03 충북대학교경영정보학과조완섭 (wscho@chungbuk.ac.kr) Chap. 4 SQL 질의어 C4 2 목차 - SQL2에서데이터정의, 제약조건및스키마변경 - SQL에서의기본질의 - 더복잡한 SQL 질의들 - SQL에서삽입, 삭제, 갱신구문 - SQL 뷰 - 주장으로추가적인제약조건명시 - SQL의부가적인기능들 Ch4 3 SQL
More information