<B5A5C0CCC5CDBAA3C0CCBDBA20BDC7B1E B0AD3134B0AD3135B0AD2E687770>

Similar documents
DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - ch10_회복과 병행 제어.pptx

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

Microsoft PowerPoint - 10Àå.ppt

슬라이드 제목 없음

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

MySQL-.. 1

untitled

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

Microsoft PowerPoint - 사본 - DB06-SQL,시스템카탈로그,뷰.ppt

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

SQL

PowerPoint Presentation

< D53514C2CBAE42CBDC3BDBAC5DBC4ABC5BBB7CEB1D72D3130B3E2B0A3B1E2C3E2BAD0B7F9C1FD28C5EBC7D5292E687770>

쉽게 풀어쓴 C 프로그래밊

슬라이드 제목 없음

<C1A4BAB8C3B3B8AE5FBBEABEF7B1E2BBE75FC7CAB1E25F E687770>

6장. SQL

슬라이드 제목 없음

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

PowerPoint 프레젠테이션

[Brochure] KOR_TunA

Microsoft PowerPoint - Database.ppt

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

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

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

5장 SQL 언어 Part II

Object Oriented Analyis & Design Training Agenda

Microsoft PowerPoint - ch07_데이터베이스 언어 SQL.pptx

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

lecture01

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

<4D F736F F F696E74202D20BFC0B6F3C5AC2D31C0E52DB5A5C0CCC5CDBAA3C0CCBDBA20BDC3BDBAC5DB2E BC8A3C8AF20B8F0B5E55D>

untitled

슬라이드 제목 없음

JDBC 소개및설치 Database Laboratory

초보자를 위한 ADO 21일 완성

Microsoft PowerPoint - QVIZMVUMWURI.pptx

PowerPoint Presentation

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

Intra_DW_Ch4.PDF

윈도우시스템프로그래밍

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

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

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

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

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

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

빅데이터분산컴퓨팅-5-수정

강의 개요

강의 개요

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

Microsoft PowerPoint SQL 추가 기능

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

10.ppt

<4D F736F F F696E74202D20BFC0B6F3C5AC2D38C0E52DBAE4BFCD20BDC3BDBAC5DB20C4ABC5BBB7CEB1D72DBFC0B6F3C5AC2E BC8A3C8AF20B8F0B

슬라이드 제목 없음

03-01 데이터모델링과데이터모델의개념 개체-관계모델 논리적데이터모델

<4D F736F F F696E74202D2039C0E52DC6AEB7A3C0E8BCC72E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint Python-DB

윈도우시스템프로그래밍

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

JVM 메모리구조

Module 2 Active Directory Domain Services 소개

12. 데이타베이스 설계

PowerPoint 프레젠테이션

Chapter 5 비즈니스인텔리젼스의기초 : 데이터베이스와정보관리

PowerPoint Presentation

Microsoft PowerPoint - 27.pptx

< B3E220C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE B3E2B0A320B1E2C3E2B9AEC1A6C0BAC7E02E687770>

TITLE

PowerPoint 프레젠테이션

untitled

슬라이드 1

PowerPoint Presentation

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

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEB1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

<4D F736F F F696E74202D20C1A4BAB8C3B3B8AEBBEABEF7B1E2BBE72DC7CAB1E2B1B3C0E B3E231C8B8292E707074>

VENUS Express 사용자 매뉴얼

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

PowerPoint Presentation

게시판 스팸 실시간 차단 시스템

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

歯sql_tuning2

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

ALTIBASE HDB Patch Notes

JAVA PROGRAMMING 실습 08.다형성

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Cloud Friendly System Architecture

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

gisa_pil_070304_pdf.hwp

슬라이드 1

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Transcription:

