본문 바로가기

CERTIFICATION/IEIP

[3-1] 데이터베이스 이해

074 자료 구조


자료 구조의 분류

  • 선형 구조
    • 배열(Array), 선형 리스트(Linear List), 스택(Stack), 큐(Queue), 데크(Deque)
  • 비선형 구조
    • 트리(Tree), 그래프(Graph)

연결 리스트(Linked List)

  • 노드의 삽입, 삭제 작업 용이
  • 연결을 위한 링크(포인터)부분 필요
  • 연결을 위한 포인터를 찾는 시간 필요 → 접근 속도 느림
  • 중간 노드 연결이 끊어지면 그 다음 노드를 찾기 어려움

스택(Stack)

  • 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료 구조
  • 후입선출(LIFO) : 가장 나중에 삽입된 자료가 가장 먼저 삭제
  • '재귀 호출, 후위(Postfix) 표기법, 깊이 우선 탐색' 등 왔던 길을 되돌아가는 경우에 사용

스택의 응용 분야

  • 함수 호출의 순서 제어
  • 인터럽트의 처리
  • 수식 계산 및 수식 표기법
  • 컴파일러를 이용한 언어 번역
  • 부 프로그램 호출 시 복귀 주소 저정
  • 서브루틴 호출 및 복귀 주소 저장

스택의 삽입(Push)와 삭제(Pop)

  • PUSH
    • 스택에 자료를 입력하는 명력
  • POP
    • 스택에서 자료를 출력하는 명령

큐(Queue)

  • 리스트의 한쪽에서는 삽입 작업이 이루어지고 다른 한쪽에서는 삭제 작업이 이루어지도록 구성한 자료 구조
  • 선입선출(FIFO) : 가장 먼저 삽입된 자료가 가장 먼저 삭제

데크(Deque)

  • 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있는 자료 구조
  • 입력이 한쪽에서만 발생하고 출력은 양쪽에서 일어날 수 있는 입력 제한
  • 입력은 양쪽에서 일어나고 출력은 한 곳에서만 이루어지는 출력 제한

방향/무방향 그래프의 최대 간선 수

                                                     n(n-1)
n개의 정점으로 구성된 무방향 그래프에서 최대 간선 수 = ----------
                                                        2

방향 그래프에서 최대 간선 수 = n(n-1)

075 트리(Tree)


트리의 개요

  • 정점(Node)과 선분(Branch)을 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태


  • 노드(Node)
    • 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것
    • A, B, C, D, E, F, G, H, I, J, K, L, M
  • 디그리(Degree, 차수)
    • 각 노드에서 뻗어나온 가지의 수
    • A = 3, B = 2, C = 1, D = 3
  • 단말 노드(Terminal Node)
    • 자식이 하나도 없는 노드(디그리가 0인 노드)
    • K, L, F, G, M, I ,J

트리의 운행법


  • Preorder 운행법 방문 순서
    • Root → Left → Right
    • A13 → AB2E3 → ABDHIE3 → ABDHIECFG
  • Inorder 운행법 방문 순서
    • Left → Root → Right
    • 1A3 → 2BEA3 → HDIBEA3 → HDIBEAFCG
  • Postorder 운행법 방문 순서
    • Left → Right → Root
    • 13A → 2EB3A → HIDEB3A → HIDEBFGCA

수식의 표기법(Infix → Postfix)

  • Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 뒤(오른쪽)에 오도록 이동하면 Postfix
    X = A / B * (C + D) + E  →  X A B / C D + * E + =

  • 연산 우선순위에 따라 괄호로 묶음
    • (X = ( ( (A / B) * (C + D) ) + E) )
  • 연산자를 해당 괄호의 뒤로 옮김
    • (X ( ( (A B) / (C D) + ) * E) + ) =
  • 괄호 제거
    • X A B / C D + * E + =

