빙응의 공부 블로그

[정처기]실기 2장 - 데이터 입출력 구현 본문

정처기

[정처기]실기 2장 - 데이터 입출력 구현

빙응이 2024. 4. 2. 20:55

📝29. 데이터베이스 개요

  • DBMS 필수 기능 3가지
    • 정의 기능
    • 조작 기능
    • 제어 기능
  • 데이터의 독립성
    • 논리적 독립성
    • 물리적 독립성
  • 스키마
    • 외부 스키마 : 사용자가 사용하는 논리적 구조
    • 개념 스키마 : 데이터 조직 전체의 구조
    • 내부 스키마 : 물리 장치에 저장되는 구조 
더보기

문제 1. 데이터베이스의 스키마에 대해 서술하시오

 

정답 : 데이터베이스의 구조와 제약조건에 관해 기술한 것

 

문제 2. 스키마의 종류를 모두와 특징을 쓰시오

 

정답 1. 외부 스키마 : 사용자가 사용하는 논리적 구조

        2. 개념 스키마 : 조직 전체의 데이터 베이스

        3. 내부 스키마 : 물리적으로 저장될 형식

 

문제 3. 모든 응용 프로그램들이 요구하는 데이터 구조를 지원하기 위해 데이터베이스에 저장될 데이터 타입과 구조에 대한 정의, 이용 방식, 제약 조건 등을 명시하는 기능은?

 

정답 : 정의 기능

📝30. 데이터베이스 설계

  • 설계 고려사항
    • 무결성
    • 일관성
    • 회복
    • 보안
    • 효율성
    • 데이터베이스 확장
  • 설계 순서
    • 요구 조건 분석
      • 필요한 용도를 파악 
    • 개념적 설계
      • 현실 세계를 인식해 추상적인 개념으로 표현하는 과정
    • 논리적 설계
      • 특정 DBMS가 지원하는 논리적 자료 구조로 변환시키는 과정
    • 물리적 설계 
      • 물리적 구조의 데이터로 변환하는 과정
    • 구현
더보기

문제 1. 데이터베이스 구축의 과정을 쓰시오

 

정답 : 요구 조건 분석 - 개념적 설계 - 논리적 설계 - 물리적 설계 - 구현

📝31. 데이터 모델의 개념 

  • 현실 세계의 정보들을 컴퓨터에 표현하는 것을 모델이라 한다.
  • 개념적 데이터 모델
    • 현실세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정
  • 논리적 데이터 모델
    • 개념적 구조를 컴퓨터 세계에 표현 
  • 데이터 모델에 표시할 요소 
    • 구조 : 데이터 구조
    • 연산 : 실제 데이터 처리에 대한 명세
    • 제약조건  
더보기

문제 1. (  1 ) 은 데이터베이스에 저장된 실제 데이터를 처리하는 작업에 대한 명세이다.

(  2  )은 논리적으로 표현된 객체 타입들 간의 관계로서 데이터의 구조 및 정적 성질을 표현한다.

 

정답 : 1. 연산 2. 구조 

📝32. 데이터 모델의 구성 요소 

  • 개체
    • 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체이다.
  • 속성
    • 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
    • 종류
      • 기본속성
      • 설계 속성
      • 파생 속성 : 적은 수를 정의하는게 좋음
  • 관계
    • 개체와 개체 사이의 논리적 연결을 의미한다. 
더보기

문제 1. 다음 관계에 대한 설명을 보고 답을 쓰시오

(   1   ) : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하지만 개체 집합 B의 각 원소는 개체 집합 A의 원소 한 개와 대응한다.

(   2   ) : 개체 집합 A의 각 원소는 개체 집합 B의 원소 여러 개와 대응하고, 개체 집합 B의 각 원소도 개체 집합 A의 원 소 여러 개와 대응한다.

(   3   ) : 개체 집합 A의 각 원소가 개체 집합 B의 원소 한개와 대응하는 관계

 

정답 

1. 일대다 2.다대다 3.일대일

 

문제 2. 개체의 개념을 간략히 쓰시오

 

정답 : 데이터베이스에서 표현하려는 것을 의미한다.

📝33. E-R 모델

기호 이름 의미
사각형 개체 타입
마름모 관계 타입
타원 속성 타입
이중 타원 다중값 속성
밑줄 타원 기본키 속성
복수 타원 복합 속성
관계  
선, 링크 개체 타입과 속성 연결 