3. SQL 뷰 - 하나이상의테이블로부터유도되어만들어진가상테이블. 1) 뷰의특징 1 뷰가정의된기본테이블이제거 ( 변경 ) 되면, 뷰도자동적으로제거 ( 변경 ) 된다. 2 외부스키마는뷰와기본테이블의정의로구성된다. 3 뷰에대한검색은기본테이블과거의동일.( 삽입, 삭제, 갱신은제약 ) 4 DBA는보안측면에서뷰를활용할수있다. 5 뷰는 CREATE문에의해정의되며, SYSVIEWS에저장된다. 6 한번정의된뷰는변경할수없으며, 삭제한후다시생성. 7 뷰의정의는 ALTER문을이용하여변경할수없다. 8 뷰를제거할때는 DROP문을사용한다. 2) 뷰의장단점 1 장점ᄀ논리적독립성제공ᄂ데이터접근제어로보안가능ᄃ사용자의데이터관리를간단하게함ᄅ하나의테이블로여러개의상이한뷰를정의 2 단점ᄀ독자적인인덱스를가질수없다. ᄂ정의를변경할수없다. ᄃ삽입, 삭제, 갱신연산에많은제약이따른다. 실전트레이닝 6 회 ( 6. SQL ) 문제1) 괄호안의내용에가장적합한번호를답항보기에서한가지만선택하여답안지의해당번호에마크하시오. 문제번호 개념 ( 1 ) 새로운데이터베이스사용자를등록하기위한명령 ( 2 ) 존재하는테이블, 인덱스, 사용자등의내용변경 ( 3 ) SELECT 문장에서질의된데이터를정렬하는명령 ( 4 ) UPDATE 테이블명 ( 4 ) 변경식 ; ( 5 ) 질의수행시두번이상반복되는열을제거하기위한명령 ( 6 ) 생성된테이블또는인덱스를제거하는명령 ( 7 ) 테이블에존재하는열의개수를파악하는집합함수 ( 8 ) INSERT INTO 테이블명 ( 8 ) ( 데이터값 ); ( 9 ) 존재하는데이터의일부분을비교하는부분매치질의에사용 ( 10 ) SELECT 속성명 FROM 테이블명 ( 10 ) 선정조건 ; [ 답항보기 ] 1 CREATE 2 CURSOR 3 ASCENDING 4 ATTRIBUTE 5 BETWEEN 6 COUNT 7 ALTER 8 DATA VALUE 9 DATABASE 10 DDL 11 DELETE 12 DEPENDENT 13 DISTINCT 14 DOMAIN 15 DROP 16 EXCEPT 17 EXECUTE 18 FROM 19 GROUP BY 20 HAVING 21 IDENTIFIER 22 MAX 23 INDEX 24 INTEGRITY 25 JOIN 26 SELECT 27 SET 28 MODELING 29 ORDER BY 30 WHERE 31 LIKE 32 VALUE 33 VALUES 34 SORT BY 35 SCHEMA - 1 - - 2 -

