6장. 절차형 SQL
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 절차형 SQL의 개요절차형 SQL은 C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL을 의미한다.절차형 SQL은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다.절차형 SQL을 활용하여 다양한 기능을 수행하는 저장 모듈을 생성할 수 있다.절차형 SQL은 DBMS 엔진에서 직접 실행되기 때문에 입출력 패킷이 적은 편이다.BEGIN ~ END 형식으로 작성되는 블록(Block) 구조로 되어 있기 때문에 기능별 모듈화가 가능하다.절차형 SQL의 종류에는 프로시저, 트리거, 사용자 정의 함수가 있다.프로시저(Procedure) : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출..
5장. 데이터베이스 개요
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 데이터저장소데이터저장소는 소프트웨어 개발 과정에서 다루어야 할 데이터들을 논리적인 구조로 조직화하거나, 물리적인 공간에 구축한 것을 의미한다.데이터저장소는 논리 데이터저장소와 물리 데이터 자장소로 구분된다.논리 데이터저장소는 데이터 및 데이터 간의 연관성, 제약조건을 식별하여 논리적인 구조로 조직화한 것을 의미한다.물리 데이터저장소는 논리 데이터저장소에 저장된 데이터와 구조들을 소프트웨어가 운용될 환경의 물리적 특성을 고려하여 하드웨어적인 저장장치에 저장한 것을 의미한다.논리 데이터저장소를 거쳐 물리 데이터저장소를 구축하는 과정은 데이터베이스를 구축하는 과정과 동일하다.2. 데이터베이스데이터베이스는 특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다...
4장. 검색 - 이분 검색 / 해싱
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 이분 검색이분 검색(이진 검색, Binary Search)은 전체 파일을 두 개의 서브파일로 분리해 가면서 Key 레코드를 검색하는 방식이다.이분 검색은 반드시 순서화된 파일이어야 검색할 수 있다.찾고자 하는 Key 값을 파일의 중간 레코드 Key 값과 비교하면서 검색한다.비교 횟수를 거듭할 때마다 검색 대상이 되는 데이터의 수가 절반으로 줄어듦으로 탐색 효율이 좋고 탐색 시간이 적게 소요된다.중간 레코드 번호 M = (F + L) / 2 (단, F : 첫 번째 레코드 번호, L : 마지막 레코드 번호)2. 해싱해싱(Hashing)은 해시 테이블(Hash Table)이라는 기억공간을 할당하고, 해시 함수(Hash Function)를 이용하여 레코드 키에 대한 해시 테이블 내의 홈 주소(Home Ad..
3장. 정렬(Sort)
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 삽입 정렬(Insertion Sort)삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시켜 정렬한다.두 번째 키와 첫 번째 키를 비교해 순서대로 나열(1회전)하고, 이어서 세 번째 키를 첫 번째, 두 번째 키와 비교해 순서대로 나열(2회전)하고, 계속해서 n번째 키를 앞의 n-1개의 키와 비교하여 알맞은 순서에 삽입하여 정렬하는 방식이다.평균과 최악 모두 수행 시간 복잡도는 O(n^2)이다.2. 쉘 정렬(Shell Sort)쉘 정렬은 삽입 정렬(Insertion Sort)을 확장한 개념이다.입력 파일을 어떤 매개변수(h)의 값으로 서브파일을 구성하고, 각 서브파일을 Insertion 정렬 방식으로 순서 배열하는 과정을 반복하는 정렬 방식(보통 h ..
2장. 트리(Tree)
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 트리의 개요트리는 정점(Node, 노드)과 선분(Branch, 가지)을 이용하여 사이클을 이루지 않도록 구성한 그래프(Graph)의 특수한 형태이다.트리는 하나의 기억 공간을 노드(Node)라고 하며, 노드와 노드를 연결하는 선을 링크(Link)라고 한다.트리는 가족의 계보(족보), 조직도 등을 표현하기에 적합하다.트리 관련 용어노드(Node) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지(Branch)를 합친 것근 노드(Root Node) : 트리의 맨 위에 있는 노드디그리(Degree, 차수) : 각 노드에서 뻗어 나온 가지의 수단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 노드, 즉 디그리가 0인 노드자식 노드(Son Node) : ..
1장. 자료구조
·
정보처리기사/[2과목] 1. 데이터 입출력 구현
1. 자료 구조의 정의효율적인 프로그램을 작성할 때 가장 우선적인 고려사항은 저장 공간의 효율성과 실행시간의 신속성이다. 자료 구조는 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석하는 것을 말한다.2. 배열(Array)배열은 동일한 자료형의 데이터들이 같은 크기로 나열되어 순서를 갖고 있는 집합이다.배열의 정적인 자료 구조로 기억장소의 추가가 어렵고, 데이터 삭제 시 데이터가 저장되어 있던 기억장소는 빈 공간으로 남아있어 메모리의 낭비가 발생한다.배열은 첨자를 이용하여 데이터에 접근한다.배열은 반복적인 데이터 처리 작업에 적합한 구조이다.배열은 데이터마다 동일한 이름의 변수를 사용하여 처리가 간편하다.배열은 ..