본문 바로가기

정보처리기사 실기/데이터 입출력 구현

(27)
정렬(Sort) 1. 삽입 정렬(Insertion Sort) (1) 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬하는 방식 (2) 평균, 최악 수행 시간 복잡도 O(n2) 예시: 주어진 배열: [5, 3, 8, 4, 2] 처음에는 첫 번째 요소(5)는 이미 정렬된 부분으로 간주합니다. 두 번째 요소(3)를 정렬된 부분에 삽입합니다. 이때, 3은 5보다 작으므로 5의 앞에 위치합니다. 결과 배열: [3, 5, 8, 4, 2] 세 번째 요소(8)은 이미 정렬된 부분에 삽입될 위치를 찾아 삽입합니다. 결과 배열: [3, 5, 8, 4, 2] 네 번째 요소(4)를 삽입합니다. 결과 배열: [3, 4, 5, 8, 2] 마지막으로 다섯 번째 요소(2)를 삽입합니다. 결과 배열: [2, 3, 4, 5, 8]..
이진 트리 1. 이진 트리 (1) 차수가 2 이하인 노드들로 구성된 트리 (2) 이진 트리의 레벨 i에서 최대 노드의 수는 2i-1 (3) 이진 트리에서 Terminal Node 수가 n0, 차수가 2인 노드 수가 n2라 할 때 n0 = n2 + 1 2. 트리 운행법 (1) 트리를 구성하는 각 노드들을 찾아가는 방법 (2) 트리 운행법 종류 - Preorder 운행 : Root-Left-Right - Inorder 운행 : Left-Root-Right - Postorder 운행 : Left-Right-Root 3. 수식의 표기법 (1) 전위 표기법(PreFix) : 연산자-Left-Right (2) 중위 표기법(InFix) : Left-연산자-Right (3) 후위 표기법(PostFix) : Left-Right-연..
트리 1. 트리 (1) 정점(Node, 노드)와 선분(Branch, 가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태 (2) 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드를 연결하는 선을 링크(Link)라고 한다 2. 트리 용어 정리 (1) 노드(Node) : 트리의 기본 요소로 자료 항목과 다른 항목에 대한 가지를 합친 것 (2) 근 노드(Root Node) : 최상위 노드 (3) 디그리(Degree,차수) : 각 노드에서 뻗어나온 가지의 수 (4) 단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 노드, Degree가 0인 노드 (5) 비단말 노드(Non-Termianl Node) : 자식이 적어도 1개 있는 노드 (6..
자료 구조 1. 자료 구조 자료를 기억장치 공간 내에 저장하는 방법과 자료 간의 관계, 처리 방법 등을 연구 분석하는 것 * 자료 구조의 분류 2. 배열(Array) (1) 크기와 형이 동일한 자료들이 순서대로 나열된 자료의 집합 (2) 반복적인 데이터 처리 작업에 적합한 구조 (3) 정적인 자료 구조, 기억장소의 추가가 어려움 (4) 데이터 삭제 시 기억장소가 빈 공간으로 남아 있어 메모리 낭비 발생 3. 연속 리스트(Contiguous List) (1) 연속되는 기억장소에 저장되는 자료 구조 (2) 중간에 데이터 삽입을 위해서는 연속된 빈 공간이 있어야 함 (3) 삽입, 삭제 시 자료 이동이 필요 4. 연결 리스트(Linked List) (1) 자료들을 임의의 기억공간에 기억시키되 노드의 포인터 부분을 이용하여..
논리 데이터 모델의 변환 1. 엔티티를 테이블로 변환 * 변환 규칙 논리적 설계(데이터 모델링) 물리적 설계 엔티티(Entity) 테이블(Table) 속성(Attribute) 컬럼(Column) 주 식별자(Primary Identifier) 기본키(Primary Key) 외부 식별자(Foreign Identifier) 외래키(Foreign Key) 관계(Relationship) 관계(Relationship) 2. 슈퍼타입/서브타입/개별타입을 테이블로 변환 (1) 슈퍼 타입 기준 테이블 변환 : 서브타입을 슈퍼타입에 통합하여 하나의 테이블로 만드는 것 (2) 서브 타입 기준 테이블 변환 : 슈퍼타입 속성들을 각각의 서브타입에 추가하여 서브타입들을 개별적인 테이블로 만드는 것 (3) 개별 타입 기준 테이블 변환 : 슈퍼타입과 서브타..
스토리지 1. 스토리지(Storage) 대용량 데이터를 저장하기 위해 서버와 저장장치를 연결하는 기술 2. DAS(Direct Attached Storage) 서버와 저장장치를 전용 케이블로 직접 연결하는 방식 3. NAS(Network Attached Storage) 서버와 저장장치를 네트워크를 통해 연결하는 방식 4. SAN(Storage Area Network) 서버와 저장장치를 연결하는 전용 네트워크를 별도로 구성하는 방식, 광채널 스위치 이용, 백업 장비 단일화 출처 : 정보처리기사 실기 2024 기본서 / 저자 : 길벗알앤디(김정준, 강윤석, 김용갑, 김우경) / 출판사 : 길벗
데이터베이스 백업 1. 데이터베이스 백업 장애에 대비해 데이터베이스에 저장된 데이터를 보호하고 복구하기 위한 작업 2. 로그 파일 데이터베이스의 상태변화를 시간의 흐름에 따라 모두 기록한 파일 3. 데이터베이스 복구 알고리즘 (1) NO-UNDO/REDO - 데이터베이스 버퍼의 내용을 비동기적으로 갱신한 경우의 복구 알고리즘 - NO-UNDO : 트랜잭션 완료 전에 변경 내용이 데이터베이스에 기록되지 않으므로 취소할 필요 없음 - REDO : 트랜잭션 완료 후 데이터베이스 버퍼에는 기록되어 있고, 저장매체에는 기록되지 않았으므로 트랜잭션 내용을 다시 실행해야 함 (2) UNDO/NO-REDO - 데이터베이스 버퍼의 내용을 동기적으로 갱신한 경우의 복구 알고리즘 - UNDO : 트랜잭션 완료 전에 시스템이 파손되었다면 변경..
데이터베이스 보안 1. 데이터베이스 보안 데이터베이스에 대해서 권한이 없는 사용자가 엑세스하는 것을 금지하기 위한 기술 2. 암호화(Encryption) 평문을 암호문으로 변환하는 것 * 암호화 과정(Encryption) : 평문을 암호문으로 바꾸는 과정 * 복암호화 과정(Decryption) : 암호문을 평문으로 바꾸는 과정 * 암호화 기법 - 개인키 암호 방식(Private Key Encryption) - 공개키 암호 방식(Public Key Encryption) 3. 접근통제 데이터가 저장된 객체와 이를 사용하려는 주체 사이의 정보 흐름을 제한하는 것 * 접근통제 기술 정책 특징 임의 접근통제 (DAC,Discretionary Access Control) 데이터에 접근하는 사용자의 신원에 따라 접근 권한 부여 데이터..
데이터베이스 이중화/ 서버 클러스터링 1. 데이터베이스 이중화(Database Replication) 동일한 데이터 베이스를 복제하여 관리하는 것 * 데이터베이스 이중화 분류 - Eager 기법 트랜잭션 수행 중 데이터 변경이 발생하면 이중화된 모든 데이터베이스에 즉시 전달하여 변경 내용이 즉시 적용되도록 하는 기법 - Lazy 기법 트랜잭션의 수행이 종료되면 변경 사실을 새로운 트랜잭션에 작성하여 각 데이터베이스에 전달되는 기법, 데이터베이스 마다 각각 새로운 트랜잭션이 수행되는 것으로 간주 * 데이터베이스 이중화 구성 방법 - 활동-대기 방법(Active-Standby) 한 DB가 활성 상태로 서비스하고 있으면 다른 DB는 대기하고 있다가 활성 DB에 장애가 발생하면 대기 상태에 있던 DB가 자동으로 모든 서비스를 대신 수행함 - 활동-..
분산 데이터베이스 설계 1. 데이터베이스 용량 설계 데이터가 저장될 공간을 정의 * 데이터베이스 용량 설계의 목적 - 디스크의 저장공간을 효과적으로 사용하고 확장성과 가용성을 높임 - 디스크의 입출력 부하를 분산시키고 채녈의 병목 현상을 최소화 2. 분산 데이터베이스 설계 논리적으로 하나의 시스템에 속하지만 물리적으로는 네트워클크를 통해 연결된 여러 개의 사이트에 분산된 데이터베이스 3. 분산 데이터 베이스 목표 (1) 위치 투명성(Location Transparency) 액세스하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 액세스 할 수 있음 (2) 중복 투명성(Replication Transparency) 동일 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하..