문제2) 괄호안의내용에가장적합한번호를답항보기에서한가지만선택하여답안지의해당번호에마크하시오. 귀하는한국대학교의학생관리시스템을관리하는운영자로서사용자가요청한데이터를검색하려고 한다. 사용자가요청한데이터를검색하기위해 SQL의 SELECT문을사용하였다. SELECT는기본적으로 SELECT절, FROM절, WHERE절로구성되는데, SELECT절에는검색할속성을기술하며, FROM절에서는검 색할데이터를포함하는 ( 1 ) 을기술한다. WHERE절에서는검색할조건을기술하며, 다양한조건연 산자를사용할수있다. 다음은 [ 학생 ] 테이블에대해귀하에게요구한사용자들의질의를정리한것이다. [ 학생 ] 학번 이름 학과 학년 주소 15 김유신 컴퓨터 3 효자동 16 임꺽정 국문 4 석사동 17 홍길동 컴퓨터 3 후평동 18 강감찬 컴퓨터 4 효자동 19 장길산 국문 3 후평동 20 김선달 국문 3 고진동 21 이순신 컴퓨터 4 원곡동 22 김춘삼 국문 4 질의1) 학생중에서컴퓨터학과에소속되어있거나 3학년인학생의학번과이름을알고싶다. 질의2) 주소가입력된학생들에대해서만각학과별학생수를알고싶다. 귀하는특정속성을기준으로그룹화하여검색하기위한 GROUP BY 절을사용했으며, 그룹에대한조건을지정하기위해서는반드시 ( 4 ) 절을사용해야한다. <SQL> < 결과 > 학과학생수 SELECT 학과, ( 5 ) AS 학생수컴퓨터 4 FROM 학생국문 3 WHERE 주소 ( 6 ) GROUP BY 학과 ; 질의3) 컴퓨터학과의학생중학번이 18 이상인학생의학번을검색하되, 학번을기준으로내림차순정렬하여확인하고싶다. 귀하는이 SQL문에서정렬을위해 ORDER BY절을사용했으며, 내림차순으로정렬하기위해속성명뒤에키워드 ( 7 ) 를기술했다. <SQL> < 결과 > 학번 SELECT 학번 ( 9 ) ( 8 ) 학생 ( 10 ) WHERE 학과 = 컴퓨터 AND 학번 >= 18 ORDER BY 학번 ( 7 ); <SQL> SELECT ( 2 ) FROM 학생 WHERE 학과 = 컴퓨터 ( 3 ) 학년 = 3; [ 답항보기 ] 1 개체 2 NOT NULL 3 21 4 SELECT 5 학번 < 결과 > 학번 이름 15 김유신 17 홍길동 18 강감찬 19 장길산 20 김선달 22 이순신 6 테이블 7 학번, 이름 8 그룹함수 9 주소 10 17 11 INTERSECT 12 HAVING 13 AND 14 이름 15 COUNT(*) 16 SET 17 20 18 치환규칙 19 학생 20 석사동 21 DESC 22 FROM 23 IS NOT NULL 24 18 25 속성 26 ASC 27 OR 28 BY 29 독립성 30 무결성 - 3 - - 4 -

7. 고급데이터베이스 1. 트랜잭션의특징 1) 트랜잭션 1 한꺼번에모두수행되어야할일련의데이터베이스연산들. [ 응용프로그램 = 하나이상의트랜잭션 ] [ 트랜잭션 = 하나이상의데이터베이스연산 (SQL명령)] 4) 트랜잭션의상태 1 활동 (active) : 트랜잭션이실행을시작하여실행중인상태 2 부분완료 (partially committed) : 트랜잭션이마지막명령문을실행한직후의상태 3 장애 (failed) : 정상적실행을더이상계속할수없어서중단한상태 4 철회 (aborted) : 트랜잭션이실행에실패하여 ROLLBACK 연산을수행한상태 5 완료 (committed) : 트랜잭션이실행을성공적으로완료하여 COMMIT 연산을수행한상태 2 병행제어및회복작업의논리적단위. 3 원자성 (atomicity) 을가짐. 4 OLTP와 OLAP : 단순레코드를위주로한은행계좌처리, 항공예약처리등의단순트랜잭션처리응용을 OLTP(OnLine Transaction Processing) 라고하고, 대규모레코드를대상으로시장분석, 판매동향분석등을수행하는 DSS, EIS, Data Warehouse 등의복잡한트랜잭션처리응용을 OLAP(OnLine Analytical Processing) 라고한다. 2) 트랜잭션의성질 1 원자성 (atomicity) : 트랜잭션은전부, 전무의실행만이있지일부실행으로트랜잭션의기능을가질수는없다. 2 일관성 (consistency) : 트랜잭션이그실행을성공적으로완료하면언제나일관된데이터베이스상태로된다라는의미이다. 즉, 이트랜잭션의실행으로일관성이깨지지않는다라는의미. 3 격리성 (isolation) : 연산의중간결과에다른트랜잭션이나작업이접근할수없다라는의미. 4 영속성 (durability) : 트랜잭션의일단그실행을성공적으로끝내면그결과를어떠한경우에라도보장받는다라는의미. 3) 트랜잭션의원자성과관련된연산 1 COMMIT : 트랜잭션의성공적인종료 - 데이터베이스는일관적인상태에놓임 - 데이터베이스에대한갱신작업이영구적으로반영됨 - 명시적 COMMIT(explicit COMMIT) : 데이터베이스사용자가 COMMIT 명령을직접사용 - 암시적 COMMIT(implicit COMMIT) : DBMS가사용자 session 종료시알아서 COMMIT 2 ROLLBACK : 트랜잭션의비정상적인종료 - 데이터베이스는비일관적인상태에놓임 - 데이터베이스에대한갱신작업이취소되어야함 (undo) 5) 트랜잭션의철회 (ROLLBACK) 시조치 1 트랜잭션의재시작 (restart) 2 트랜잭션의폐기 2. 회복 (Recovery) 1) 장애의유형 1 트랜잭션장애 : 트랜잭션내의오류나내부조건, 즉입력데이터의불량, 데이터의불명, 시스템자원의과다사용요구등으로정상적인실행을계속할수없는상태 2 시스템장애 : 하드웨어의오동작으로메인메모리에있는정보의손실이나교착상태가발행하여더이상실행을계속할수없는상태 3 미디어장애 : 디스크헤드붕괴나고장으로인해저장장치의데이터베이스일부또는전부가손상된상태 4 행동장애 : 데이터를발견하지못했거나연산실패이면그행동을철회하고응용프로그램에통보한다. 2) 회복의기본원리 : 정보의중복 (Redundancy) 1 복사및덤프 : 아카이브 2 로그 (log) 또는저널 (journal) : 갱신된속성의옛값 / 새값 3) 회복조치유형 1 REDO : 아카이브사본 + 로그 회복된데이터베이스 2 UNDO : 로그 + 후향 (backward) 취소연산 시작상태 4) 미디어장애시회복기법 1 최신의아카이브덤프로부터데이터베이스를적재 2 그덤프이후에종료된모든트랜잭션들을로그를이용해 REDO - 5 - - 6 -

