2022년 2회 주제 · 연습 1
SQL·데이터베이스관계형 질의에서 결과가 만족할 조건을 논리식으로 표현하고 구체적인 처리 절차를 직접 지정하지 않는 형식 체계를 쓰시오.
정답·해설 보기
정답
관계 해석(Relational Calculus)
해설
관계대수는 연산 조합으로 질의를 표현한다. 관계 해석은 원하는 결과의 조건에 초점을 둔다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
정보처리기사 · 실기
답안을 직접 작성하고 정답과 비교해 보세요. 서술형 답안은 표현이 다를 수 있어 직접 확인합니다.
주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
관계형 질의에서 결과가 만족할 조건을 논리식으로 표현하고 구체적인 처리 절차를 직접 지정하지 않는 형식 체계를 쓰시오.
관계 해석(Relational Calculus)
관계대수는 연산 조합으로 질의를 표현한다. 관계 해석은 원하는 결과의 조건에 초점을 둔다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
64비트 블록을 쓰는 대칭키 암호 중 ① 128비트 키를 사용하는 International Data Encryption Algorithm ② 80비트 키를 사용하는 NSA 설계 알고리즘을 쓰시오.
① IDEA ② Skipjack
두 알고리즘의 키 길이와 블록 길이를 구별한다. 새 시스템에 대한 사용 권고를 묻는 문제가 아니다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
SQL에서 x > ( ) (하위 질의) 형태로, 하위 질의가 반환한 모든 값보다 x가 커야 한다는 비교를 표현한다. 괄호에 들어갈 키워드를 쓰시오.
ALL
ANY 또는 SOME은 비교를 만족하는 값이 하나 이상인 경우이다. NULL이 포함되면 SQL의 3값 논리를 고려해야 한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
아래 테이블에 다음 SQL을 실행했을 때 마지막 SELECT의 결과를 쓰시오. NULL은 결측값이며, 결과는 열을 공백으로 구분하고 행마다 줄을 바꾸어 적으시오.
| id | name | team | score | mentor |
|---|---|---|---|---|
| 1 | Ari | A | 60 | NULL |
| 2 | Bora | B | 55 | 1 |
| 3 | Cian | A | 60 | 1 |
| 4 | Dani | B | NULL | 2 |
| 5 | Evan | A | 45 | 2 |
SELECT COUNT(*), COUNT(score), COUNT(DISTINCT score)
FROM Scores WHERE id <= 4;4 3 2
COUNT(*)는 행 수, COUNT(score)는 NULL이 아닌 점수 수, COUNT(DISTINCT score)는 NULL을 제외한 서로 다른 점수의 수를 센다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
공용 네트워크 위에 논리적인 전용 통신 경로를 구성하고 보안 프로토콜 등을 통해 원격 사용자를 내부망에 연결하는 기술의 약어를 쓰시오.
VPN
Virtual Private Network이다. 구체적인 암호화·인증 보장은 사용하는 프로토콜과 설정에 따라 달라진다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
조직의 경영 전략과 업무 현황을 분석하여 정보시스템의 목표 구조와 단계별 추진 계획을 수립하는 활동의 약어를 쓰시오.
ISP(Information Strategy Planning)
여기서 ISP는 인터넷 서비스 제공자가 아니라 정보화 전략 계획을 뜻한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
public static void main(String[] args) {
int x=2, result=6;
switch(x) {
case 1: result+=2;
case 2: result*=3; break;
default: result=0;
}
System.out.print(result);
}
}18
case 1에는 break가 없어서 case 2의 처리까지 이어진다. x가 2이면 곱셈부터 실행한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int main(void) {
int data[] = {3, 7, 10, 12};
int *p=data+1;
p[1] += 3;
printf("%d %d %d", *p, *(p+1), data[3]-data[0]);
return 0;
}7 13 9
p는 data[1]을 가리킨다. p[1]과 *(p+1)은 모두 data[2]이므로 같은 원소가 수정된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
IPv4 호스트 192.168.11.124/26의 네트워크 주소, 브로드캐스트 주소, 사용 가능한 호스트 주소 수를 쓰시오. 일반적인 서브넷에서 네트워크·브로드캐스트 주소는 호스트에 할당하지 않는다.
192.168.11.64 192.168.11.127 62개
호스트 비트는 6비트로 주소 수는 2^6=64개이다. 호스트 비트를 모두 0으로 만들면 네트워크, 모두 1로 만들면 브로드캐스트 주소이며 호스트 수는 2를 뺀다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
출시 전 시험에서 ① 개발 조직의 통제된 환경에서 사용자가 참여 ② 실제 사용자 환경에서 제한된 외부 사용자들이 사용 후 피드백 제공에 해당하는 테스트를 쓰시오.
① 알파 테스트 ② 베타 테스트
두 방식 모두 출시 전 문제 발견과 피드백 수집에 활용되며 환경과 참여 방식에 차이가 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
결함 수정 후 기존에 정상 동작하던 결제와 환불 기능에 부작용이 생기지 않았는지 다시 검사한다. 테스트 종류를 쓰시오.
회귀 테스트(Regression Testing)
변경된 부분의 수정 확인뿐 아니라 변경이 기존 기능에 미친 영향을 확인한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
관계대수에서 사원 관계의 이름과 부서 속성만 선택하는 연산의 이름과 기호를 쓰시오.
프로젝션(Projection), π
관계대수의 프로젝션은 속성, 즉 열을 선택하며 중복 튜플을 제거한다. SQL SELECT는 DISTINCT가 없으면 중복을 유지할 수 있다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 Python 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Python 3 기준이다.
s = "DATABASES"
print(s[1:7:2], s[-4:][::-1])AAA SESA
첫 슬라이스는 인덱스 1·3·5의 문자를 고른다. 둘째는 마지막 네 문자를 먼저 얻은 뒤 역순으로 바꾼다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
① 자율 시스템 내부의 라우팅 프로토콜 분류 ② 자율 시스템 사이의 분류 ③ 링크 상태 방식의 대표 내부 프로토콜 ④ 인터넷의 대표 외부 프로토콜을 쓰시오.
① IGP ② EGP ③ OSPF ④ BGP
여기서 EGP는 외부 게이트웨이 프로토콜의 분류를 뜻한다. BGP는 경로 벡터 방식으로 경로 속성과 정책을 사용한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int main(void) {
int data[] = {7, 11, 14, 16};
int *p=data+1;
p[1] += 3;
printf("%d %d %d", *p, *(p+1), data[3]-data[0]);
return 0;
}11 17 9
p는 data[1]을 가리킨다. p[1]과 *(p+1)은 모두 data[2]이므로 같은 원소가 수정된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 C 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. C11, ASCII 문자 집합을 기준으로 한다.
#include <stdio.h>
int main(void) {
int data[] = {4, 8, 11, 13};
int *p=data+1;
p[1] += 3;
printf("%d %d %d", *p, *(p+1), data[3]-data[0]);
return 0;
}8 14 9
p는 data[1]을 가리킨다. p[1]과 *(p+1)은 모두 data[2]이므로 같은 원소가 수정된다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
다음 Java 코드의 실행 결과를 쓰시오. 출력에 있는 공백과 줄바꿈을 구분하시오. Java 21 기준이다.
public class Main {
static class Base { int value; Base(int v){value=v;} int read(){return value;} }
static class Child extends Base {
Child(int v){super(v+3);}
@Override int read(){return super.read()*2;}
}
public static void main(String[] args) {
Base item=new Child(6);
System.out.print(item.read());
}
}18
Child 생성자가 super에 6+3을 전달한다. 변수의 선언형은 Base여도 실제 객체가 Child이므로 재정의한 read가 실행되고 부모의 값에 2를 곱한다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
함수 종속에서 ① 복합키 일부만으로 비키 속성이 결정됨 ② 키 전체가 있어야 결정됨 ③ A→B와 B→C를 거쳐 A→C가 성립함을 각각 쓰시오.
① 부분 함수 종속 ② 완전 함수 종속 ③ 이행적 함수 종속
정규화에서는 후보키와 주요 속성 여부도 함께 고려한다. 단순히 화살표가 두 개 있다고 항상 정규형 위반은 아니다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
웹에서 ① 문서를 요청·응답하는 응용 계층 프로토콜 ② 링크로 다른 문서에 연결되는 텍스트 ③ 웹 문서 구조를 표현하는 마크업 언어를 쓰시오.
① HTTP ② 하이퍼텍스트 ③ HTML
전송 규약, 문서 연결 개념, 문서 구조 언어는 서로 다른 역할이다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
화살표 X→Y는 X가 Y를 호출한다는 뜻이다. A→B, F→B, B→D, B→E, D→E일 때 B 모듈의 fan-in과 fan-out을 구하시오. 서로 다른 직접 연결 모듈 수를 센다.
fan-in 2, fan-out 2
B을 직접 호출하는 모듈은 A·F, B이 직접 호출하는 모듈은 D·E이다. 간접 호출은 세지 않는다.
학습용 재구성 · 주제 참고: Life-Journey · 2022년 2회 비공식 복원 (새 창)
답안과 확인 상태는 현재 브라우저에만 저장됩니다. ‘맞았어요’ 표시는 본인이 확인한 학습 기록이며 실제 시험 점수가 아닙니다.