수식의 표기법(Infix → Prefix)

  • Infix로 표기된 수식에서 연산자를 해당 피연산자 두 개의 앞(왼쪽)에 오도록 이동하면 Prefix
    X = A / B * (C + D) + E  →  X + * / A B + C D E

  • 연산 우선순위에 따라 괄호로 묶음
    • (X = ( ( (A / B) * (C + D) + E) )
  • 연산자를 해당 괄호의 앞으로 옮김
    • = (X + (* ( / (A B) + (C D) ) E) )
  • 괄호 제거
    • = X + * / A B + C D E

수식의 표기법(Postfix → Infix)

  • Postfix는 Infix 표기법에서 연산자를 해당 피연산자 2개의 뒤(오른쪽)으로 이동한 것
  • 연산자를 다시 해당 피연산자의 2개의 가운데로 옮기면 Infix
    A B C - / D E F + * +  →  A / (B - D) + D * (E + F)

  • 인접한 피연산자 2개와 오른쪽 연산자를 괄호로 묶음
    • ( (A (B C -) / ) (D (E F +) * ) + )
  • 연산자를 해당 피연산자의 가운데로 이동
    • ( (A / (B - C) ) + (D * (E + F) )
  • 괄호 제거
    • A / (B - D) + D * (E + F)

076 정렬(Sort)


삽입 정렬(Insertion Sort)

  • 초기 상태 : 8, 5, 6, 2, 4
  • 1회전 : 5, 8, 6, 2, 4
    • 두번째 값 5를 첫번째 값과 비교하여 첫번째 자리에 삽입
    • 8은 한 칸 뒤로 이동
  • 2회전 : 5, 6, 8, 2, 4
    • 세번째 값 6을 첫번째, 두번째 값과 비교하여 8자리에 삽입
    • 8은 한 칸 뒤로 이동
  • 3회전 : 2, 5, 6, 8, 4
    • 네번째 값 2를 처음부터 비교하여 맨 처믕메 삽입
    • 나머지를 한 칸씩 뒤로 이동
  • 4회전 : 2, 4, 5, 6, 8
    • 다섯번째 값 4를 처음부터 비교하여 5자리에 삽입
    • 나머지를 한 칸씩 뒤로 이동

선택 정렬(Selection Sort)

n개의 레코드 중에서 최소값을 찾아 첫 번째 레코드 위치에 놓고,
나머지 (n-1)개 중에서 다시 최소값을 찾아 두번째 레코드 위치에 놓는 방식을 반복하여 정렬

  • 초기 상태 : 8, 5, 6, 2, 4
  • 1회전 : 2, 8, 6, 5, 4
  • 2회전 : 2, 4, 8, 6, 5
  • 3회전 : 2, 4, 5, 8, 6
  • 4회전 : 2, 4, 5, 6, 8

버블 정렬(Bubble Sort)

주어진 파일에서 인접한 두 개의 레코드 키 값을 비교하여
그 크기에 따라 레코드 위치를 서로 교환

  • 초기 상태 : 8, 5, 6, 2, 4
  • 1회전 : 5, 6, 2, 4, 8
  • 2회전 : 5, 2, 4, 6, 8
  • 3회전 : 2, 4, 5, 6, 8

077 검색-이분 검색 / 해싱


이분 검색(이진 검색)

  • 반드시 순서화(정렬)된 파일이어야 검색 가능
  • 비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어듦
  • 탐색 효율이 좋고 탐색 시간이 적게 소요
                            F + L
    중간 레코드 번호(M) = ------------
                              2
    (단, F: 첫 번째 레코드 번호, L : 마지막 레코드 번호)

해시 테이블(Hash Table)

  • Colision(충돌 현상)
    • 서로 다른 두 개 이상의 레코드가 같은 주소를 갖는 현상
  • Synonym
    • 충돌로 인해 같은 Home Address를 갖는 레코드들의 집합

주요 해싱 함수

  • 제산법(Division)
    • 레코드 키(K)를 해시표(Hash Table)의 크기보다 큰 수 중에서 가장 작은 소수(Prime, Q)로 나눈 나머지를 홈 주소로 삼는 방식
  • 제곱법(Mid-Square)
    • 레코드 키 값(K)을 제곱한 후 그 중간 부분의 값을 홈 주소로 삼는 방식
  • 폴딩법(Folding)
    • 레코드 키 값(K)을 여러 부분으로 나눈 후 각 부분의 값을 더하거나 XOR(배타적 논리합)한 값을 홈 주소로 삼는 방식
  • 숫자 분석법(Digit Analysis)
    • 키 값을 이루는 숫자의 분포를 분석하여 비교적 고른 자리를 필요한 만큼 택해서 홈 주소로 삼는 방식

078 데이터베이스 개요


DBMS의 필수 기능

  • 정의 기능(Definition)
    • 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터의 형(Type)과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능
  • 조작 기능(Manipulation)
    • 데이터 검색, 갱신, 삽입, 삭제 등을 체계적으로 처리하기 위해 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능
  • 제어 기능(Control)
    • 데이터베이스를 접근하는 갱신, 삽입, 삭제 작업이 정확하게 수행되어 데이터의 무결성이 유지되도록 제어하는 기능

스키마(Schema)

  • 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세(Specification)를 기술(Description)한 메타 데이터(Meta-Data)의 집합
  • 외부 스키마
    • 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것
  • 개념 스키마
    • 데이터베이스의 전체적인 논리적 구조
    • 개체 간의 관계와 제약 조건을 나타내고, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세 정의
  • 내부 스키마
    • 물리적 저장장치의 입장에서 본 데이터베이스 구조
    • 실제로 데이터베이스에 저장될 레코드의 형식을 정의
    • 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타냄

079 데이터베이스 설계


데이터베이스 설계 순서

  1. 요구 조건 분석 : 요구 조건 명세서 작성
  2. 개념적 설계 : 개념 스키마, 트랜잭션 모델링, E-R 모델
  3. 논리적 설계 : 목표 DBMS에 맞는 논리 스키마 설계, 트랜잭션 인터페이스 설계
  4. 물리적 설계 : 목표 DBMS에 맞는 물리적 구조의 데이터로 변환
  5. 구현 : 목표 DBMS의 DDL(데이터 정의어)로 데이터베이스 생성, 트랜잭션 작성

개념적 설계(정보 모델링, 개념화)

  • 정보의 구조를 얻기 위하여 현실 세계의 무한성과 계속성을 이해하고, 다른 사람과 통신하기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  • 개념 스키마 모델링과 트랜잭션 모델링을 병행 수행
  • 요구 분석 단계에서 나온 결과인 요구 조건 명세를 DBMS에 독립적인 E-R 다이어그램으로 작성
  • DBMS에 독립적인 개념 스키마 설계

논리적 설계

  • 현실 세계에서 발생하는 자료를 컴퓨터가 이해하고 처리할 수 있는 물리적 저장장치에 저장할 수 있도록 변환하기 위해 특정 DBMS가 지원하는 논리적 자료 구조로 변환(Mapping)시키는 과정
  • 개념 스키마를 평가 및 정제하고 DBMS에 따라 서로 다른 논리적 스키마를 설계하는 단계
  • 트랜잭션의 인터페이스 설계

물리적 설계

  • 논리적 설계 단계에서 논리적 구조로 표현된 데이터를 디스크 등의 물리적 저장장치에 저장할 수 있는 물리적 구조의 데이터로 변환하는 과정
  • 다양한 데이터베이스 응용에 대해 처리 성능을 얻기 위해 데이터베이스 파일의 저장 구조 및 액세스 경로를 결정
  • 물리적 설계 단계에 꼭 포함되어야 할 것
    • 저장 레코드의 양식 설계
    • 레코드 집중의 분석 및 설계
    • 접근 경로 설계
  • 물리적 설계 옵션 선택시 고려 사항
    • 응답 시간
    • 저장 공간의 효율화
    • 트랜잭션 처리도

080 데이터 모델의 개념


데이터 모델에 표시할 요소

  • 구조(Structure)
    • 논리적으로 표현된 개체 타입들 간의 관계
    • 데이터 구조 및 정적 성질 표현
  • 연산(Operation)
    • 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세
    • 데이터베이스를 조작하는 기본 도구
  • 제약 조건(Constraint)
    • 데이터베이스에 저장될 수 있는 실제 데이터의 논리적인 제약 조건

데이터 모델의 구성 요소 - 개체(Entity)

  • 데이터베이스에 표현하려는 것
    • 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체
  • 실세계에 독립적으로 존재하는 유형, 무형의 정보
    • 서로 연관된 몇 개의 속성으로 구성

데이터 모델의 구성 요소 - 관계(Relationship)

  • 개체 간의 관계 또는 속성 간의 관계
  • 관계의 형태
    • 일 대 일(1:1)
      • 개체 집합 A의 각 원소가 개체 집합 B의 원소 한 개와 대응
    • 일 대 다(1:n)
      • 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응
      • 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응
    • 다 대 다(n:m)
      • 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응
      • 개체 집합 B의 각 원소도 개체 집합 A의 원소 여러 개와 대응

081 E-R(개체-관계) 모델


E-R 다이어그램


082 관계형 데이터 모델


관계형 데이터 모델(Realational Data Model)

  • 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 DB 구조
  • 가장 널리 사용되는 데이터 모델
  • 관계형 모델의 대표적인 언어는 SQL

083 관계형 데이터베이스의 구조


릴레이션(Relation)

  • 데이터들을 표(Table)의 형태로 표현한 것
  • 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성


튜플(Tuple)

  • 릴레이션을 구성하는 각각의 행
  • 속성의 모임으로 구성
  • 튜플의 수 = 카디널리티(Cardinality) = 기수 = 대응수

속성(Attribute)

  • 데이터베이스를 구성하는 가장 작은 논리적 단위
  • 개체의 특성 기술
  • 속성의 수 = 디그리(Degree) = 차수

도메인(Domain)

  • 하나의 애트리뷰트(Attribute)가 취할 수 있는 같은 타입의 원자(Atomic)값들의 집합
    • ex) 성별 도메인은 '남' / '여'

릴레이션의 특징

  • 한 릴레이션에 포함된 튜플들은 모두 상이함
  • 한 릴레이션에 포함된 튜플 사이에는 순서 X
  • 튜플들의 삽입, 삭제 등의 작업으로 인해 릴레이션은 시간에 따라 변함
  • 릴레이션 스키마를 구성하는 속성들 간의 순서는 중요 X
  • 속성의 유일한 식별을 위해 속성의 명칭은 유일해야 함
    • 속성을 구성하는 값은 동일한 값이 있을 수도 있음
  • 속성은 더 이상 쪼갤 수 없는 원자값만을 저장

084 관계형 데이터베이스의 제약 조건 - 키(Key)


후보키(Candidate Key)

  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
  • 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 함

기본키(Primary Key)

  • 후보키 중에서 특별히 선정된 주키(Main Key)
    • 중복된 값 가질 수 없음
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성

대체키(Alternate Key)

  • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
  • 보조키라고도 함

슈퍼키(Super Key)

  • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키
  • 릴레이션을 구성하는 모든 튜플에 대해 유일성 O, 최소성 X

외래키(Foreign Key)

  • 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
  • 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키인 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 함

널값(NULL Value)

  • 데이터베이스에서 아직 알려지지 않거나 모르는 값
  • '해당 없음' 등의 이유로 정보 부재를 나타내기 위해 사용
  • 이론적으로 아무것도 없는 특수한 데이터

085 관계형 데이터베이스의 제약 조건 - 무결성


  • 개체 무결성(Entity Integrity, 실체 무결성)
    • 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정
  • 도메인 무결성(Domain Integrity, 영역 무결성)
    • 주어진 속성 값이 정의된 도메인에 속한 값이어야 한다는 규정
  • 참조 무결성(Referential Integrity)
    • 외래키 값은 Null이거나 참조 릴레이션의 기본키 값과 동일해야 함
    • 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정
  • 사용자 정의 무결성(User-Defined Integrity)
    • 속성 값들이 사용자가 정의한 제약 조건에 만족해야 한다는 규정

086 관계대수 및 관계해석


관계대수의 개요

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 언어
  • 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어
    • 피연산자 = 릴레이션
    • 결과 = 릴레이션
  • 징의에 대한 해를 구하기 위해 수행해야 할 연산의 순서 명시

순수 관계 연산자


일반 집합 연산자


관계해석(Relational Calculus)

  • 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안
  • 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성
  • 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등

087 정규화(Normalization)


정규화의 개요

  • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정

정규화의 목적

  • 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능
  • 데이터 중복 배제 → 이상(Anomaly) 발생 방지 및 자료 저장 공간의 최소화 가능
  • 데이터 삽입 시 릴레이션을 재구성 할 필요성 줄임

정규화 과정(도부이결다조)


이상(Anomaly)의 개념 및 종류

  • 정규화를 거치지 않으면 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 발생하는 예기치 못한 곤란한 현상
  • 삽입 이상(Insertion Anomaly)
    • 릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상
  • 삭제 이상(Deletion Anomaly)
    • 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
  • 갱신 이상(Updata Anomaly)
    • 릴레이션에서 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

함수적 종속(Functional Dependency)

  • 데이터들이 어떤 기준값에 의해 종속되는 것을 의미
 <수강> 릴레이션이 (학번, 이름, 과목명)으로 되어있을 때, 
 '학번'이 결정되면 '과목명'에 상관 없이 '학번'에는 항상 같은 '이름'이 대응
   ⇒ '학번'에 따라 '이름'이 결정 될 때, '이름'을 '학번'에 함수 종속적이라고 함
   ⇒ '학번 → 이름' 으로 표기

이행적 종속(Transitice Dependency) 관계

  • A → B 이고, B → C 일 때, A → C 를 만족하는 관계

088 반정규화(Denormalization)


반정규화의 개념

  • 시스템의 성능 향상, 개발 및 운영의 편의성 등을 위해 정규화된 데이터 모델을 통합, 중복, 분리하는 과정
  • 의도적으로 정규화 원칙을 위배하는 행위

중복 테이블 추가 방법

  • 집계 테이블의 추가
  • 진행 테이블의 추가
  • 특정 부분만을 포함하는 테이블의 추가

089 인덱스(Index)


인덱스의 개요

  • 데이터 레코드를 빠르게 접근하게 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조
  • 데이터가 저장된 물리적 구조와 밀접한 관계가 있음
  • 인덱스를 통해서 파일의 레코드에 대한 액세스를 빠르게 수행 가능
  • 레코드의 삽입과 삭제가 수시로 일어나느 경우
    • 인덱스의 개수를 최소로 하는 것이 효율적

인덱스 종류

  • 트리 기반 인덱스
    • 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것
    • 상용 DBMS에서는 트리 구조 기반의 B+ 트리 인덱스를 주로 활용
  • 비트맵 인덱스
    • 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용
  • 함수 기반 인덱스
    • 컬럼의 값 대신 컬럼에 특정 함수(Function)나 수식(Expression)을 적용하여 산출된 값을 사용
    • B+ 트리 인덱스 또는 비트맵 인덱스를 생성하여 사용
  • 비트맵 조인 인덱스
    • 다수의 조인된 객체로 구성된 인덱스
    • 단일 객체로 구성된 일반적인 인덱스와 엑세스 방법이 다름
  • 도메인 인덱스
    • 개발자가 필욯안 인덱스를 직접 만들어 사용
    • 확장형 인덱스(Extensible Index)라고도 함

090 뷰(View)


뷰의 개요

  • 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블
  • 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산 가능
  • 뷰가 정의된 기본 테이블이나 뷰 삭제시, 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동 삭제
  • 뷰를 정의할 때는 CREATE, 제거할때는 DROP

뷰의 장단점

  • 장점
    • 논리적 데이터 독립성 제공
    • 사용자의 데이터 관리를 간단하게 함
    • 접근 제어를 통한 자동 보안 제공
  • 단점
    • 독립적인 인덱스 가질 수 없음
    • 뷰의 정의를 변경할 수 없음
    • 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약有

091 시스템 카탈로그 / 트랜잭션


시스템 카탈로그

  • 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
  • 카탈로그 자체도 시스템 테이블로 구성되어있어 일반 이용자도 SQL을 이용해 내용 검색 가능
  • INSERT, DELETE, UPDATE문으로 갱신 불가

트랜잭션(Transaction)의 특성

  • Atomicity(원자성)
    • 트랜잭션의 연산은 데이터베이스에 모두 반영되도록 완료(Commit) or 전혀 반영되지 않도록 복구(Rollback)
  • Consistency(일관성)
    • 트랜잭션이 그 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 변환
    • 데이터베이스를 구성할 때에 정해놓은 규칙들은 트랜잭션을 성공하고 나서도 계속해서 유지되어야 함
  • isolation(독립성)
    • 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음
  • Durability(영속성)
    • 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

'CERTIFICATION > IEIP' 카테고리의 다른 글

[3-3] 데이터베이스 프로그래밍  (0) 2024.05.18
[3-2] SQL 활용  (0) 2024.05.18
[2-2] 프로그램 구현  (0) 2024.05.18
[2-1] 프로그래밍 언어 활용  (0) 2024.05.18
[1-4] 정보시스템 기반 기술 용어  (0) 2024.05.17