[컴퓨터활용능력 1급 필기] 20년 1회차 시험지 PDF 다운로드
20년 1회차
H.264는 동영상을 압축하는 비디오 코덱 표준으로, 음성 데이터의 압축·복원과는 관련이 없다.
FLAC과 WAV는 오디오 데이터를 저장하는 방식이고, AIFF 역시 오디오 파일 형식으로 모두 사운드 압축·복원 기술에 해당한다.
게임이나 컴퓨터 기반 훈련처럼 사용자의 입력에 따라 진행 흐름이 달라지고 상호작용을 통해 내용을 제어할 수 있는 멀티미디어를 비선형 콘텐츠라고 한다.
선형 콘텐츠는 정해진 순서대로만 재생되어 사용자가 진행을 바꿀 수 없는 형태를 가리키므로 문제에서 설명하는 상호작용 제어와는 맞지 않는다.
비밀키(대칭키) 암호화 기법은 알고리즘 구조가 비교적 단순하여 암호화와 복호화 속도가 빠른 것이 특징이므로, 복잡한 알고리즘 때문에 속도가 느리다는 설명은 옳지 않다.
동일한 키로 암호화와 복호화를 수행하기 때문에 그 키의 길이와 비밀 유지 여부가 안전성을 좌우하며, 사용자 수가 늘어날수록 서로 주고받아야 할 키의 조합이 급격히 늘어나 관리해야 할 키의 수도 많아진다.
분산 서비스 거부 공격은 여러 대의 좀비 컴퓨터나 장비를 동원해 특정 서버에 대량의 트래픽을 한꺼번에 집중시켜 서버가 정상적으로 동작하지 못하게 만드는 공격 방식이다.
패킷을 엿보아 계정 정보를 알아내는 행위는 스니핑, 신뢰된 상대인 것처럼 위장해 데이터를 변조하는 행위는 스푸핑, 키 입력을 가로채 정보를 빼내는 행위는 키로거에 해당하여 분산 서비스 거부 공격과는 성격이 다르다.
VoIP는 기존 회선교환 방식의 PSTN보다 인터넷망을 활용해 요금을 낮출 수 있다는 것이 큰 장점이므로, 요금이 더 높다는 설명은 옳지 않다.
VoIP는 인터넷 IP 기술을 이용해 음성을 디지털 패킷 형태로 전송하는 기술이며, 보컬텍사의 인터넷폰으로 처음 소개된 뒤 PC 대 PC, PC 대 전화, 전화 대 전화 방식으로 점차 발전해 왔다.
대량의 데이터 속에서 숨어 있는 규칙이나 패턴을 찾아내 유용한 정보를 추출하는 기술을 데이터 마이닝이라고 한다.
데이터 웨어하우스는 여러 시스템의 데이터를 통합해 저장하는 창고 개념이고, 데이터 마이그레이션은 데이터를 다른 시스템으로 이전하는 작업이며, 메타데이터는 데이터에 대한 데이터를 의미하므로 패턴 추출과는 성격이 다르다.
프로토콜의 기능은 통신 규약과 관련된 것이지, 네트워크에 연결된 물리적 하드웨어의 연결 문제를 직접 해결해 주는 기능은 아니므로 이 항목은 프로토콜의 기능에 해당하지 않는다.
흐름 제어를 통해 주고받는 패킷의 양을 조절하고, 동기화 기능으로 송신 측과 수신 측의 상태를 맞추며, 오류 검출 기능으로 전송 도중 발생한 에러를 찾아내는 것은 모두 프로토콜의 핵심 기능이다.
현재 컴퓨터에 연결되어 있는 다른 컴퓨터의 IP 주소나 포트 정보를 확인하는 것은 netstat과 같은 명령의 기능이며, 목적지까지의 경로를 추적하는 tracert의 실행 결과로는 확인할 수 없으므로 이 설명은 옳지 않다.
tracert를 실행하면 목적지까지 거치는 경로의 IP 주소와 구간 수, 각 구간의 응답 속도를 확인할 수 있어 특정 사이트 접속이 안 될 때 서버 문제인지 망 문제인지, 어느 구간에서 지연이 발생하는지 파악하는 데 활용된다.
IPv6 주소는 16진수로 표현되며 콜론(:)으로 각 부분을 구분하므로, 10진수로 표현하고 세미콜론으로 구분한다는 설명은 옳지 않다.
IPv6는 16비트씩 8부분, 총 128비트로 구성되고 유니캐스트·멀티캐스트·애니캐스트로 주소 체계가 나뉘며, 실시간 흐름 제어를 지원해 향상된 멀티미디어 기능을 사용할 수 있다.
객체지향 프로그래밍은 클래스를 상속하거나 객체를 재사용할 수 있어 코드의 재사용성과 유지보수성이 뛰어난 것이 대표적인 특징이다.
절차적 프로그래밍의 장점을 그대로 활용한다거나 인터프리터 번역 방식을 주로 사용한다는 설명, 프로그램의 구조와 절차에 중점을 둔다는 설명은 모두 절차 지향적 접근과 관련된 내용으로 객체지향의 특징과는 거리가 있다.
2비트의 에러를 검출하고 1비트의 에러를 교정할 수 있는 것은 해밍 코드의 특징이다. ASCII 코드는 패리티 비트를 이용해 오류가 생겼다는 사실을 검출할 수 있을 뿐 스스로 교정하지는 못하므로 이 설명은 옳지 않다.
ASCII 코드는 3개의 존 비트와 4개의 디지트 비트로 하나의 문자를 표현하는 7비트 코드로, 데이터 통신용으로 널리 쓰이며 128가지 문자를 표현할 수 있다.
여기에 비트를 하나 더 사용하는 확장 ASCII 코드는 8비트로 문자를 표현한다.
하나의 컴퓨터에 두 개 이상의 중앙처리장치를 두고 주기억장치와 주변장치를 공유하면서 여러 작업을 동시에 처리해 신뢰성과 연산 능력을 함께 높이는 방식을 다중 처리 시스템이라고 한다.
시분할 처리 시스템은 하나의 CPU 시간을 아주 짧은 단위로 나누어 여러 사용자에게 번갈아 할당하는 방식이고, 다중 프로그래밍 시스템은 한 대의 CPU가 여러 프로그램을 번갈아 실행해 동시에 처리하는 것처럼 보이게 하는 방식이다.
듀플렉스 시스템은 같은 장비를 두 대 두고 한 대는 대기시켜 두었다가 고장에 대비하는 구성으로, 중앙처리장치를 여러 개 두어 처리 능력을 높이는 것과는 목적이 다르다.
프로그램 카운터는 다음에 실행할 명령어가 저장된 기억장치의 번지(주소)를 기억하는 레지스터이지, 이미 실행된 명령어의 개수를 세는 역할을 하는 것이 아니므로 이 설명은 옳지 않다.
명령 레지스터는 현재 실행 중인 명령어를 담아 두고, 부호기는 해독된 명령에 따라 각 장치에 보낼 제어 신호를 만들어내며, 메모리 주소 레지스터는 기억장치에 입출력되는 데이터의 번지를 기억한다.
프린터의 출력 해상도나 스캐너의 스캔 해상도를 나타낼 때는 1인치 안에 몇 개의 점을 표현할 수 있는지를 뜻하는 DPI 단위를 사용한다.
CPS는 초당 인쇄되는 문자 수, BPS는 초당 전송되는 비트 수, PPM은 분당 인쇄되는 매수를 나타내는 단위로 해상도와는 다른 개념이다.
가상 메모리의 페이징 파일 크기를 설정하는 것은 운영체제의 시스템 속성에서 이루어지는 작업이지 BIOS의 기능이 아니므로 이 설명은 옳지 않다.
BIOS는 메인보드의 EPROM이나 플래시 메모리 칩에 저장되어 있으며, 컴퓨터 전원을 켜면 가장 먼저 실행되어 기본 입출력 장치와 메모리 등 하드웨어의 이상 유무를 검사한다.
CMOS 셋업 프로그램을 통해 날짜와 시간, 부팅 순서 등 일부 BIOS 정보를 설정할 수 있다.
반도체를 이용해 데이터를 저장하는 보조기억장치로 크기가 작고 충격에 강하며 소음이 없는 대용량 저장 장치는 SSD이다.
HDD는 자기 디스크를 회전시켜 기계적으로 데이터를 읽고 쓰는 방식이고, DVD와 CD-RW는 광학 매체를 이용하는 저장 장치로 반도체 방식과는 구조가 다르다.
기본 장치 및 서비스만으로 Windows를 시작해 문제를 진단하는 데 유용한 시작 모드는 '진단 모드'이며, '선택 모드'는 사용자가 시스템 서비스나 시작 프로그램 등을 개별적으로 선택해 켜고 끌 수 있는 모드이므로 이 설명은 옳지 않다.
[시스템 구성]은 Windows가 제대로 시작되지 않는 문제를 식별하도록 돕는 고급 도구로, 공용 서비스나 시작 프로그램을 하나씩 꺼가며 재시작해 보면 어떤 항목이 문제의 원인인지 확인할 수 있다.
부팅 옵션의 '안전 부팅' 중 '최소 설치'를 선택하면 중요한 시스템 서비스만 실행되는 안전 모드로 시작되며 네트워킹 기능은 사용할 수 없다.
탐색 창, 미리 보기 창, 세부 정보 창의 표시 여부는 파일 탐색기의 [보기] 리본 메뉴에서 설정하는 항목이지 [폴더 옵션] 창에서 지정하는 작업이 아니므로 이 설명은 옳지 않다.
[폴더 옵션] 창에서는 숨김 파일이나 폴더의 표시 여부, 시스템 파일 검색 시 색인 사용 여부, 알려진 파일 형식의 확장명을 숨길지 여부 등을 지정할 수 있다.
직접 폴더를 선택해 백업할 때는 사용자 데이터 파일 위주로 백업이 이루어지며, 알려진 시스템 폴더나 시스템 파일은 백업 대상에서 제외되므로 이 설명은 옳지 않다.
Windows 백업은 특정 날짜와 시간에 주기적으로 자동 백업되도록 예약할 수 있고, 백업 파일은 .bkf 확장자로 저장되며, 복원할 때에는 원하는 위치를 지정해 파일을 되돌려 놓을 수 있다.
정답은 4번 항목이다. Windows 10 작업 표시줄 설정에서 시작 단추와 작업 보기 단추는 숨길 수 없으며, 이들의 표시 여부를 설정할 수 없다는 점이 핵심이다. 작업 표시줄 설정(속성)에서 숨기거나 표시할 수 있는 것은 검색 아이콘, 작업 보기 단추, 언어 표시줄, 시스템 아이콘 등 일부 요소이지만, 시작 단추는 항상 표시되는 필수 요소로 선택 불가능하다. 반면 1번은 작업 표시줄을 화면 가장자리에 이동 가능하고 높이를 드래그로 조절할 수 있으며(제한 있음), 2번은 작은 작업 표시줄 단추 옵션이 존재하고, 3번은 자동 숨기기 옵션이 있으므로 모두 참이다.
고급 필터는 필터링한 결과를 원래 목록이 있던 자리가 아니라 사용자가 지정한 다른 위치에 별도의 표로 복사해 만들어낼 수 있다는 점이 자동 필터와 구별되는 특징이다.
자동 필터는 한 열에 여러 종류의 데이터가 섞여 있으면 그중 가장 많은 데이터 형식에 맞춘 필터 하나만 표시되고, 여러 필드에 조건을 설정하면 필드 사이는 AND 조건으로 처리된다.
또한 고급 필터에서 조건을 수식으로 작성할 때에는 조건 범위의 첫 셀에 필드명을 그대로 쓰면 안 되고, 비워 두거나 원본의 필드명과 다른 이름을 입력해야 한다.
가로 방향인 행을 기준으로 정렬하려면 [정렬] 대화상자의 [옵션]에서 정렬 방향을 '왼쪽에서 오른쪽'으로 선택해야 하므로, '위쪽에서 아래쪽'을 선택한다는 설명은 옳지 않다.
정렬 시 대/소문자 구분 여부를 지정할 수 있고, 표의 다른 열에 영향을 주지 않은 채 선택한 한 열만 정렬하도록 설정할 수도 있으며, 정렬 기준을 '셀 아이콘'으로 지정하면 기본 정렬 순서는 '위에 표시'가 적용된다.
시나리오 요약 보고서뿐 아니라 시나리오 피벗 테이블 보고서를 만들 때에도 결과로 확인할 셀을 지정해야 하므로, 피벗 테이블 보고서는 결과 셀을 지정하지 않아도 된다는 설명은 옳지 않다.
여러 시나리오의 값을 비교해 하나의 표로 요약해 볼 수 있고, 요약 보고서를 만들기 전에 변경 셀과 결과 셀에 이름을 정의해 두면 셀 참조 주소 대신 그 이름이 보고서에 표시된다.
시나리오 요약 보고서는 값이 바뀌어도 자동으로 갱신되지 않으므로, 변경된 내용을 반영하려면 새로 보고서를 작성해야 한다.
이미 사용 중인 셀 스타일 자체를 수정하면 그 스타일이 적용된 모든 셀의 서식이 별도의 재적용 없이도 자동으로 함께 바뀌므로, 다시 적용해야 반영된다는 설명은 옳지 않다.
셀 스타일은 글꼴, 글꼴 크기, 숫자 서식, 테두리, 음영 등을 하나로 묶어 정의해 서식을 일관되게 적용할 때 편리하며, 기본 제공 스타일을 수정하거나 복제해 사용자 지정 스타일을 만들 수도 있다.
다른 사람이 값을 바꾸지 못하도록 셀을 잠그는 용도의 셀 스타일도 활용할 수 있다.
피벗 테이블의 하위 데이터 집합에도 필터와 정렬뿐 아니라 조건부 서식도 적용할 수 있어, 특정 값이나 상위/하위 항목을 강조해서 표시할 수 있다.
따라서 조건부 서식이 적용되지 않는다는 설명은 옳지 않다.
새 워크시트에 피벗 테이블을 만들면 보고서 필터 영역이 [A1] 셀부터, 행 레이블이 [A3] 셀부터 시작하는 것이나, [모두 지우기]를 실행하면 필드·서식·필터가 모두 제거되는 것, 오류 값을 빈 셀이나 지정한 값으로 표시하도록 옵션을 설정할 수 있는 것은 모두 맞는 설명이다.
| 입력 데이터 | 표시 형식 | 표시 결과 |
|---|




