Certificate Study

[정보처리기사][필기] 데이터베이스 구축 및 프로그래밍 언어 요약 (인프런)

후비a 2025. 1. 21. 00:15

 

본 내용은 인프런의 정보처리기사 자격증 대비 교육(필기) 강의를 요약한 것입니다.

 

[지금 무료]정보처리기사 자격증 대비 교육(필기) 강의 | 국립안동대학교 SW융합교육원 - 인프런

 

[지금 무료]정보처리기사 자격증 대비 교육(필기) 강의 | 국립안동대학교 SW융합교육원 - 인프런

국립안동대학교 SW융합교육원 | NCS개정 정보처리기사 필기 합격을 위한 핵심요약 특강으로 CBT 필기시험과 필답형 실기시험을 효율적으로 학습 할수 있습니다., 정보처리기사 자격증 대비 교육(

www.inflearn.com

 


6강_[3과목] 데이터베이스 구축

  1. 관계 대수
    • 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 방법
    • 주어진 릴레이션 조작을 위한 연산의 집합
    • 질의에 대한 해를 구하기 위해 수행해야할 연산의 순서를 명시
    • 릴레이션 조작을 위한 연산의 집합으로 피연산자와 결과가 모두 릴레이션이다.
    • 일반 집합 연산과 순수 관계 연산으로 구분
      • 순수 관계 연산자: Select, Project, Join, Division
      • 일반 집합 연산자: 합집합, 교집합, 차집합, 교차곱

2. SQL의 분류

  • DDL(Data Definition Languge)
    • 데이터베이스의 정의/변경/삭제에 사용되는 언어
    • 논리적 데이터 구조와 물리적 데이터 구조로 정의
    • 논리적 데이터 구조와 물리적 데이터 구조 간의 사상을 정의
    • 번역한 결과가 데이터 사전에 저장
    • DDL의 종류
      • CREATE: 스키마, 도메인, 테이블, 뷰 정의
      • DROP: 스키마, 도메인, 테이블 뷰 삭제
      • ALTER: 테이블 정의 변경
    • CASCADE vs RESTRICT
      • DROP View: View_이름 [CASCADE | RESTRICT];
      • CASCADE: 삭제할 요소가 다른 개체에서 참조 중이라도 삭제가 수행
      • RESTRICT: 삭제할 요소가 다른 객체에서 참조 중일 경우 삭제가 취소
  • DML(Data Manipulation Language)
    • DML의 종류
      • SELECT: 튜플 검색
      • INSERT: 튜플 삽입
      • DELETE: 튜플 삭제
      • UPDATE: 튜플 내용 변경
  • DCL(Data Control Language)
    • DCL의 종류:
      • GRANT: 데이터베이스 사용자에게 사용 권한 부여
      • REVOKE: 데이터 베이스 사용자로부터 권한 취소
      • COMMIT: 명령어로 수행된 결과를 실제 물리적 디스크로 저장, 명령어로 수행을 성공적으로 완료하였음을 선언
      • ROLLBACK: 명령어로 수행에 실패하였음을 알리고, 수행된 결과를 원상 복구

3. 하위 질의, SQL 연산자

  • 하위 질의의 개념
    • 하위 질의문은 하위 질의를 먼저 처리하고 검색된 결과는 상위 질의에 적용되어 검색됨
  • 논리 연산자 설정
    • AND, OR, NOT
  • BETWEEN ~ AND
    • 구간 값 조건식

4. 트랜잭션 (Transaction)

  • 원자성: 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함
  • 일관성: 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 함
  • 고립성: 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함
  • 영속성: 트랜잭션의 완료 결과가 데이터 베이스에 영구히 기억되어야 함
  • 트랜잭션 상태
    • 활동: 초기 상태로 트랜잭션이 Begin_Trans 에서 부터 실행을 시작하였거나 실행 중인 상태
    • 부분 완료: 트랜잭션의 마지막 연산이 실행된 직후의 상태, 모둔 연산의 처리는 끝났지만 트랜잭션이 수행한 최종 결과는 데이터 베이스에 반영하지 않은 상태
    • 철회: 트랜잭션이 실행에 실패하여 Rollback 연산을 수행한 상태
    • 완료: 트랜잭션이 성공적으로 완료 연산을 수행한 상태

5. 뷰

  • 뷰의 생성 시 CREATE 문, 검색 시 SELECT 문을 사용
  • 뷰의 정의 변경 시 ALTER 문을 사용할 수 없고, DROP 문을 이용
  • 뷰를 이용한 또 다른 뷰의 생성이 가능
  • 하나의 뷰 제거 시 그 뷰를 기초로 정의된 다른 뷰도 함께 삭제
  • 뷰에 대한 조작에서 삽입, 갱신, 삭제 연산은 제약이 따름
  • 뷰가 정의된 기본 테이블이 제거되면 뷰도 자동적으로 제거

6. 인덱스

  • 데이터베이스 성능에 많은 영향을 주는 DBMS 의 구성 요소로 테이블과 클럿터에 연관되어 독립적인 저장 공간을 보유하며, 데이터베이스에 저장된 자료를 더욱 빠르게 조회하기 위하여 별도로 구성한 순서 데이터
  • 데이터베이스 대부분에서 테이블을 삭제하면 인덱스도 같이 삭제됨

 


 

7강_[4과목] 프로그래밍 언어

1. C언어의 연산자 우선순위 (높음 낮음)

  • 괄호() → 산술 연산자 → 비트 이동 연산자 → 관계 연산자 → 비트 논리 연산자 → 논리 연산자
  • 산술 연산자: *, /, %, +, -
  • 비트 이동 연산자: <<, >>
  • 관계 연산자: <, <=, >, =, ==, !=
  • 비트 논리 연산자: &, ^, |
  • 논리 연산자: !, &&, ||
  • 삼항 연산자: ?, :

2. C 언어의 논리 연산자

  • 논리부정(!) 연산자: '참'을 '거짓'으로 '거짓'을 '참'으로 부정
  • 논리곱(&&) 연산자: 좌측과 우측 피연산자가 모두 '참'이어야 '참'의 결과
  • 논리합(||) 연산자: 좌측과 우측 피연산자 중 좌측 연산자가 '참'이면 '참'의 결과

3. C 언어의 변수명 작성 규칙

  • 영문 대소문자, 숫자, '_' 혼용 가능
  • 첫 글자는 영문이나 '_'로 시작 가능
  • 대소문자 구분
  • 공백 포함 불가능
  • 예약어 불가능
  • 라이브러리 함수: include <헤더파일.h>
    • include <stdlib.h> 
      • atoi(): 문자열을 정수형으로 변환
      • atof(): 문자열을 실수형으로 변환
      • itoa(): 숫자를 문자열로 변환
    • include <math.h>
      • ceil(): 자리 올림
      • floor(): 자리 버림

4. for 문과 문자열 처리 함수

  • for 반복문
    • 일정 횟수만큼 반복 수행할 때 사용
    • 문법 구조
      for(초기식; 조건식; 증감식){
           명령문1;
           명령문n; }
  • 문자열 처리 함수
    • include <string.h>
      • strlen(): 문자열 길이
      • strcat(), strncat(): 하나의 문자열에 다른 문자열을 연결
      • strcpy(), strncpy(): 문자열을 복사
      • strcmp(), strncmp(): 문자열 내용 비교
    • include <stdlib.h>
      • atoi(), atol(), atoll(), atof(): 인수로 전달된 문자열을 숫자형으로 변환
    • include <ctyp.h>
      • toupper(), tolower(): 영문자를 대문자, 소문자로 변환

5. Java 연산자의 종류 및 우선순위 (높음 낮음)

  • 단항 연산자 산술 연산자 시프트 연산자 관계 연산자 비트 연산자 논리 연산자 조건 연산자 할당 연산자 콤마 연산자

6. Java의 배열 객체

  • 배열 객체.length: 배열 객체의 크기(요소의 개수)
  • 출력 함수
    • System.out.print(): 괄호 안을 출력하고 줄 바꿈을 안 한다.
    • System.out.println(): 괄호 안을 출력하고 줄 바꿈을 한다.
    • System.out.printf(): 변환 문자를 사용하여 출력한다.

7. Java 삼항 연산자

  • if~else 문
    • if(조건식)
      조건식의 결과가 참일 때 실행하는 명령문;
      else
      조건식의 결과가 거짓일 때 실행하는 명령문;
  • 삼항 연산자
    • 조건식? 참일 때 명령문 : 거짓일 때 명령문

8. Python

  • 1991년 귀도 반 로섬(Guido van Rossum)이 개발한 고급 프로그래밍 언어
  • 플랫폼에 독립적이고 인터프리터식, 객체지향적, 동적 타이핑 대화형 언어
  • 변수명 작성 규칙
    • 영문 대소문자, 숫자, '_'를 혼용하여 사용 가능
    • 첫 글자는 영문자나 '_'로 시작
    • 영문자는 대소문자 구분
    • 공백 포함 불가능
    • 예약어를 사용 불가능


 

8강_[4과목] 프로그래밍 언어 활용

1.기억 장치 교체 전략

  • 주기억 장치의 모든 페이지 프레임이 사용 중일 때, 어떤 페이지 프레임을 교체할 것인지 결정하는 전략
  • 종류
    • OPT: 가장 오랫동안 사용되지 않을 페이지를 먼저 교체하는 기법, 실현 가능성 희박
    • FIFO: 가장 먼저 적재된 페이지를 먼저 교체하는 기법, 구현 간단
    • LRU: 각 페이지마다 계수기나 스택을 두어 현시점에서 가장 오랫동안 사용하지 않은 페이지 교체하는 기법
    • LFU: 참조된 횟수가 가장 적은 페이지 먼저 교체하는 기법

2. 운영체제 스케쥴링

  • HRN(Highest Response-ratio Next)
    • 우선순위 계산식 = (대기시간 + 서비스를 받을 시간) / 서비스를 받을 시간
  • SJF(Shortest Job First)
    • 비선점 스케줄링 기법의 일종
    • 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU 할당하는 스케줄링 기법

3. 기억장치 배치 전략

  • First Fit: 프로그램/데이터가 할당 가능한 영역 중에서 첫 번째 영역에 할당
  • Best Fit: 프로그램/데이터가 할당 가능한 영역 중에서 단편화가 가장 작은 영역에 할당
  • Worst Fit: 프로그램/데이터가 할당 가능한 영역 중에서 단편화가 가장 큰 영역에 할당

4. 가상 기억 장치(Virtual Memory)

  • 주기억 장치의 부족한 용량을 해결하기 위해 보조 기억 장치를 주기억 장치처럼 사용하는 기법
  • 가상 깅거 장치의 일반적인 구현 방법에는 프로그램을 고정된 크기의 일정한 블록(페이지)으로 나누는 페이징 기법과 가변적인 크기의 블록(세그먼트)으로 나누는 세그멘테이션 기법이 있다.

5. 워킹 셋(Working Set)

  • 운영체제의 가상 기억 장치 관리에서 프로세스가 일정 시간 동안 자주 참조하는 페이지들의 집합

6. UNIX, LINUX의 쉘(Shell)과 커널(Kernel)

  • UNIX의 특징
    • Multi-User 및 Multi-Tasking 을 지원
    • 네트워킹 시스템이며 대화식 운영체제
    • 높은 이식성과 확장성, 프로세스 간 호환성이 높다.
    • 트리 구조의 계층적 파일 시스템을 갖는다.
  • 쉘(Shell)
    • 사용자가 지정한 명령들을 해석하여 커널로 전달하는 명령어 해석기
    • 시스템과 사용자 간의 인터페이스를 담당
    • 종류: C Shell, Bourn Shell, Korn Shell 등
  • 커널(Kernel)
    • 운영체제의 핵심 부분인 커널(Kernel)은 프로세스 관리, 기억 장치 관리, 입출력 관리, 파일 시스템 관리 등의 기능을 수행
    • 사용자 인터페이스 제공은 쉘(Shell)의 기능
  • umask
    • 파일이나 디렉토리 생성 시 초기 접근 권한을 설정할 때 사용
    • 초기 파일의 권한은 666이고 디렉터리는 777이며 여기에 umask 값을 빼서 초기 파일 권한 설정 가능
    • 파일 초기 권한 666 - ? = 파일 권한 644 ( umask = 022)

7. OSI 7계층

  • OSI (Open Systems Interconnection) 참조 모델
    • 국제표준화기구(ISO)에서 개발한 모델로 컴퓨터 네트워크에서 여러 시스템이 데이터를 주고받고 서로 연동할 수 있는 표준화된 인터페이스를 제공하기 위해 프로토콜을 기능별로 나눈 것이다.
  • OSI 7계층 구조
    • 1계층: 물리 계층 (Physical Layer)
      • 통신회선을 통하여 비트전송을 수행하기 위하여 전기적, 기계적인 제어 기능을 수행하는 계층
      • 프로토콜 종류: RS-232, Ethernet, Wi-Fi, Bluetooth, V.24, X.21
    • 2계층: 데이터 링크 계층 (Data Link Layer)
      • 인접한 두 개의 통신 시스템 간에 신뢰성 있는 효율적인 데이터를 전송하는 계층
      • 링크의 설정과 유지 및 종료를 담당
      • 전송 데이터의 흐름 제어, 프레임 동기, 오류 제어 수행
      • 링크의 효율성을 향상
      • 프로토콜 종류: HDLC, PPP, LLC, LAPB, LAPD, ADCCP
    • 3계층: 네트워크 계층 (Network Layer)
      • 통신망을 통하여 패킷을 목적지까지 전달하는 계층
      • 패킷의 경로 선택 및 중계 역할
      • 과도한 패킷 유입에 대한 폭주 제어 기능
      • 프로토콜 종류: IP, ICMP, IGMP, ARP, RARP
    • 4계층: 전송 계층 (Transport Layer)
      • 통신 양단간(End-to-End) 투명한 데이터 전송 제공
      • 에러제어 및 흐름 제어 담당
      • 프로토콜 종류: TCP, UDP
    • 5계층: 세션 계층 (Session Layer)
      • 응용간의 대화 제어 (Dialogue Control)를 담당하는 계층
      • 긴 파일 전송 중에 통신상태가 불량하여 트랜스포트 연결이 끊어지는 경우, 처음부터 다시 전송을 하지 않고 어디까지 전송이 진행되었는지를 동기점(synchronization point)을 이용하여 오류 복구
    • 6계층: 표현 계층 (Presentation Layer)
      •  응용 프로세스 간에 데이터 표현상의 차이에 상관없이 통신이 가능하도록 독립성을 제공 (코드변환, 데이터 압축 등)하는 계층
    • 7계층: 응용 계층 (Application Layer)
      • 네트워크 가상 터미널 (network virtual terminal)이 존재하여 서로 상이한 프로토콜에 의해 발생하는 호환성 문제를 해결하는 계층
      • 프로토콜 종류: HTTP, SMTP, FTP, DNS, SNMP, Telnet

8. TCP/IP/ICMP/UDP

  •  TCP (Transmission Control Protocol)
    • OSI 7계층의 전송 계층에 해당
    • 신뢰성 있는 연결 지향형 전달 서비스 제공
    • 메세지를 캡슐화와 역캡슐화 함.
    • 특징: 접속형 서비스, 전이중 전송 서비스
    • 기능: 패킷 다중화 (역다중화), 오류 제어, 흐름 제어, 순서 제어
  • IP (Internet Protocol)
    • OSI 7계층의 네트워크 계층에 해당하며 비신뢰성 서비스를 제공
    • 비연결성으로 송신지가 여러 개인 데이터 그램을 보내면서 순서가 뒤바뀌어 도달할 수 있으며 IP 프로토콜의 헤더 길이는 최소 20~60byte
    • ARP (Address Resolution Protocol): 논리 주소(IP 주소)를 물리 주소(MAC 주소)로 변환하는 프로토콜
    • RARP (Reverse Address Resolution Protocol): 호스트의 물리 주소(MAC 주소)로부터 논리 주소 (IP 주소)를 구하는 프로토콜
  • ICMP(Internet Control Message Protocol, 인터넷 제어 메세지 프로토콜)
    • TCP/IP 계층의 인터넷 계층에 해당
    • 네트워크 운영체제의 오류 메시지를 전송 받는 데 주로 사용, 인터넷 프로토콜에 의존하여 작업 수행
    • IP 동작 과정에서의 전송 오류가 발생하는 경우에 대비해 오류 정보를 전송하는 목적으로 사용하는 프로토콜
  • UDP(User Datagram Protocol)
    • 비연결형 및 비신뢰성 전송 서비스 제공
    • 흐름 제어나 순서 제어가 없어, 전송 속도 빠름
    • 수신된 데이터의 순서 재조정 기능 지원하지 않음
    • 복구 기능을 제공하지 않음

9. IPv6 (Internet Protocol version 6)

  • 128비트 길이의 IP 주소로 16비트씩 8부분의 16진수로 표시
  • 인증 및 보안 기능을 포함하고 있어, IPv4보다 보안성 강화됨
  • IPv6 확장 헤더를 통해 네트워크 기능 확장 용이
  • 자동으로 네트워크 환경 구성 가능
  • 인증 및 보안 기능을 포함하고 있어 IPv4보다 보안성 강화
  • IPv6의 주소체계: 유니캐스트(Unicast), 애니캐스트(Anycast), 멀티캐스트(Multicast)

 

 

이상으로 인프런 정보처리기사 자격증 대비 교육(필기) 강의 6~8강 요약본 이었습니다.

 

다음 블로그는 마지막 5과목 9~10강 요약본 입니다!

좋은 하루 되세요!!