본문 바로가기
자격증/정보처리기사

[실기] 정보처리기사 24년 1회 기출 오답노트

by D.O.T 2024. 7. 28.

7번

  • 비정규형 -> 제 1정규형 (1NF) 
    • 모든 도메인이 원자값이어야 함.
    • 번호 : {a, b}, {c} 같은 꼴이 되면 안되고 번호 : {a}, {b}, {c} 와 같은 꼴이 되어야 함
  • 제 1정규형 -> 제 2정규형(2NF)
    • 1NF가 만족되어야 함.
    • 키가 아닌 모든 속성이 기본키 그룹에 완전하게 함수적 종속이 되어야 함.
    • 즉, 부분 종속성이 없어야 한다는 말임.
    • 기본키 = {고객아이디, 강좌명}, 종속되는 함수 -> 강사번호
    • 부분 집합 = {고객아이디}, {강좌명}
    • 고객아이디만으로 강사번호를 알 수 없음. -> 부분 종속성 없음.
    • 강좌명만으로 강사번호를 알 수 없음 -> 부분 종속성 알 수 없음.
  • 제 2정규형 -> 제 3정규형 (3NF)
    • A -> B, B -> C, C -> A 뭐 이런게 없어야 한다.
    • 이 말은 기본키가 아닌 속성은 기본키에만 의존해야 한다는 말이다.
    • 기본키는 {고객아이디, 강좌명} 이고 비기본키는 {강사번호}뿐이므로 만족한다.
  • 제 3정규형 -> BCNF (Boyce-Codd 정규형)
    • 모든 결정자가 후보키여야 한다.
    • 기본키이면서 후보키인 {고객아이디, 강좌명} 으로는 강사번호를 결정할 수 있다.
    • 추가로 강사번호로 어떤 강좌인지 결정할 수 있다.
      • 강사번호는 후보키가 아니므로 분리하게 되면 BCNF를 만족한다.
  • BCNF -> 제 4정규형 (4NF)
    • 다치 종속성을 제거한다.
    • 기본키가 고객 아이디만 존재한다면, {고객아이디, 강좌명}과 {고객아이디, 강사번호}로 분리할 수 있다.
    • 최소 3개의 컬럼이 필요함.
  • 제 4정규형 -> 제 5정규형 (5NF)
    • 4NF에서 Join을 했을 경우, 1 : N 매핑이 되는 경우가 없어야 한다.
    • 즉, 조인 종속을 제거해야 된다는 것인데 더이상 분해가 안되어야 함.
  • BCNF를 잘하면 4NF랑 5NF도 잘됨

9번

LRU (Least Recently Used) : 가장 오랫동안 사용되지 않은 페이지 교체

LFU (Least Frequently Used) : 가장 적게 사용된 페이지 교체 

FIFO (First In First Out) : 먼저

NUR (Not Used Recently) : 최근에 사용되지 않은 페이지, Clock 알고리즘


14번

  • 코드 커버리지 
    • 구문 커버리지 (State Coverage)
      • 모든 명령문을 한 번 수행하도록 하는 커버리지
    • 결정 커비리지 (Decision Coverage) / 분기 커버리지 (Branch Coverage)
      • 전체 코드 내 조건을 결정하는 결과가 T 와 F가 한 번씩은 나와야 함.
    • 조건 커버리지 (Condition Coverage)
      • 결정문 내에서 각 조건이 T 와 F가 한 번씩은 나와야 함.
    • 조건/결정 커버리지 (Condition/Decision Coverage)
      • 조건 커버리지와 결정 커버리지의 최소한의 조합으로 전체 조건식이 T와 F가 나와야한다.
      • 개별 조건식 또한 T와 F가 한번씩 나와야 한다.
    • 변경 조건/결정 커버리지
      • 개별 조건식이 다른 조건식에 영향을 받지 않음.
      • 전체 조건식의 결과에 영향을 줌
      • T/T 일 때 T, T/F일 때 F, F/T 일 때 F라면, F/F 일 때 F라면, F/F는 측정하지 않음.
      • F/F에서 T/F가 되든 F/T가 되든 F니까 반대로 다른 것들은 조건을 바꾸면 전체 결과가 바뀜
    • 다중 조건 커버리지 (Multiple Condition Coverage)
      • 모든 가능성이 있다.

15번

  • 23년 1회차 8번 문제와 같이 공부하면 좋음
  • Rootkit
    • 불법적인 해킹에 사용되는 기능들을 제공하는 프로그램들의 모음
    • 권한이 없는 사용자가 접근할 수 없는 영역에 접근해서 시스템을 제어하도록 설계 됨.
    • 한우툴과 같은 해킹툴
  • Spyware
    • 사용자 동의 없이 설치되어 사용자 정보를 수집하는 것
  • Remote Administration Tool
    • 관리자가 네트워크를 통해 원격으로 시스템을 제어함.
    • 한우툴에 있음 강제 원격
  • Evil Twin Attack
    • 악성 쌍둥이 공격
    • 합법적인 Wifi와 유사한 네트워크를 설정해 사용자가 연결하도록 유도
  • Logic Bomb
    • 특정 조건이 충족되면 악성 코드를 실행하도록 함.
    • 날짜나 시간 등의 이벤트가 발생될 때 활성화 됨.

오답은 아니지만 대충 아는 것

3번

  • 응집도 - 능적 > 차적 > 환적 > 차적 > 시간적 > 논리적 > 우연적
    • 우연적으로 쓰는건 당연히 꼴지일듯
    • 기능적은 당연히 제일 중요할듯
    • 순교절만 외우면 시간 > 논리라고 알 수 있음.

8번

  • 세타 조인 (Theta Join)
    • 조건을 만족하는 경우만 join on 이 만족
  • 동등 조인(Equal Join)
    • join on A = B 인경우
  • 자연 조인 (Natural Join)
    • natural join, on이 없음. 그냥 동등 조인 중 중복되는건 없앰
  • 외부 조인 (Outer Join)
    • 데이터 값이 존재하지 않더라도 필드가 추가되어서 모두 포함한 결과를 반환
  • 세미 조인 (Semi Join)
    • 자연 조인 후, 한쪽 릴레이션의 튜플만 반환
  • 그 외에도 크로스 조인, 내부 조인 등 있