사용자 지정 표시 형식의 #은 유효한 자릿수만 표시하고 의미 없는 0은 나타내지 않는 자리 표시자다. 자릿수가 모자랄 때 0으로 채워 주는 0 서식과 이 점이 다르다.
따라서 100에 ##.##을 지정하면 소수 이하에 표시할 유효 숫자가 없어 0으로 채워지지 않고 소수점만 남은 100. 형태로 표시된다. 100.00처럼 소수 둘째 자리까지 0을 채우려면 서식을 ##.00으로 지정해야 하므로, 100.00으로 표시된다는 설명이 옳지 않다.
나머지는 규칙대로다. 0에 #을 적용하면 의미 없는 0이므로 아무것도 표시되지 않고, 123.456에 #.#을 적용하면 소수 둘째 자리에서 반올림되어 123.5가 된다. 12345에 #,###을 적용하면 세 자리마다 쉼표가 들어가 12,345가 된다.
숫자와 문자가 결합된 텍스트를 채우기 핸들로 드래그하면 숫자 부분만 1씩 증가하고 문자 부분은 그대로 복사되어 채워진다.
일반적인 문자 데이터는 그대로 복사되지만, 날짜 데이터는 하루 단위로 증가하며 채워지므로 항상 그대로 복사된다고 볼 수 없다.
숫자 하나만 입력된 셀을 드래그하면 값이 그대로 복사되고, 숫자가 입력된 두 셀을 함께 선택해 드래그하면 두 값의 차이만큼 일정하게 증가하는 패턴으로 채워진다.
<Alt> + <Page Down> 키는 현재 시트 안에서 화면을 오른쪽으로 한 화면만큼 이동시키는 단축키이며, 다른 시트로 이동하지는 않는다. 시트 간 이동은 <Ctrl> + <Page Down>(다음 시트) 또는 <Ctrl> + <Page Up>(이전 시트)으로 한다.
이름 상자에 셀 주소를 입력하고 <Enter>를 누르면 해당 셀로 이동하고, <Ctrl> + <Home>은 [A1] 셀로, <Home>은 현재 행의 A열로 이동시키는 것이 맞는 설명이다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 학번 | 학과 | 학년 | 성명 | 주소 |
| 2 | 12123 | 국문과 | 2 | 박태훈 | 서울 |
| 3 | 15234 | 영문과 | 1 | 이경섭 | 인천 |
| 4 | 20621 | 수학과 | 3 | 윤혜주 | 고양 |
| 5 | 18542 | 국문과 | 1 | 민소정 | 김포 |
| 6 | 31260 | 수학과 | 2 | 함경표 | 부천 |
| 7 | |||||
| 8 | |||||
| 9 |
OFFSET(기준, 행, 열)은 기준 셀에서 지정한 행·열만큼 떨어진 셀을 돌려주는 함수다. 행 인수가 음수면 위쪽으로, 열 인수가 양수면 오른쪽으로 이동하며 기준 셀 자체를 0으로 두고 센다.
=OFFSET(B3,-1,2)는 기준인 [B3]에서 위로 1행(3행 → 2행), 오른쪽으로 2열(B열 → D열) 이동한 [D2] 셀을 가리킨다. 시트에서 [D2]는 성명 열의 첫 데이터인 박태훈이다.
기준 셀을 0이 아니라 1로 세어 B열을 첫 칸으로 잡으면 [E2]의 '서울'이 되고, 행 인수의 부호를 반대로 보면 [D4]의 '윤혜주', 두 가지가 함께 어긋나면 [E4]의 '고양'이 나온다. 이동 방향과 칸 수를 기준 셀 기준으로 정확히 세는 것이 핵심이다.