📝34. 관계형 데이터베이스

  • 2차원 표를 이용해서 데이터 상호 관계를 정의하는 데이터베이스이다.
  • 용어
    • 릴레이션 : 데이터들을 표 형태로 표현한 것 
    • 릴레이션 스키마 : 구조
    • 릴레이션 인스턴스 : 실제 값 
    • 튜플
      • 릴레이션의 각 행
    • 속성
      • 릴레이션의 각 열 가장 작은 논리 단위
    • 도메인
      • 하나의 애트리뷰트가 취할 수 있는 원자 값들
  • 갯수 용어
    • 애트리뷰트, 속성, 디그리, 차수 : 열의 갯수
    • 튜플, 카디널리티, 기수 : 행의 수 
더보기

문제 1. 다음 빈칸을 채우시오

(   1   ) : 릴레이션을 구성하는 각각의 행을 의미

(   2   ) : 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 가진 것, 실제 값

(   3   ) : 튜플의 개수를 의미함

 

정답 : 

1. 튜플 2. 릴레이션 인스턴스 3. 카디널리티 

📝35. 키(Key)

  • 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 의미한다.
  • 키의 종류
    • 후보키
      • 유일성, 최소성을 만족하는 키
    • 기본키
      • 후보키 중에서 선정된 주키
    • 대체키
      • 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키
    • 슈퍼키
      • 유일성을 만족하지만 최소성을 만족하지 못하는 키
    • 외래키
      • 다른 릴레이션의 기본 키를 참조하는 속성 또는 속성들의 집합
더보기

문제 1. 슈퍼키와 후보키가 만족하는 속성을 쓰시오

 

정답 : 슈퍼키(유일성), 후보키(유일성, 최소성)

📝36. 무결성 

  • 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제 값이 정확히 일치하는 지를 의미한다
  • 무결성의 종류
    • 개체 무결성
    • 참조 무결성
    • 도메인 무결성
    • 사용자 정의 무결성
더보기

문제 1. 외래키에 대한 무결성은?

 

정답 : 참조 무결성 제약 조건

📝37. 관계대수 및 관계해석 

  • 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적 언어이다. 
  • 순수 관계 연산자
종류 특징 기호
Select 튜플을 구하는 것 σ
Project 속성을 구하는 것  π
Join 두 릴레이션을 하나로 합치는 것 ▷◁
Division 두 릴레이션에서 하나의 릴레이션이 가지는 속성을 제외한 속성을 구하는 것 ÷
  • 일반 집합 연산자 
    • 합집합(UNION) ∪
    • 교집합(INTERSECTION) ∩
    • 차집합(DIFFERENCE) -
    • 교차곱(카티션프로덕트) X
  • 관계해석
    • 관계 데이터의 연산을 표현하는 방법
더보기

문제 1. 다음 설명하는 관계 대수 연산자 기호는?

릴레이션 A와 B가 있을 때 릴레이션 B의 조건에 맞는 것들만 릴레이션에서 분리하여 프로젝션을 하는 연산이다.

 

정답 : 디비전 ÷

 

문제 2. 다음 모든 관계대수의 연산자 기호를 쓰시오

합집합, 차집합, 교차곱, 프로젝트, 조인

 

정답 : ∪, -, X, π. ▷◁

 

문제 3. (     )은 관계 데이터의 연산을 표현하는 방법이다. 튜플 (    )과 도메인 (     )이 있다.

 

정답 : 관계해석

📝38. 이상/함수적 종속

  • 이상(Anomaly)
    • 데이터의 중복이 발생하고, 이 중복으로 인해 테이블 조작 시 문제가 발생하는 현상을 말한다.
    • 삽입이상 : 데이터 삽입할 때 원하지 않는 값들로 인해 삽입할 수 없게 되는 현상
    • 삭제이상 : 데이터에서 한 튜플을 삭제할 때 삭제할 의도와는 상관없는 값도 함께 삭제되는 것
    • 갱신이상 : 갱신 중 일부 튜플만 갱신되어 정보의 불일치가 발생하는 것 
  • 함수적 종속
    • X가 Y를 함수적으로 결한한다하면 X -> Y로 함수 종속이라 한다. 
    • 종류
      • 완전 함수적 종속(Full)
      • 부분 함수적 종속(Partial)
      • 이행적 함수적 종속(Transitive)
        • X -> Y , Y->Z 일때 X->Z를 만족하는 것을 말함
더보기

문제 1. 이상의 종류 3가지를 쓰시오

 

정답 : 삽입 삭제 갱신

 

문제 2. 삭제 이상에 대해 간략히 설명하시오

 

정답 : 삭제 시 원하지 않는 값도 삭제되는 현상 

📝39. 정규화

  • 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
정규화 기능
1NF 도메인이 원자값
2NF 부분적 함수 종속 제거
3NF 이행적 함수 종속 제거
BCNF 결정자이면서 후보키가 아닌 것 제거
4NF 다치 종속 제거
5NF 조인 종속 제거 
더보기