3. 병행제어 (Concurrency Control) (2) 주요병행제어방법 (1) 병행제어의필요성다중사용자환경에서는여러개의트랜잭션이섞여서실행되는데이러한병행실행은특별한제어방법을사용하지않을경우갱신손실등의문제를야기한다. 여러트랜잭션의 병행수행으로인한문제를제거하는방법 을 병행제어 라한다. 대표적인병행제어방법으로 2단계로킹 (Locking) 방법을들수있다. 1) 병행제어 (Concurrency Control) 1 목적 : 공유도는최대, 응답시간은최소, 시스템활용도는최대 2 필요성 : 여러사용자가공유된데이터베이스를동시접근시여러문제가발생가능 2) 병행제어를안할때의문제점 1 갱신분실 (lost update) 일련의갱신작업시일부갱신사실이반영안됨 ex) T1 : read A T2 : read A T1 : update A // lost update T2 : update A 2 모순성 (inconsistency) 1) 로킹기법 1 로킹 (locking) 주요데이터사용시 lock and then execute" 2 well-formed 트랜잭션 접근전데이터객체를잠금 (lock) 다른트랜잭션이잠근객체는잠그지않은 (do not lock) 트랜젹션종료전잠근모든객체를풀은 (unlock) 3 로킹단위 (locking granularity) 로킹의대상이되는객체의크기 주요단위 : 데이터베이스, DBSPACE, 테이블, 페이지 ( 여러행 ), 행 - 커지면 : 로킹오버헤드감소, 데이터베이스공유도저하 - 작아지면 : 로킹오버헤드증가, 데이터베이스공유도증가 4 로킹의종류 Shared(S), Exclusive(X) 다단계로킹시 : Intention-Shared(IS), Shared and Intention-Exclusive(SIX), Intention-Exclusive(IX) 5 2단계로킹 (2PL : Two-Phase Locking) 확장단계 (growing phase) : 객체를사용하기전에잠금 (lock) 축소단계 (shrinking phase) : 한번풀기시작했으면 (unlock), 더이상잠그지못함이방법을따르는트랜잭션들이여러개섞여실행되면직렬가능성만족 ex) T1 : read A T2 : read/update A T2 : read/update B T1 : read B // T1이읽고자했던값이아님 3 연쇄복귀 (cascading rollback) ex) 2단계로킹을하는트랜잭션의예 T1 : lock A 1 update A 2 1,2,3 : 확장단계 lock B 3 unlock A 4 update B 5 4,5,6 : 축소단계 unlock B 6 ex) T1 : read A T1 : update A T2 : read A // T2가 T1이갱신한값사용 T2 : update A // T2 commit T1 : rollback // 이미 commit된 T2는 rollback 불능 회복불능 3) 직렬가능성 (Serializability) 트랜잭션들을병행처리한결과가트랜잭션들을순차적으로 ( 직렬로 ) 수행한결과와같아지는것 - 7 - - 8 -