[개발 도구] 탭의 [컨트롤] 그룹은 그림처럼 삽입, 디자인 모드, 속성, 코드 보기, 대화 상자 실행으로 구성된다. 이 가운데 [디자인 모드]는 워크시트에 삽입한 ActiveX 컨트롤을 편집하기 위한 상태로 전환하는 단추다.
디자인 모드에서 ActiveX 컨트롤은 지정된 매크로 등 정해진 동작을 실행하지 않고 선택·크기 조절·이동만 가능하지만, 양식 컨트롤은 디자인 모드와 상관없이 지정된 매크로가 그대로 실행된다. 두 종류 컨트롤이 모두 동작하지 않는다고 한 설명은 옳지 않다.
나머지는 맞는 설명이다. 컨트롤에는 텍스트 상자·목록 상자·옵션 단추·명령 단추 등이 있고, ActiveX 컨트롤은 양식 컨트롤보다 다양한 이벤트에 반응하는 대신 호환성이 떨어진다. 또 양식 컨트롤의 단추를 시트에 추가하면 [매크로 지정] 대화상자가 자동으로 나타난다.
Sub 예제( )
Test = 0
Do Until Test > 10
Test = Test + 1
Loop
Range("A1").Value = Test
End Sub
Do Until ~ Loop는 조건이 참이 될 때까지 반복하는 구조이며, 반복을 시작하기 전에 조건을 먼저 검사한다.
Test에 0을 넣은 뒤 Test > 10이 거짓인 동안 Test = Test + 1을 되풀이한다. Test가 10일 때도 조건이 아직 거짓이므로 한 번 더 실행되어 Test는 11이 되고, 이때 비로소 조건이 참이 되어 반복을 벗어난다.
반복문을 빠져나온 뒤 Range("A1").Value = Test가 실행되므로 [A1] 셀에는 11이 입력된다. 조건이 Test >= 10이었다면 10에서 멈추고, 누적 합을 구하는 코드가 아니므로 1부터 10까지의 합인 55는 나올 수 없다.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 10 | 20 | 30 | 40 | 50 | 60 | 70 |
[A1:G1]에는 10, 20, 30, 40, 50, 60, 70이 차례로 들어 있다.
SMALL(범위, 3)은 세 번째로 작은 값이므로 30이고, 가장 작은 다섯 값 10·20·30·40·50의 AVERAGE도 (10+20+30+40+50) ÷ 5 = 30이다. 값이 모두 7개이므로 LARGE(범위, 5)는 다섯 번째로 큰 값, 곧 작은 쪽에서 세 번째인 30이 된다. 세 수식 모두 결과가 30이다.
반면 COLUMN(D1)은 D열의 열 번호인 4를 돌려주므로, 이를 순위로 넣은 SMALL(A1:G1, COLUMN(D1))은 네 번째로 작은 값인 40이 되어 나머지 셋과 결과가 다르다.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 번호 | 성명 | 주민등록번호 | 성별 | 코드 | 성별 | |
| 2 | 1 | 이경훈 | 940209-1****** | 남 | 1 | 남 | |
| 3 | 2 | 서정연 | 920305-2****** | 여 | 2 | 여 | |
| 4 | 3 | 이정재 | 971207-1****** | 남 | 3 | 남 | |
| 5 | 4 | 이춘호 | 990528-1****** | 남 | 4 | 여 | |
| 6 | 5 | 김지수 | 001128-4****** | 여 |
주민등록번호의 여덟 번째 문자는 MID(C2, 8, 1)로 뽑는다. [C2]의 940209-1******에서는 "1"이 나오며, 이 값이 1이나 3이면 남자, 2나 4이면 여자다.
MOD(값, 2)는 2로 나눈 나머지이므로, 값이 2나 4인 짝수일 때 0이 된다. 즉 나머지가 0인 경우가 여자인데 그 자리에 "남"을 돌려주도록 되어 있어 남녀가 정반대로 표시된다. 나머지가 0일 때 "여", 그렇지 않을 때 "남"이 되도록 순서를 바꿔야 올바른 결과가 나온다.
나머지 셋은 모두 올바르다. OR 함수로 여덟 번째 문자가 "2" 또는 "4"인지 확인해 여·남을 가르는 방법, 숫자로 바꾼 값을 CHOOSE의 인덱스로 삼아 남·여·남·여 중 하나를 고르는 방법, [F2:G5]의 코드표에서 VLOOKUP으로 정확히 일치(마지막 인수 0)하는 코드의 성별을 가져오는 방법이 그것이다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | No. | 영화명 | 관객수 | 국적 | 장르 |
| 3 | 1 | 럭키 | 66,962 | 한국 | 코미디 |
| 4 | 2 | 허드슨강의 기적 | 33,317 | 미국 | 드라마 |
| 5 | 3 | 그물 | 9,103 | 한국 | 드라마 |
| 6 | 4 | 프리즘☆투어즈 | 2,778 | 한국 | 애니메이션 |
| 7 | 5 | 드림 쏭 | 1,729 | 미국 | 애니메이션 |
| 8 | 6 | 춘몽 | 382 | 한국 | 드라마 |
| 9 | 7 | 파수꾼 | 106 | 한국 | 드라마 |
| 10 | |||||
| 11 | 코미디 | 드라마 | 애니메이션 | ||
| 12 | 한국 | 1 | 3 | 1 | |
| 13 | 미국 | 0 | 1 | 1 |
시트의 2행이 머리글이고 3~9행이 자료로, 국적은 D열·장르는 E열에 들어 있다. [B12]는 국적이 [A12]의 '한국'이면서 장르가 [B11]의 '코미디'인 영화 편수를 구하는 자리이므로 결과는 '럭키' 한 편, 즉 1이 되어야 한다.
조건 두 개를 곱하는 SUM(($D$2:$D$9=$A12)*($E$2:$E$9=B$11))은 두 조건의 TRUE/FALSE가 곱셈 과정에서 1과 0으로 바뀌므로, 이를 모두 더하면 두 조건을 동시에 만족한 개수가 된다. IF를 중첩한 SUM(IF(…, IF(…, 1))) 역시 두 조건을 모두 만족할 때만 1을 남기고 더하므로 같은 결과를 준다.
문제는 COUNT 함수의 성격이다. COUNT는 '숫자인 값의 개수'를 세는데, 조건식을 곱한 결과 배열은 만족하면 1, 아니면 0으로 0도 엄연히 숫자다. 따라서 곱셈 배열을 COUNT에 그대로 넘기면 조건에 맞지 않는 항목까지 전부 세어 배열 원소 수인 8을 돌려주므로 편수 계산식으로 쓸 수 없다.
반면 COUNT(IF((조건)*(조건), 1))은 조건을 만족하지 않는 자리에 숫자가 아닌 FALSE가 남으므로 1의 개수만 세어 정확히 1을 반환한다. 같은 COUNT라도 IF로 걸러 준 것과 조건 곱 배열을 그대로 넘긴 것은 결과가 전혀 다르다는 점을 구분해야 한다.
차트가 선택된 상태에서 이름 상자에는 차트 개체의 이름(예: 차트 1)이 표시되며, 차트의 종류가 표시되는 것은 아니다.
<Ctrl> 키로 여러 셀을 선택하면 이름 상자에는 마지막으로 선택한 셀 주소가 표시되고, 이름을 정의해 둔 셀이나 범위를 선택하면 정의된 이름이 표시된다. 수식 작성 중에는 이름 상자가 최근 사용한 함수 목록을 보여주는 함수 선택 상자로 바뀐다.
화면 확대/축소 배율은 시트마다 개별적으로 설정되는 값으로, 한 시트에서 설정한 배율이 통합 문서의 다른 모든 시트에 자동으로 적용되지는 않는다.
확대/축소는 10%~400% 범위에서 설정할 수 있고, 화면에 보이는 크기만 조절할 뿐 인쇄되는 실제 크기에는 영향을 주지 않는다. <Ctrl> 키를 누른 채 마우스 휠을 위로 굴리면 확대, 아래로 굴리면 축소되는 것도 맞는 설명이다.
[페이지 설정] 대화상자의 [시트] 탭에서 '간단하게 인쇄'를 선택하면 테두리, 그래픽 등 서식 요소를 생략하고 데이터만 빠르게 인쇄하는 기능으로, 셀 테두리를 포함해서 인쇄하는 옵션이 아니다.
워크시트의 눈금선은 기본적으로 인쇄되지 않지만 설정을 통해 인쇄되도록 바꿀 수 있고, [인쇄 미리 보기 및 인쇄] 화면은 <Ctrl> + <F2>로 열 수 있으며, '여백 표시'를 선택하면 마우스로 여백을 직접 조정할 수 있다.
[데이터 선택] 대화상자에서는 계열 목록의 위/아래 이동 버튼을 이용해 범례에 표시되는 데이터 계열의 순서를 바꿀 수 있다. 따라서 순서를 바꿀 수 없다는 설명은 옳지 않다.
[차트 데이터 범위]에서는 차트에 사용할 데이터 전체 범위를 다시 지정할 수 있고, [행/열 전환]으로 가로 축 항목과 범례 항목(계열)을 서로 바꿀 수 있으며, 숨겨진 행이나 열의 데이터도 옵션 설정에 따라 차트에 표시할 수 있다.
| 사원 | 1분기 | 2분기 | 3분기 | 4분기 |
|---|---|---|---|---|
| 김수정 | 75 | 141 | 206 | 185 |
| 박덕진 | 264 | 288 | 383 | 353 |
| 이미영 | 305 | 110 | 303 | 353 |
| 구본후 | 65 | 569 | 227 | 332 |
| 안정인 | 246 | 483 | 120 | 204 |
| 정주리 | 209 | 59 | 137 | 317 |
| 유경철 | 230 | 50 | 116 | 239 |
제시된 자료는 김수정·박덕진·이미영·구본후·안정인·정주리·유경철 7명의 사원별 1~4분기 실적이다(예: 김수정 75·141·206·185, 구본후 65·569·227·332). 즉 항목이 사원 7개, 계열이 분기 4개인 다계열 데이터다.
원형 대 가로 막대형은 원형 차트의 한 종류로, 데이터 계열을 하나만 표시해 전체에 대한 각 항목의 비율을 보여 주고 값이 작은 조각들을 가로 막대로 떼어 확대하는 차트다. 여러 계열을 동시에 그릴 수 없으므로 사원마다 네 분기 값을 나란히 놓고 비교하려는 목적에는 가장 맞지 않는다.
반면 묶은 가로 막대형은 사원마다 분기 막대 네 개를 나란히 세워 크기를 직접 견줄 수 있고, 누적 세로 막대형은 사원별 연간 합계와 분기별 구성 비중을 함께 보여 준다. 표식이 있는 꺾은선형도 사원별 분기 추이를 겹쳐 비교할 수 있어 모두 이 목적에 쓸 수 있다.
상태 표시줄의 자동 계산 옵션에는 숫자 데이터가 입력된 셀의 개수, 데이터가 입력된 전체 셀의 개수, 그리고 선택 영역의 합계·평균·최소값·최대값 등이 포함되지만, 문자 데이터가 입력된 셀의 개수만 별도로 표시하는 항목은 제공되지 않는다.
따라서 이 항목이 자동 계산 목록에 해당되지 않는 것이 맞다.
Access 파일에 암호를 설정하려면 먼저 데이터베이스를 단독 사용 모드(단독으로 열기)로 열어야 하며, 이후 파일 메뉴의 암호 설정 기능을 통해 암호를 지정할 수 있다.
[데이터베이스 압축 및 복구] 도구나 [Access 옵션]의 보안 센터는 암호 설정과 직접적인 관련이 없고, MDE(실행 파일) 형식으로 저장하는 것 역시 암호 설정 절차가 아니다.
데이터 보안 및 회복, 무결성 유지, 병행 수행 제어 등을 정의하며 데이터베이스 관리자(DBA)가 주로 사용하는 언어는 데이터 제어어(DCL)이다.
데이터 정의어(DDL)는 테이블 등 데이터베이스 구조를 정의하는 언어이고, 데이터 조작어(DML)는 데이터의 검색·삽입·수정·삭제에 사용되는 언어로, 설명된 기능과는 성격이 다르다.
ORDER BY절에서 정렬 방식을 별도로 지정하지 않으면 기본값은 오름차순(ASC)이 적용되며, 내림차순으로 정렬하려면 DESC를 명시해야 한다. 따라서 기본값이 DESC라는 설명은 옳지 않다.
GROUP BY절은 특정 필드를 기준으로 그룹화하여 검색할 때, FROM절은 테이블이나 쿼리를 지정할 때, WHERE절은 조건을 지정할 때 사용하며, SELECT DISTINCT는 중복 레코드를 제거하는 것이 맞는 설명이다.
보고서에서는 필드나 식을 기준으로 최대 10단계까지 그룹화할 수 있으며, 같은 필드나 식은 한 번씩만 그룹화 기준으로 지정할 수 있다. 따라서 최대 5단계라는 설명은 옳지 않다.
그룹은 그룹 머리글, 세부 레코드, 그룹 바닥글로 구성되고, 날짜 필드는 전체 값·일·주·월·분기·연도 등의 기준으로 그룹화할 수 있으며, Sum 함수를 사용한 계산 컨트롤을 그룹 머리글에 넣으면 해당 그룹의 합계를 표시할 수 있다.
필드 목록 창에서 선택한 필드를 보고서의 본문 영역으로 끌어다 놓으면 필드 값을 표시하는 텍스트 상자 컨트롤이 자동으로 생성된다.
[보고서 보기]는 화면에서 보고서 내용을 확인하기 위한 보기로, 페이지 구분 없이 연속된 형태로 표시되며 인쇄 시의 페이지 나눔은 반영하지 않는다. 페이지 단위로 구분해서 보여주는 것은 [인쇄 미리 보기]이다.
[디자인 보기]에서는 컨트롤의 속성·맞춤·위치 등을 설정할 수 있고, [레이아웃 보기]에서는 실제 데이터를 보면서 컨트롤의 크기와 위치를 조정할 수 있으며, [인쇄 미리 보기]는 종이에 출력될 모양과 페이지 설정을 확인하기에 적합하다.
대리점명: 서울지점
| 순번 | 모델명 | 판매날짜 | 판매량 | 판매단가 |
|---|---|---|---|---|
| 1 | PC4203 | 2018-07-31 | 7 | ₩1,350,000 |
| 2 | 2018-07-23 | 3 | ₩1,350,000 | |
| 3 | PC4204 | 2018-07-16 | 4 | ₩1,400,000 |
| 서울지점 소계 : | ₩19,100,000 | |||
대리점명: 충북지점
| 순번 | 모델명 | 판매날짜 | 판매량 | 판매단가 |
|---|---|---|---|---|
| 1 | PC3102 | 2018-07-13 | 6 | ₩830,000 |
| 2 | 2018-07-12 | 4 | ₩830,000 | |
| 3 | PC4202 | 2018-07-31 | 4 | ₩1,300,000 |
| 4 | 2018-07-07 | 1 | ₩1,300,000 | |
| 충북지점 소계 : | ₩14,800,000 | |||
보고서는 '대리점명: 서울지점' 아래에 해당 지점의 판매 내역이 나오고 서울지점 소계 : ₩19,100,000으로 끝난 뒤, 다시 '대리점명: 충북지점'과 충북지점 소계 : ₩14,800,000이 이어지는 구조다. 이렇게 레코드가 지점 단위로 묶여 출력되므로 그룹의 기준이 되는 필드는 대리점명이며 모델명이 아니다.
모델명 열을 보면 서울지점에서 PC4203이 한 번 표시된 뒤 판매날짜 2018-07-23인 다음 줄은 모델명 칸이 비어 있고, 충북지점에서도 PC3102와 PC4202 다음 줄이 비어 있다. 값이 없는 것이 아니라 앞 레코드와 같은 값이 이어질 때 감추는 '중복 내용 숨기기' 속성을 '예'로 설정한 결과다.
지점별 소계 금액은 각 지점의 목록이 끝나는 자리에 한 번씩만 나오므로 그룹 바닥글에 삽입한 텍스트 상자이고, 순번은 서울지점 1·2·3, 충북지점 1·2·3·4처럼 지점이 바뀌면 1부터 다시 시작하므로 컨트롤 원본을 =1로 두고 누적 합계 속성을 '그룹'으로 지정한 것이다. 누적 합계를 '모두'로 두면 지점이 바뀌어도 번호가 이어져 4, 5, 6…으로 매겨진다.