문제 1. 부분 함수적 종속을 제거하는 정규형은?

 

정답 : 2NF

📝40. 반정규화 

  • 정규화된 모델을 의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위이다.
  • 방법
    • 테이블 통합
    • 테이블 분할
      • 수직 분할
      • 수평 분할 
    • 중복 테이블 추가
      • 집계 테이블 추가
      • 진행 테이블 추가
      • 특정 부분만을 포함하는 테이블 추가 
    • 중복 속성 추가 
더보기

문제 1. 반정규화의 개념을 간략히 서술하시오

 

정답 : 정규화한 데이터 모델을 의도적으로 통합, 중복, 분할을 해 정규화 원칙을 위배하는 것

📝41. 시스템 카탈로그

  • 시스템 그 자체와 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스
  • 메타 데이터
    • 시스템 카탈로그에 저장된 정보를 의미한다. 
  • 데이터 디렉터리
    • 데이터 사전에 수록된 데이터에 접근하는데 필요한 정보를 관리 유지하는 시스템이다. 
더보기

문제 1. 데이터베이스에서 메타 데이터의 개념을 간략히 서술하시오

 

정답 :시스템 카탈로그에 저장된 정보를 의미한다.

📝42. 트랜잭션

  • 트랜잭션
    • 데이터베이스에서 논리적 기능을 수행하기 위한 작업의 단위이다.
    • 한꺼번에 수행되는 일련의 연산들을 의미
  • 트랜잭션의 특징
    • Atomicity(원자성) : 트랜잭션 연산은 모두 반영되거나 모두 취소
    • Consistency(일관성) : 트랜잭션 반영 성공 후에도 연제나 일관성 있는 상태로 변환
    • Isolation(독립성) : 트랜잭션을 병행 실행하는 경우 연산에 1개만 사용
    • Durability(영속성,지속성) : 성공된 트랜잭션 결과는 영구 반영 
더보기

문제 1. 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 하는 일련의 연산을 의미하는 용어는?

 

정답 : 트랜잭션

 

문제 2. (   1   ): 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.

(   2   ): 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행 중에 다른 트랜잭션이 끼어들 수 없다.

 

정답 : 1. 원자성 , 2. 독립성 

 

문제 3. Commit과 Rollback 명령어에 의해 보장받는 트랜잭션 특성은?

 

정답 : 원자성

📝43. 인덱스

  • 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조이다.
  • 종류
    • 트리 기반 인덱스
      • 인덱스 저장 블록들이 트리 구조
    • 비트맵 인덱스
      • 컬럼 데이터를 비트 값으로 변환하여 키로 사용
    • 함수 기반 인덱스
      • 컬럼 값 대신 특정 함수나 수식을 적용해 산출된 값을 사용
    • 비트맵 조인 인덱스
      • 다수 조인된 객체로 구성
    • 도메인 인덱스
      • 개발자가 직접 만들어 사용 
  • 클러스터드 인덱스
    • 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 방식
  • 넌클러스터드 인덱스
    • 인덱스의 키 값만 정렬되어 있고 실제 값은 정렬되지 않은 방식
더보기

문제 1. 인덱스의 종류 중 트리 기반, 비트맵, 도메인 인덱스의 개념을 간략히 서술하시오.

 

트리 기반 인덱스 : 저장 블록 형식이 트리이다.

비트맵 인덱스 : 컬럼의 데이터를 비트로 변환하여 키로 사용

도메인 인덱스 : 개발자가 직접 만들어서 사용하는 방법

 

문제 2. 인덱스 키의 순서에 따라 데이터가 정렬되어 저장되는 형식은?

 

정답 : 클러스터드 인덱스 

📝44. 뷰/클러스터 

  • 하나 이상의 기본 테이블로부터 유도된, 가상의 테이블이다.
  • 정의는 CREATE문, 제거는 DROP문을 사용한다. 
  • 클러스터
    • 동일한 성격의 데이터를 동일한 데이터 블록에 저장하는 물리적 저장 방법이다.
    • 데이터 분포가 넓을 수록 유리하다. 
    • 종류
      • 단일 테이블 클러스터링 : 범위가 넓을 경우
      • 다중 테이블 클러스터링 : 조인이 많을 경우 
더보기

문제 1. 뷰는 (     )문으로 정의하고, (      )문으로 제거한다.

 

정답 : CREATE, DROP 

