본문 바로가기

ORACLE11g

[16장] 병행 제어 (Concurrency Control) 1. 병행 제어(Concurrency Control)의 개념 ・동시에 여러개의 트랜잭션을 병행 수행할 때, 트랜잭션들이 DB의 일관성을 파괴하지 않도록 트랜잭션 간의 상호작용을 제어하는 것.・병행성 : 트랜잭션을 동시에 인터리빙(Interleaving)하게 실행되는 것.・인터리빙 : 트랜잭션이 번갈아가며 조금씩 처리를 수행하는 것. 2. 병행 제어의 목적 ・DB의 공유도 최대화.・시스템 활용도 최대화.・응답 시간 최소화.・단위 시간당 트랜잭션 처리 건수 최대화.・DB의 일관성 유지 3. 병행 제어의 필요성 ・트랜잭션이 병행제어 없이 DB에 동시에 접근할 경우, 다음과 같은 문제점이 발생함.문제점 의미 갱신 분실(Lost Update) ・같은 데이터를 공유하여 갱신할 때 갱신 결과의 일부가 사라지는 현상... 더보기
[15장] 회복 (Recovery) 1. 회복의 개념 ・트랜잭션을 실행하는 도중 장애가 발생하여 DB가 손상되었을 경우 손상되기 이전의 정상상태로 복구하는 작업. 2. 장애의 유형 ・실행 장애(Action Failure)・트랜잭션 장애(Transaction Failure)・시스템 장애(System Failure)・미디어 장애(Media Failure) 3. 회복 관리기(Recovery Manager : RMAN) ・로그, 메모리 덤프등을 이용하여 회복 기능을 수행하는 DBMS의 핵심 구성 요소・트랜잭션 실행 실패 시 로그를 이용하여 모든 변화를 Undo시키는 역할.・로그를 이용하여 Redo도 수행한다. 4. 회복 기법 ・연기 갱신(Differed Update)・즉각 갱신(Immediate Update)・그림자 페이지(Shadow Pagin.. 더보기
[14장] 정규화 (Normalization) 1. 정규화의 개념 ・정규화는 종속적인 관계를 무손실 분해하는 과정이다.・정규화의 목적은 중복을 제거하여 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것이다. 2. 정규화 과정 ・제 1 정규형 ( 1NF ) 모든 속성의 도메인이 원자값으로만 되어있는 정규형 ・제 2 정규형 ( 2NF )부분 함수적 종속을 제거한 정규형 ( 완전 함수적 종속 ) ・제 3 정규형 ( 3NF )이행 함수적 종속을 제거한 정규형 ・BCNF 정규형모든 결정자가 후보키인 정규형 ・제 4 정규형 ( 4NF )다치 종속을 제거한 정규형 ・제 5 정규형 ( 5NF )조인 종속이 후보키를 통해서만 성립되는 정규형 ・역정규화 (Denormalization)조인 ↑ 응답속도 ↓ 성능↓ 상태가 되면, 다시 정규화 과정을 되돌려 성능을 향상시.. 더보기
[13장] 함수적 종속 1. 함수적 종속(Functional Dependency)의 개념 ・Y는 X에 함수적 종속 또는 X가 Y를 함수적으로 결정한다고 하면, X→Y로 표기한다.・이 때, X를 결정자(Determinant)라 하고 Y를 종속자(Dependent)라고 한다.・함수적 종속적 = 의존적 더보기
[12장] 이상 (Anomaly) 1. 이상의 개념 ・이상(Anomaly)이란 테이블에서 일부 속성들의 종속으로 인해 데이터 중복이 발생하고, 이 중복(Redundancy)으로 인해 테이블 조작 시 문제가 발생하는 현상을 의미한다. 2. 이상의 종류 ― 삽입 이상(Insertion Anomaly)― 삭제 이상(Deletion Anomaly)― 갱신 이상(Update Anomaly) 3. 삽입 이상 ・원하지 않은 값들로 인해 삽입할 수 없게 되는 현상. 4. 삭제 이상 ・삭제 시 의도와는 상관없는 값들도 함께 삭제되는 현상. 5. 갱신 이상 ・갱신 시 일부의 정보만 갱신되어 정보에 불일치성(Inconsistency)이 생기는 현상 더보기
[11장] 트랜잭션 (Transaction) 1. 트랙잭션(Transaction)의 정의 ・DB에서 하나의 논리적 기능을 수행하기 위한 작업의 단위.・COMMIT(정상종료), ROLLBACK(철회) 2. 트랜잭션의 특성 ・트랜잭션은 무결성을 보장하기 위하여 다음과 같은 특성을 가진다.・원자성(Atomicity)ー 트랜잭션의 연산은 모두 반영되든지 아니면 전혀 반영되어서는 안된다.・일관성(Consistency)ー 트랜잭션 수행이 완료되면 언제나 일관성을 유지해야 한다.・독립성(Isolation)ー 한 트랜잭션이 데이터를 갱신하는 동안 다른 트랜잭션이 접근해서는 안된다.ー 여러 트랜잭션이 동시에 수행되더라도, 그 결과는 순차적으로 실행된 것과 같아야 한다.・영속성(Durablity)ー 트랜잭션이 완료된 후에는 어떤 오류가 발생하더라도 내용이 계속 보존.. 더보기
[10장] 인덱스 (Index) 1. 인덱스의 개념 ・튜플에 빨리 접근하기 위한 쌍・인덱스가 없으면 모든 데이터를 다 뒤지는 TABLE SCAN이 발생. 2. m-원 검색 트리(m-Way Search Tree) ・한 노드가 1개의 키 값과 2개의 서브 노드를 갖는 이진 검색 트리를 일반화 한 트리.・한 노드가 최대 m-1개의 키 값과 최대 m개의 서브 노드를 갖는다.・이진 검색 트리보다 분기율이 향상되어 트리 깊이가 낮아져 특정 노드에 대한 검색 시간이 감소한다.・키의 삽입, 삭제 시 트리의 균형을 유지하기 위하여 복잡한 연산이 수반되어야 한다는 단점이 있음. 3. B-트리 ・인덱스를 구성하는 방법으로 많이 사용되는 균형된 m-원 검색 트리이다.・키 값과 레코드를 가리키는 포인터들이 트리 노드에 오름차순으로 저장된다.・키의 삽입과 삭제.. 더보기
[9장] 시스템 카탈로그 (System Catalog) 1. 시스템 카탈로그의 개념 ・모든 데이터 개체들에 대한 정의나 명세.・DDL의 결과로 구성되는 정보들.・데이터 사전이라고도 한다. 2. 시스템 카탈로그의 내용 릴레이션 관련 정보・이름・저장된 파일 이름과 파일 구조・속성들에 대한 속성 이름과 도메인・정의된 인덱스의 이름・정의된 무결성 제약 조건 인덱스 관련 정보・이름・구조・키에 대한 정보 뷰 관련 정보・이름・정의・소유자 통계 관련 정보・릴레이션 카디널리티・인덱스 카디널리티・인덱스의 높이 : 각 트리 인덱스에 대한 레벨・인덱스의 범위 : 각 인덱스에 대한 최소, 최대 키 값 3. 시스템 카탈로그의 특징 ・SQL문을 이용하여 내용을 검색해 볼 수 있다.・DBMS에 의해 생성되고 유지된다.・자동으로 갱신된다.・사용자가 직접 갱신할 수 없다. 더보기
[8장] 관계대수 (Relational Algebra) 1. 관계대수의 개념 ・원하는 정보와 그 정보를 어떻게 유도하는지 기술하는 절차적 언어.・SELECT, PROJECT, JOIN, DIVISION, UNION, CARTESIAN PRODUCT 등이 있음. 2. 순수 관계 연산자 SELECT・조건을 만족하는 튜플을 모아 새로운 릴레이션을 만듬.・행에 해당하는 튜플을 구함.(수평 연산)・기호는 시그마(σ)・AND(∧), OR(∨), NOT(¬)을 사용할 수 있다. PROJECT・제시된 속성값만을 추출하여 새로운 릴레이션을 만듬.・열에 해당하는 속성을 구함.(수직 연산)・기호는 파이(π) JOIN・공통 속성을 중심으로 2개의 릴레이션을 합쳐 새로운 릴레이션을 만든다.・CARTESIAN PRODUCT를 수행한 후 SELECT를 수행한 것과 동일하다.・기호는 ▷.. 더보기
[7장] 무결성 (Integrity) 1. 무결성의 개념 ・현실 세계의 값과 데이터가 일치하는 정확성을 의미.・무결성 제약 조건(Constraint)는 DB에 정확성을 해치는 값이 오지 않게 하기 위한 조건. 2. 무결성의 종류 ・NULL 무결성 : 특정 속성 값이 NULL이 될 수 없다.・고유 무결성 : 각 튜플이 갖는 속성 값은 서로 달라야한다.・도메인 무결성 : 특정 속성 값이 그 속성이 정의된 도메인에 속해야 한다.・키 무결성 : 하나의 릴레이션에 적어도 한개의 키는 있어야한다.・관계 무결성 : 임의 튜플의 삽입 가능 여부 또는 튜플들 간의 관계에 대한 적절성 여부에 대한 규정.・참조 무결성 : 외래키의 값은 NULL이거나 참조되는 기본키 값과 동일해야 한다.・개체 무결성 : 기본키를 구성하는 어떤 속성도 NULL이 될 수 없다. 더보기