목록정보처리산업기사 (14)
판봉 개발 일기
정보처리산업기사를 오늘 시험을 보고왔습니다. 비전공자 공부 방법 : 시나공 필기 책, cbt 기출문제 공부 기간 : 1달정도 하루 공부 시간 : 1~3시간 사이 북부직업전문학교라는 곳에서 시험을 봤는데 다행히 아버지가 차로 태워주셔서 약 40분?정도 시간이 걸린것 같습니다 (필자는 부천에 서식중...) 이름이 [학교]가 붙어서 학교의 이미지를 생각했는데 건물 안에 있는 거더라구요 학원같은 느낌? 앞에는 벤치가 있는데 거기서 사람들이 다 기다렸습니다. 시국이 시국인지라.. 가채점 결과는 다행히 턱걸이로 합격을 했습니다. 주위에 시험을 본사람들을 알아보니 역시나 이번 시험이 좀 어려운 편이었던것 같네요 이번 3회차 시험은 21년도의 마지막 필기시험이었는데 22년도부터 아예 과정이 확 바뀐다고 하니까 좀 문제..
인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접근하기위해 구성하는 것입니다. 데이터가 저장된 물리적 구조와 관계가 있습니다. 레코드가 저장된 물리적 구조에 접근하는 방법을 제공합니다. 인덱스를 통해 파일의 레코드에 대한 액세스를 빠르게 할 수 있습니다. 레코드의 삽입과 삭제가 수시로 일어나면 인덱스의 개수를 줄이는게 좋습니다. m-원 검색 트리(m-way Search Tree) 한 노드가 최대 m-1개의 키와 m개의 Subtree를 갖도록 구성됨 키 값의 일부분이 동일한 문자열이나 숫자로 구성된 자료를 표현하는데 좋음 트리 높이가 얕아져 특정 노드의 검색 시간이 감소됨 삽입, 삭제 시 트리 균형을 유지하기 위해 복잡한 연산이 필요합니다. B-트리의 특징 Index를 구성하는 방법으로 가장 많이 사용하는..
해싱의 개요 해싱은 Hash Table이라는 기억공간을 할당하고, 해시 함수를 이용하여 레코드 키에 대한 Hash Table 내의 Home Address를 계산한 뒤 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식입니다. 해싱은 DMA(직접 접근) 파일을 구성할 때 사용되며, 접근 속도는 빠르나 기억공간이 많이 요구됨 다른 방식에 비해 검색 속도가 가장 빠르다 삽입, 삭제 작업의 빈도가 많을때 유리한 방식 키-주소 변환 방법 해시 테이블(Hash Table, 해시표) 해시 테이블은 레코드를 한 개 이상 보관할 수 있는 Bucket들로 구성된 기억공간으로 보조기억장치에 구성도 되고 주기억 장치에도 구성이 가능함 버킷 : 하나의 주소를 갖는 파일의 한 구역이며 크기는 같은 주소에 포함될..
검색은 컴퓨터를 이용하여 기억공간에 보관중인 특정 레코드를 찾아내는 작업입니다. 선형 검색(Linear Search) 선형 검색은 순서화되지 않은 파일에서 순차적으로 검색하는 것으로 키값을 첫번째 레코드 키값부터 차례로 비교함 순차 검색(Sequential Search)라고도 합니다. 프로그램 작성이 가장 쉽습니다. 평균 검색 횟수는 (n+1)/2입니다. 제어 검색(Control Search) 제어 검색은 반드시 순서화되어있어야 검색할 수 있습니다. 한번의 비교 동작이 끝나고 비교 대상이 된 레코드를 다음에 비교할 대상을 선택하는 기준으로 이용해 검색합니다. 이분 검색(이진 검색, Binary Search) 전체 파일을 두개의 서브파일로 분리하며 키 레코드를 검색합니다. 찾으려는 키의 값을 파일으 중간 ..
삽입 정렬(insertion Sort) 삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시킨다음에 정렬하는ㄱ ㅓㅅ입니다. 평균과 최악 모두 수행 시간 복잡도는O(n2)입니다. 쉘 정렬(Shell Sort) 쉘 정렬은 삽입정렬을 확장한 개념입니다. 평균 수행 복잡도는 O(n1.5)이고, 최악의 수행 시간 복잡도는 삽입 정렬과 같습니다. 쉘 정렬의키워드는 매개변수입니다. 선택 정렬(Seletcion Sort) 선택 정렬은 n개의 레코드 중에서 최소값을 찾아 첫번째 레코드 위치에 놓고 나머지 (n-1)개 중에서 다시 최소값을 찾아 두번째 레코드 위치에 놓는 방식을 반복하는 것입니다. 평균과 최악 모두 수행 시간 복잡도는 O(n2)입니다. 버블 정렬(Bubbl..
정렬은 파일을 구성하는 각 레코드를 특정 키 항목을 기준으로 오름또는 내림차순으로 재배열 하는 작업입니다. 정렬 방식 정렬은 크게 주기억장치에서 이루어지는 내부 정렬과 보조기억장치에서 이루어지는 외부정렬이 있습니다. 내부정렬 선택법 : 히프 삽입법 : 삽입,쉘정렬 교환법: 버블,선택,퀵정렬 병합법 : 2-way Merge Sort 분배법 : 기수 정렬(Radix Sort) 내부 정렬이란 소량의 데이터에 대해 주기억 장치에 기억시켜서 정렬하는 방법입니다. 외부정렬 밸런스 병합정렬 캐스케이드 병합 정렬 폴리파즈 병합 정렬 옷리레이팅 병합 정렬 대부분 외부정렬은 병합정렬으로 처리합니다. 정렬 알고리즘 선택시 주의 사항 데이터의 양 초기 데이터의 배열 상태 키 값들의 분포 상태 소요공간과 작업시간 사용하는 컴퓨..
그래프의 정의 그래프 G는 정점 V(Vertax)와 간선 E(Edge)의 두 집합으로 이루어짐 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨 통신망, 교통망, 이항관계, 연립방정식, 유기화학 구조식, 무향성분 해법 등에 이용 Tree는 사이클이 없는 Graph입니다. 용어 정리 Loop - 한 정점에서 그 자신에 이어지는 간선 Loop 차수 무방향 그래프 : 한 정점에 연결된 간선의 수 방향 그래프 - 진입 차수(Indegree) : 한 정점에 도착하는 방향 간선의 수 - 진출 차수(Outdegree) : 한 정점에서 출발하는 방향 간선의 수 - 차수 = 진입차수 + 진출 차수 경로(Path)- 임의의 정점에서 다른 정점에 이르는 길 경로 길이 : 경로상에 있는 간선들의 수 단순 경로 ..
내장 SQL(Embedded SQL)의 정의 내장 SQL은 응용 프로그램 내에 데이터베이스에서 사용하는 데이터를 정의하거나 질의하는 SQL 문장을 내포하여 프로그램이 실행될 때 함께 실행되도록 호스트 프로그램 언어로 만든 프로그램에 삽입된 SQL입니다. 내장 SQL의 특징 내장 SQL 실행문은 호스트 언어에서 실행문이 나타날 수 있는 곳이면 프로그램 어느곳에서나 사용 가능합니다 일반 SQL문은 수행 결과로 여러 개의 튜플을 반환하는 반면, 내장 SQL은 단 하나의 튜플만을 반환합니다. 내장 SQL문에 의해 반환되는 튜플은 일반 변수를 사용하여 저장할 수 있습니다. Host Program의 컴파일 시 내장 SQL문은 선행처리기에 의해 분리되어 컴파일 됩니다. 호스트 변수와 데이터베이스 필드의 이름은 같아도..
데이터베이스 설계의 개념 및 고려 사항 데이터베이스 설계란 사용자의 요구를 분석하여 그것들을 컴퓨터에 저장할 수 있는 데이터베이스의 구조에 맞게 변형한 후 특정 DBMS로 데이터베이스를 구현하여 일반 사용자들이 사용하게 하는 것입니다. 데이터베이스 설계 시 고려사항 무결성 : 삽입, 삭제, 갱신 등의 연산 후에도 데이터베이스에 저장된 데이터가 정해진 제약 조건을 항상 만족해야함 일관성 : 데이터베이스에 저장된 데이터들 사이나, 특정 질의에 대한 응답이 처음부터 끝까지 변함없이 일정해야함 회복(Recovery) : 시스템에 장애가 발생할 경우 장애 발생 직전의 상태로 복구할 수 있어야 함 보안 : 불법적인 데이터의 노출 또는 변경이나 손실로부터 보호할 수 있어야 함 효율성 : 응답시간의 단축, 시스템의 생..
망형 데이터 모델(Network Data Model)의 개요 CODASYL이 제안한 것으로 CODASYL DBTG 모델 이라고도 합니다. 그래프를 이용해서 데이터 논리 구조를 표현한 데이터 모델입니다. 상위(Owner)와 하위(Member) 레코드 사이에서 다 대 다(N:M) 대응 관계를 만족하는 구조입니다. 레코트 타입 간의 관계는 1:1, 1:N, N:M 이 될 수 있습니다. 대표적인 DBMS는 DBTG, EDBS, TOTAL이 있습니다. 망형 데이터 모델의 표현 Entity군 Entity SET : 주종 관계의 Entity군들의 그룹 SET Membership Type : 일 대 다 관계에 연관된 레코드 오너(Owner) : 트리 구조에서의 Parent와 같은 개념입니다. 멤버(Member) : 트..