먼저 WHERE 학년="SN" 조건을 만족하는 레코드를 고르면 학번 1004(통계, 23세), 1005(영문, 21세), 1010(통계, 25세) 세 건이 남는다. 학년이 SO·JR·FR인 1002·1008·1009는 이 단계에서 제외된다.
남은 세 건을 GROUP BY 전공으로 묶으면 통계 그룹 2건, 영문 그룹 1건이 된다. 이어지는 HAVING COUNT(*) >= 2는 묶은 뒤의 그룹에 대한 조건이므로 레코드가 2건 이상인 통계 그룹만 남고 영문 그룹은 걸러진다.
따라서 최종 결과는 통계 전공 두 학생의 나이 평균인 (23 + 25) / 2 = 24 한 행이다. WHERE는 그룹으로 묶기 전 개별 레코드를 거르고 HAVING은 묶은 뒤의 그룹을 거른다는 순서를 기억하면 이런 문제를 안정적으로 풀 수 있다.
선택 쿼리에서 사용자가 지정한 패턴과 일치하는 데이터를 찾을 때는 Like 연산자를 사용하며, 와일드카드 문자(*, ? 등)와 함께 써서 부분적으로 일치하는 값을 검색한다.
CREATE TABLE 고객
(고객ID CHAR(20) NOT NULL,
고객명 CHAR(20) NOT NULL,
연락번호 CHAR(12),
PRIMARY KEY (고객ID)
);
CREATE TABLE 계좌
(계좌번호 CHAR(10) NOT NULL,
고객ID CHAR(20) NOT NULL,
잔액 INTEGER DEFAULT 0,
PRIMARY KEY (계좌번호),
FOREIGN KEY (고객ID) REFERENCES 고객
);
<고객> 테이블은 고객ID CHAR(20) NOT NULL, 고객명 CHAR(20) NOT NULL, 연락번호 CHAR(12)로 정의되고 PRIMARY KEY (고객ID)가 선언되어 있다. <계좌> 테이블은 계좌번호 CHAR(10) NOT NULL, 고객ID CHAR(20) NOT NULL, 잔액 INTEGER DEFAULT 0에 PRIMARY KEY (계좌번호)와 FOREIGN KEY (고객ID) REFERENCES 고객이 선언되어 있다.
<계좌>의 고객ID는 기본 키가 아니라 외래 키다. 외래 키는 참조하는 테이블의 기본 키에 존재하는 값이기만 하면 되고 유일할 필요가 없으며, 고객과 계좌가 1:M이라는 것은 한 고객이 여러 계좌를 갖는다는 뜻이므로 같은 고객ID가 여러 행에 반복해서 들어가는 것이 오히려 정상이다. 따라서 <계좌>의 고객ID에 동일한 값을 입력할 수 없다는 설명은 옳지 않다.
반대로 <고객>의 고객ID는 기본 키이므로 중복 값을 넣을 수 없고, <계좌>의 계좌번호는 기본 키이면서 NOT NULL이므로 반드시 입력해야 한다. <고객>의 연락번호는 자료 형식만 지정되고 NOT NULL이 붙어 있지 않으므로 값을 생략(Null)하거나 원하는 값으로 수정할 수 있다.
입력 마스크 "LA09?"에서 L은 반드시 입력해야 하는 문자, A는 반드시 입력해야 하는 문자 또는 숫자, 0은 반드시 입력해야 하는 숫자, 9는 선택적으로 입력하는 숫자, ?는 선택적으로 입력하는 문자를 의미한다.
다섯 번째 자리는 선택 항목이지만 입력한다면 문자여야 하는데, 마지막 자리에 숫자가 오는 값은 이 규칙을 위반하므로 입력할 수 없다.
나머지 값들은 앞의 필수 자리(문자·문자 또는 숫자·숫자)를 만족시키고, 선택 항목인 네 번째·다섯 번째 자리를 비우거나 규칙에 맞는 문자·숫자로 채우고 있어 모두 입력이 가능하다.