4. 분산데이터베이스 (1) 클라이언트 / 서버데이터베이스 1) 기본구조 1 보통데스크톱컴퓨터 ( 주로 PC) 가클라이언트역할을하고, 워크스테이션 ( 이상슈퍼, 미니, 메인프레임등 ) 이서버역할을한다. 그러나이론적으로는어떤기종의컴퓨터라도클라이언트와서버역할을수행할수있다. 2 클라이언트와서버는 LAN을통해연결된다. 3 클라이언트는잘정의된프로토콜을따라서버와교신한다. 2) 특징 1 클라이언트컴퓨터가더미터미널에서 CPU를장착한독립적인컴퓨터가되면서컴퓨팅능력이생겨다음과같은사항이개선된다. 사용자인터페이스가 character-base 방식에서 GUI(Graphical User Interface) 방식으로개선 메인프레임에서실행되던응용프로그램이클라이언트상에서실행된다. 2 서버는데이터베이스관리와부가적인컴퓨팅파워를제공하는역할을한다. 3) 장점 사용자인터페이스가 GUI 기반으로크게개선된다. 응용개발도구가크게개선되었다. ESQL/COBOL 방식에서 PowerBuilder, Delphi, Access와같은 Windows 기반응용개발도구가응용시스템의개발을용이하게하고있다. UNIX와같은개방시스템의도입으로호환성, 표준화, 개방화가가능하다. 4) 단점 초대형 OLTP 응용에는적합하지못하다. 사업상중요한데이터에대한중앙통제가어려워진다. 협동처리를위해개발된분산응용은비분산응용보다프로그램형태가복잡하다. 문제발생시해결작업도쉽지않다. 클라이언트의요청쇄도시서버가병목 (bottleneck) 이될수있다. 5) 표준 API 방식의미들웨어 (ODBC : Open DataBase Connectivity) 1 개념 Microsoft에의해제안됨. 삽입 SQL을포함한응용프로그램이어떤 DBMS에서든지실행될수있도록하는 DBMS 간의상호연동성 (interoperability) 제공이목적 2 ODBC의특징 최대한의상호연동성을제공한다. 단일응용프로그램이여러개의상이한 DBMS들에접근할수있다. 응용프로그래머는특정 DBMS를고려하지않고서도응용프로그램을개발, 컴파일, 납품할수있다. ODBC 함수호출라이브러리를이용해응용프로그램은 DBMS에 connect하고, SQL문을실행하고, SQL 실행결과를검색할수있다. SQL 구문은 1992년에제정된 X/Open과 SAG SQL CAE 명세를기반으로한다. 4 ODBC 구성요소 드라이버 (driver) : ODBC 함수호출을처리하고 SQL 요청을특정데이터소스에제출 드라이버관리기 (driver manager) : 드라이버를로딩 데이터소스 (data source) : 데이터베이스 6) 객체지향방식의 SQL 미들웨어 1 OLEDB 이질적인데이터소스에대한객체지향인터페이스를 COM 모델기반으로규정 여러 DBMS 벤더의데이터베이스테이블들, 텍스트파일등에대한접근가능 2 ADO OLEDB 인터페이스를랩핑 (wrapping) 해 COM 객체화시킨것 Connection, Command, RecordSet 객체를제공 여러 DBMS 벤더의데이터베이스테이블, 텍스트파일, HTML 파일등에대한접근가능 (2) 분산데이터베이스개념과장단점 1) 정의 1 분산데이터베이스 : 컴퓨터네트워크상에분산된논리적으로서로연관된다중데이터베이스의모임 2 분산 DBMS : 데이터베이스를관리하고데이터의분산을사용자에게투명하게만들어주는소프트웨어시스템 2) 구성요소 1 분산처리기 (distributed processor) : 지리적으로분산되어있는컴퓨터시스템 2 분산데이터베이스 (distributed database) : 지리적으로분산되어있는지역데이터베이스 3 통신네트워크 (communication network) : 지리적으로분산된자치처리기들을통신으로연결시켜자원을공유하게함으로써논리적으로하나의시스템기능을할수있게하는망 3) 시스템의목표 1 위치투명성 (location transparency) - 사용하려는데이터가저장된사이트를사용자는알필요가없는것. 위치정보는시스템카탈로그에유지 2 중복투명성 (replication transparency) - 한논리적데이터객체가여러상이한사이트에중복될수있음. - 중복데이터의일관성유지는사용자와무관하게시스템이수행 - 9 - - 10 -