📝45. 파티션

  • 대용량의 테이블이나 인덱스를 작은 논리적 단위인 파티션으로 나누는 거승ㄹ 말한다.
  • 장점
    • 쿼리 성능 향상
    • 백업 및 복구가 빠름
    • 디스크 성능 향상
  • 단점
    • 관리가 어려움
    • 조인 비용 증가
  • 종류
    • 범위 분할
    • 해시분할
    • 조합 분할 
더보기

문제 1. (    1    )분할 : 열 값 기준으로 분할

(   2    ) 분할 : (    2     )함수를 적용한 결과 값에 따라 데이터 분할

(   3    ) 분할 : (    1     )분할한 다음 (    2    )함수 적용

 

정답 : 범위, 해시, 조합

📝46. 분산 데이터베이스 설계

  • 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워크를 통해 연결된 분산된 데이터베이스
  • 목표
    • 위치 투명성(Location)
    • 중복 투명성(Replication)
    • 병행 투명성(Concurrency)
    • 장애 투명성(Failure)
  • 설계 방법
    • 테이블 위치 분산
    • 분할 : 데이터 분할
      • 수평 분할
      • 수직 분할
    • 할당 
더보기

문제 1. 분산 데이터베이스 시스템의 투명성 4가지를 쓰시오

 

정답 : 중복, 위치, 장애, 병행 

📝47. 데이터베이스 이중화/ 서버 클러스터링

  • 데이터베이스 이중화
    • 동일한 데이터베이스를 복제하여 관리하는 것
    • 오류 발생 시 빠르게 처리 가능
  • 분류
    • Eager 기법
      • 트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용 즉시 적용
    • Lazy 기법
      • 트랜잭션 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달
  • 데이터베이스 이중화 구성 방법
    • 활동-대기 방법
      • 한 DB가 활성 상태이변 다른 DB는 대기하다가 장애 발생 시 모든 서비스를 대신함
    • 활동-활동 방법
      • 두 개의 DB가 서로 다른 서비스를 제공하다가 둘 중 한쪽 DB 문제가 발생하면 다른 DB가 일을 대신 제공 
  • 클러스터링
    • 두 대 이상의 서버를 하나의 서버처럼 운영하는 기술
    • 종류
      • 고가용성 클러스터링
        • 두 개의 서버를 두어 하나가 장애가 발생하면 다른 서버가 받아 처리
      • 병렬 처리 클러스터링
        • 여러 개의 서버가 분산 처리
  • RTO/RPO
    • RTO(목표 복구 시간)
      • 비상사태 또는 업무 중단 시점으로부터 복귀되어 가동될 때까지 소요 시간을 의미
    • RPO(목표 복구 시점) 
      • 비상사태 또는 업무 중단 시점으로부터 데이터를 복구할 수 있는 기준점 
더보기

문제 1. 다음 설명하는 것에 대해 쓰시오

(   1   )기법은 변경 내용이 발생하면 즉시 다른 데이터베이스에도 적용하는 기법이고, (   2    )기법은 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달하는 기법이다.

 

정답 : 1. Eager, 2.Lazy

 

문제 2. 다음 설명하는 용어를 쓰시오

비상사태 또는 업무 중단 시점부터 업무가 복귀되어 다시 작동 가동 될때까지의 시간

 

정답 : RTO(목표 복구 시간)

📝48. 데이터베이스 보안

  • 데이터베이스의 보안은 권한이 없는 사용자가 액세서하는 것을 금지하기 위해 사용된다.
  • 암호화
    • 개인키 암호 방식
    • 공개키 암호 방식
  • 접근통제 
    • 접근 통제의 3요소
      • 접근통제 정책
      • 접근통제 메커니즘
      • 접근 통제 보안모델 
    • 임의 접근 통제(DAC) 
      • 데이터를 접근하는 사용자의 신원에 따라 접근 권한 부여
    • 강제 접근 통제(MAC)
      • 주체와 객체의 등급을 비교하여 접근 권한 부여
    • 역할 기반 접근 통제(RBAC)
      • 사용자의 역할에 따라 분류
  • 접근 통제 정책
    • 신분 기반 정책 : 주체나 그룹의 신분에 근거하여 객체의 접근을 제한하는 방법
      • IBP : 최소 권한 정책으로, 단일 주체에게 하나의 객체에 대한 허가를 부여
      • GBP : 복수 주체에 하나의 객체에 대한 허가 부여
    • 규칙 기반 정책
      • 주체가 갖는 권한에 근거하여 객체의 접근을 제한하는 방법
        • MLP : 사용자별
        • CBP ; 집단별
    • 역할 기반 정책
      • 주체의 신분이 아니라 주체가 맡은 역할에 근거하여 접근 제한
  • 접근 통제 보안 모델
    • 기밀성 모델 : 군사목적 같은 기밀성 최우선 사항
    • 무결성 모델
    • 접근 통제 모델
  • 접근 통제 조건
    • 값 종속 통제
    • 다중 사용자 통제
    • 컨텍스트 기반 통제