관계 창을 보면 <고객> 테이블은 기본 키가 고객번호이고 고객이름·전화번호·우편번호·주소·구매포인트 필드를 가지며, <구매리스트> 테이블은 기본 키가 구매번호이고 고객번호·작품명·구매일·구매금액 필드를 갖는다. 두 테이블은 고객번호로 연결되어 있고 연결선 양끝에 1과 ∞가 표시된 일대다 관계다.
참조 무결성은 '다'쪽의 외래 키 값이 반드시 '일'쪽의 기본 키에 존재해야 한다는 규칙이다. 따라서 <구매리스트>의 고객번호에 <고객>에는 없는 값이 들어 있으면 어느 고객의 구매인지 확인할 수 없는 레코드가 생기므로, 이 상태에서는 참조 무결성이 항상 유지되도록 설정할 수 없다.
반면 <고객>의 고객번호가 <구매리스트>에 하나도 나타나지 않는 것은 아직 구매한 적이 없는 고객일 뿐이고, 한 번만 나타나거나 두 번 이상 나타나는 것은 한 고객이 여러 번 구매할 수 있는 일대다 관계의 정상적인 모습이므로 모두 참조 무결성에 어긋나지 않는다.
텍스트 파일을 가져와 기존 테이블에 레코드로 추가하는 경우, 가져오기 과정에서 데이터를 수정할 수는 없고 원본 데이터가 기존 테이블의 기본 키 제약을 그대로 만족해야 한다. 따라서 기본 키 값이 고유해지도록 데이터를 수정하며 가져올 수 있다는 설명은 옳지 않다.
Excel에서 정의한 이름 영역은 Access의 새 테이블이나 기존 테이블로 복사해 가져올 수 있고, 한 테이블이 지원하는 필드 수는 255개를 초과할 수 없어 원본 데이터의 열 개수도 그 범위를 넘지 않아야 한다. 또한 Excel 파일을 가져올 때는 한 번에 하나의 워크시트만 가져올 수 있어, 여러 워크시트를 가져오려면 가져오기 명령을 반복해야 한다.
하나의 폼을 두 구역으로 나누어 한쪽에는 열 형식(폼) 보기를, 다른 한쪽에는 데이터시트 보기를 동시에 표시해 주는 도구는 폼 분할이다. 두 구역은 같은 데이터 원본에 연결되어 있어, 한쪽 목록에서 레코드를 선택하면 다른 쪽에서 그 레코드의 내용을 확인하고 수정·입력할 수 있다.
[폼] 도구는 단일 레코드를 표시하는 기본 폼을, [여러 항목]은 여러 레코드를 한 화면에 나열하는 폼을 만들며, [폼 디자인]은 빈 폼을 디자인 보기에서 직접 작성하는 도구로 이러한 분할 화면을 자동으로 만들어 주지는 않는다.
이벤트 프로시저에서 쿼리를 실행(실행 모드로 열기) 명령은 DoCmd.OpenQuery이다.
폼 머리글은 화면에서는 폼의 맨 위에 한 번 표시되고, 인쇄할 때는 첫 페이지의 상단에만 표시되며 모든 페이지마다 반복 표시되지는 않는다. 모든 페이지 상단에 매번 표시되는 것은 페이지 머리글이다.
하위 폼은 폼 안에 포함된 또 하나의 폼을 의미하고, 폼 바닥글은 폼 요약 정보 등을 표시하는 구역이며, 본문은 실제 데이터를 표시하는 구역으로 폼 보기 형식에 따라 레코드를 하나만 또는 여러 개를 함께 표시한다.
컨트롤의 탭 순서는 기본적으로 컨트롤을 만든(추가한) 순서대로 자동 설정되는 것이지, 화면상의 위에서 아래 위치를 기준으로 자동 설정되는 것은 아니다.
여러 컨트롤을 선택해 자동으로 정렬할 수 있고, 사각형이나 선 같은 도형 컨트롤도 삽입할 수 있으며, 컨트롤 마법사를 이용하면 폼을 닫는 매크로를 실행하는 단추도 만들 수 있다.
조인에 사용되는 두 테이블의 기준 필드는 데이터 형식이 같거나 호환되어야 정상적으로 조인할 수 있으며, 형식이 다르거나 호환되지 않으면 조인이 제대로 이루어지지 않는다.
쿼리에서 여러 테이블을 함께 사용할 때 조인을 이용해 원하는 결과를 얻을 수 있고, 내부 조인은 두 테이블에서 조인 필드 값이 일치하는 행만 반환하며, 외부 조인은 공통 값이 없는 데이터까지 포함할지 여부를 지정할 수 있다.
<사원> 테이블에서 직급이 '부장'인 레코드들의 급여 평균을 구하려면 도메인 집계 함수인 DAvg를 사용하며, =DAVG("[급여]", "[사원]", "[직급]='부장'")와 같이 계산할 필드, 도메인(테이블/쿼리), 조건의 순서로 인수를 지정한다.
계산할 필드와 도메인의 순서를 바꾸거나, 도메인 집계 함수가 아닌 AVG를 사용한 식은 올바른 형식이 아니다.
매크로는 반복 작업을 자동화하는 기능으로, 매크로 함수 또는 매크로 함수 집합으로 구성되며 각 함수에 인수를 추가해 동작을 제어할 수 있다. 폼을 열고 닫거나 메시지 박스를 표시하는 등의 작업도 매크로로 처리할 수 있다.
다만 매크로는 폼의 컨트롤 이벤트뿐 아니라 보고서의 컨트롤 이벤트에도 연결해 사용할 수 있어, 폼 개체 내에서만 사용할 수 있다는 설명은 옳지 않다.