4) 장점 1 지역자치성 (local autonomy) 자신의데이터를지역적으로제어 원격데이터처리센터에대한의존도가줄어듦 2 점진적인시스템용량확장 단일컴퓨터에서불가능한대용량데이터베이스구축가능 기존시스템에새로운사이트추가용이 3 신뢰성 (reliability) 및가용성 (availability) 특정사이트가고장나도일부는계속수행하므로신뢰도증가 데이터의중복으로가용성증가 4 효율성 (efficiency) 및융통성 (flexibility) 데이터를주로사용하는위치가까이에둘수있으므로효율적 데이터를동적으로이동, 중복, 제거할수있음 5) 단점 1 소프트웨어개발비용 2 오류의잠재적증대 3 처리비용의증대 5. 데이터베이스튜닝 (Database Tuning) (1) 데이터베이스튜닝의개념 - 데이터베이스어플리케이션, 데이터베이스자체, 운영체제등의조정을통하여데이터베이스시스템의성능을향상시키는작업. ( 높은작업처리량과짧은응답시간을갖도록하는것 ) - 복잡화, 대량화되고있는시스템을그대로유지하면서데이터베이스시스템을최적화하는것. (2) 데이터베이스튜닝의목적 - 데이터베이스설계및활용에존재하는문제점을파악분석. - 업무환경과시스템환경에적합하게데이터베이스파라미터설정. - 데이터베이스에접근하는 SQL문장의수행시디스크블록에대한접근횟수최소화. - 모든 SQL문장은공유가가능하도록대소문자등명명표준을준수하여작성. - 락 (lock) 발생의최소화. - 배치 (batch) 작업과백업작업수행이빠른시간안에완료될수있도록한다. (3) 데이터베이스튜닝방법론 - 비율기반분석, 대기이벤트기반분석, 응답시간분석 (4) 데이터베이스튜닝의단계 1 비즈니스규칙튜닝 2 데이터설계튜닝 3 어플리케이션설계튜닝 4 데이터베이스의논리적구조튜닝 5 데이터베이스접근방식튜닝 6 액세스경로튜닝 7 메모리운영튜닝 8 물리적구조및입출력튜닝 9 자원의경합에대한튜닝 10 H/W 시스템에특화된부분의튜닝 8. 데이터베이스관련용어정리 - Data : 가공되지않는사실, 처리되지않은사실을의미, 단순한사실. - Information : 결정의근거가되는처리가된데이터, data를가공 처리한결과. - Entity : 실세계에존재하는유형 무형의정보, 인간이생각하는개념또는정보의세계에서의의미있는정보의단위. - Attribute : 데이터의가장작은논리적단위. 그자체만으로는중요한의미를가지지못하며단독으로존재하기어려운특성을갖는다. - Domain : 관계데이터베이스에서하나의속성이취할수있는값의집합. - Primary Key : 관계데이터베이스 (RDB) 에서관계 ( 데이터베이스테이블 ) 내의특정투플 ( 열 ) 을유일하게식별할수있는키필드. - Foreign Key : 관계형데이터베이스에서, 외래키는한테이블내의필드또는필드의결합으로서, 반드시다른테이블의주키와대응되거나, 또는널값을가져야한다. 외래키는테이블들의관계를설정하는빌딩블록의역할을제공하며, 데이터베이스테이블들간에참조무결성을보장하기위해사용된다. - 개체무결성제약조건 : 기본키값은 NULL이어서는안된다는규정. - 참조무결성제약조건 : 외래키값은 NULL이거나참조릴레이션의기본키와동일해야한다는규정. - 도메인무결성제약조건 : 특정속성값이그속성이정의된도메인에속한값이어야한다는규정. - DataBase Administrator (DBA) : 성공적인데이터베이스환경을유지하는데필요한제반활동들을지휘감독하거나직접수행하는사람이나조직. - Data Definition Language (DDL) : 데이터와데이터의관계를정의하는데사용되는언어. 데이터베이스내에서데이터구조를만드는데사용. (Create, Alter, Drop) - Data Manipulation Language (DML) : 데이터베이스내의데이터를검색, 삽입, 갱신, 삭제를하는데사용되는일련의명령어들이다. (Select, Insert, Update, Delete) - 절차적DML, 비절차적DML - Data Control Language (DCL) : 데이터베이스사용권한및데이터의무결성, 병행수행제어기능등을관리하는언어. (Grant, Revoke) - 11 - - 12 -