더보기

문제 1. 다음 괄호에 들어갈 용어를 쓰시오

(   1   )  : 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.

(   2   )  : 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.

(   3   )  : 데이터에 접근하는 사용자의 신원에 다라 접근 권한을 부여하는 방식

 

정답 : 1. MAC, 2.RBAC, 3.DAC 

 

문제 2. 다음 괄호에 들어갈 용어는?

접근 통제는 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것이다. 이러한 접근 통제에 관한 기술 중 (        )는 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하고 제어하는 방식이다.

 

정답 : 임의접근통제 DAC

📝49. 데이터베이스 백업

  • 로그파일
    • 로그 파일은 데이터베이스 처리 내용이나 이용 상황 등 상태 변화를 시간의 흐름에 따라 모두 기록한 파일이다.
    •  종류
      • REDO : 덤프와 로그를 이용하여 가장 최근의 정상적인 데이터베이스로 회복 시킨 후 트랜잭션을 재실행 시킨다.
      • UNDO : 로그에 보관 한 정보를 이용하여 가장 최근에 변경된 내용부터 거슬러 올라가면서 트랜잭션 작업을 취소하여 원래 상태로 복귀한다.
더보기

문제 1. 다음 설명하는 것을 쓰시오

(    1   ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작과 완료에 대한 기록이 있는 트랜잭션들의 작업을 재작업 한다. 즉 로그를 이용하여 해당 데이터 항목에 대한 이전 값을 이후 값으로 변경하는 연산이다.

(   2    ) : 데이터베이스가 비정상적으로 종료되었을 때, 디스크에 저장된 로그를 분석하여 트랜잭션의 시작을 나타내는 START는 있지만 완료를 나타내는 COMMIT이 없는 트랜잭션들이 작업한 내용을 모두 취소한다. 즉 로그를 이용하여 해당 데이터 항목에 대해 이후 값을 이전 값으로 변경한다.

 

정답 : REDO, UNDO 

📝50. 스토리지

  • 대용량의 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술
  • DAS
    • 서버와 저장장치를 전용 케이블로 직접 연결
  • NAS
    • 서버와 저장장치를 네트워크로 연결
  • SAN
    • 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식 
더보기

문제 1. 다음을 설명하는 기술을 쓰시오

네트워크 상에 광채널 스위치의 이점인 고속 전송과 장거리연결 및 멀티 프로토콜 기능을 활용한다.

각기 다른 운영체제를 가진 여러 기종들이 네트워크 상에서 동일한 저장장치 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템이다.

 

정답 : SAN

📝51. 논리 데이터 모델의 변환

  • 엔티티를 테이블로 변환
논리적 설계 물리적 설계
엔티티 테이블
속성 컬럼
주 식별자 기본키
외부 식별자 외래키
관계 관계

📝52. 자료 구조

  • 자료를 기억장치 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 연구 분석한 것을 말한다.
  • 배열
    • 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합
  • 연속리스트
    • 배열과 동일 
  • 연결 리스트
    • 노드의 포인터 부분을 이용하여 서로 연결시킨 자료 구조
  • 스택
    • LIFO
    • FIFO
  • 그래프
    • 정점과 간선의 두 집합으로 이루어지는 자료 구조 

📝53. 트리

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

📝54. 이진 트리

  • 차수가 2이하인 노드들로 구성된 트리
  • 트리 운행법
    • Preorder : Root - left -right
    • Inorder : left - Root - right
    • Postorder  left - right -Root 
  • 수식 표기법도 동일하다.
    • PreFix
    • InFix
    • PostFix

📝55. 정렬

  • 삽입 정렬
    • 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식 
  • 선택 정렬 
    • 최소값을 찾아 첫 번째 레코드 위치에 놓고 다시 최소 값을 찾아 두번째 위치 놓는 것을 반복한다.
  • 버블 정렬
    • 인접한 두 개의 키 값을 비교하여 그 크기에 따라 레코드 위치를 서로 교환하는 방법이다.
  • 퀵 정렬
    • 키를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽 서브 파일에 분해시키는 과정을 반복한다.
  • 힙 정렬(nlogn)
    • 전이진 트리를 이용한 방식
  • 2-way 합병 정렬(nlogn)
    • 이미 정렬되어 있는 두개의 파일을 한개의 파일로 합병하는 정렬 방식
  • 기수 정렬
    • 큐를 이용한 자릿수 별 정렬