- DataBase : 여러사람에의해공유되어사용될목적으로통합관리되는정보의집합. - DataBase Management System (DBMS) : 다수의사용자들이데이터베이스안에데이터를기록하거나접근할수있도록해주는프로그램이다. 사용자와데이터베이스의중재자역할. - 데이터의독립성 : 데이터베이스의궁극적인목적. 데이터의논리적독립성 : 데이터베이스환경또는업무의변화발생시데이터사전만을변경. 애플리케이션의변경없이시스템을그대로사용. 데이터의물리적독립성 : 특정데이터가서로다른물리적장치에존재해도동일한방법으로접근. 다른물리적장치에존재해도항성같은경과값을제공해줌. - VIEW : 하나이상의테이블로부터유도되어만들어진가상테이블. DB의부분집합을논리적으로표현.( 논리적테이블 ) - SQL : 관계대수와관계해석을기초로한고급데이터언어.( 구조적질의어 ) 데이터정의 조작 제어기능제공. - 관계연산 : 합집합, 교집합, 차집합, 카티션프로덕트, 프로젝트, 셀렉트, 조인, 디바이드 - 데이터웨어하우스 : 사용자의의사결정에도움을주기위해다양한운영시스템에서추출, 변환, 통합되고요약된데이터베이스. - 스키마 : DB의구조 ( 개체, 속성, 관계 ) 에대한정의와이에대한제약조건등을기술한것으로컴파일되어데이터사전에저장.(DB의논리적구조를전반적으로기술하는것 ) 외부스키마 : 사용자나응용프로그래머의관점. 개념스키마 : 범기관적입장.( 외부스키마통합 ) 내부스키마 : 물리적저장장치의관점. - 데이터마이닝 : 많은데이터가운데숨겨져있는유용한상관관계를발견하는것. - 데이터모델링 : 현실세계의데이터를컴퓨터세계의데이터로표현하는작업. 논리데이터모델링 : 사용자들의요구사항을분석하여 DB에저장될정보를파악하고, 필요한정보들간의연관관계를모형화하는과정. 물리데이터모델링 : 논리데이터모델을사용하고자하는각 DBMS의특성을고려하여 DB 저장구조로변환하는작업을수행하는과정. - 정규화 : 함수적종속성등의종속성이론을이용하여잘못설계된관계형스키마를더작은속성의세트로쪼개어바람직한스키마로만들어가는과정. 정규화 정규화내용 1 차정규화복수의속성값을갖는속성을분리. ( 원자값 ) 2 차정규화 3 차정규화 기본키에종속적이지않은속성의분리. 부분종속속성을분리. ( 기본키에완전함수종속 ) 속성에종속적인속성의분리. 이행종속속성의분리. ( 이행적함수종속이아닌경우 ) 보이스 - 코드정규화다수의기본키분리. ( 모든속성이후보키인경우 ) 4 차정규화다치종속속성분리. ( 다치종속 ) 5 차정규화조인종속 - ER모델 : 현실세계의개념적표현으로서개체타입과관계타입을기본개념으로현실세계를개념적으로표현하는방법으로 1976년 P.Chen이제안. - 13 - - 14 -