컴퓨터활용능력 1급 필기 예상문제 #12(데이터베이스 일반)
데이터베이스 일반
41. 다음 <보기>에서 문자열 함수의 결과값으로 옳은 것은?
<보기>
가. =InStr(3,"Ba na na","A") 나. =InStr(6,"Ba na na","A") |
① 가. 2, 나. 3 ② 가. 4, 나. 6
③ 가. 5, 나, 8 ④ 가. 6, 나. 9
풀이)
- 형식 : =InStr(시작위치, 원본문자열 식, 검색할 문자열) → 시작위치(공백 포함)에서 "검색할 문자열"을 "원본 문자열"에서 찾아서 그 위치를 반환함(대소문자 구분하지 않음)
- =InStr(3,"Ba na na","A") : 3번째 Ba 다음의 공백부터 "A"를찾으므로 그 위치값은 5가 됨
- =InStr(6,"Ba na na","A") : 6번째 na 다음의 공백부터 "A"를 찾으므로 그 위치값은 8이 됨
42. 다음 [직원] 테이블을 이용하여 월별로 생일인 사원수를 표시하는 폼을 만들기 위한 레코드 원본으로 옳은 것은?
<보기>
직원(사번, 성명, 성별, 생년월일) |
① select month(*) as 월, 년(생년월일) as 생일자수 from 직원 group by month(생년월일)
② select month(생년월일) as 월, count(*) as 생일자수 from 직원 group by 생년월일
③ select month(*) as 월, count(생년월일) as 생일자수 from 직원 group by 생년월일
④ select month(생년월일) as 월, count(*) as 생일자수 from 직원 group by month(생년월일)
풀이)
- select month(생년월일) as 월, count(*) as 생일자수 from 직원 group by month(생년월일)
- 생년월일 필드에 대한 월(month)별 그룹화(group by) 직원(레코드) 수(count)를 구하면 됨
- 월별로 묶기 위해서 group by month(생년월일) 절이 필요하며, [직원] 테이블의 전체레코드 수를 count(*)로 헤아려 인원수를 구해야 함
43. 다음 중 보고서의 각 구역에 관한 설명으로 옳지 않은 것은?
① 보고서 머리글은 보고서의 맨 앞에 한 번 출력되며, 일반적으로 로고나 제목 및 날짜와 같이 표지에 나타나는 정보를 추가한다.
② 그룹 머리글은 각 새 레코드 그룹의 맨 앞에 출력되며, 그룹 이름을 출력하는 경우에 사용한다.
③ 본문은 레코드 원본의 모든 행에 대해 한 번씩 출력되며, 보고서의 본문을 구성하는 컨트롤이 여기에 추가된다.
④ 보고서 바닥글은 모든 페이지의 맨 끝에 출력되며, 페이지 번호 또는 페이지별 정보를 표시하려는 걍우에 사용한다.
풀이)
- 페이지 바닥글 : 보고사의 매 페이지의 하단에 표시됨. 페이지 번화나 날짜 등의 항목을 삽입함
- 보고서 바닥글 : 보고서의 맨 마지막 페이지에 한번만 표시됨. 보고서의 총계나 안내 문구 등의 항목을 삽입함.
44. 다음 중 아래의 프로그램을 수행한 후 변수 Sum의 값으로 옳은 것은?
Sum = 0 For i = 1 to 20 Select Case (i Mod 4) Case 0 Sum = Sum + i Case 1, 2, 3 End Select Next |
① 45 ② 55
③ 60 ④ 70
풀이)
- 1부터 20까지(For i = 1 to 20)를 4로 나눈 나머지가(i Mod 4) 0인 경우(Case 0)의 합(Sum = Sum + i)을 구함(결과는 60)
45. 폼 바닥글에 [사원] 테이블의 '직급'이 '과장'인 레코드들의 '급여' 합계를 구하고자 한다. 다음 중 폼 바닥글의 텍스트 상자 컨트롤에 입력해야 할 식으로 옳은 것은?
① =DSUM("[급여]", "[사원]", "[직급]="과장")
② =DHAP("[급여]", "[사원]", "[직급]="과장")
③ =DSUM("[사원]", "[급여]", "[직급]="과장")
④ =DHAP("[사원]", "[급여]", "[직급]="과장")
풀이)
- DSUM : 특정 필드 값의 합계를 구할 때 사용하는 함수
- =DSUM("구할필드", "테이블명", "조건") 이므로 → =DSUM("[급여]", "[사원]", "[직급]="과장")
46. 다음 중 폼을 디자인 보기나 데이터시트 보기로 열기 위해 사용하는 매크로 함수는?
① RunCommand ② OpenForm
③ RunMacro ④ RunSQL
풀이)
- OpenForm : 폼 보기, 폼 디자인 보기, 인쇄미리보기, 데이터시트 보기로 폼을 열 수 있음
- RunCommand : 액세스에서 지공하는 명령(메뉴모음, 도구모음, 바로 가기 메뉴)을 실행 함
- RunMacro : 매크로를 실행 함(매크로는 매크로 그룹에 포함될 수 있음)
- RunSQL : SQL문을 실행함
47. 다음 중 하위 보고서에 대한 설명으로 옳지 않은 것은?
① 하위 보고서는 그룹화 및 정렬 기능을 설정할 수 없다.
② 디자인 보기 상태에서 하위보고서의 크기 조절 및 이동이 가능하다.
③ 테이블, 쿼리, 폼 또는 다른 보고서를 이용하여 하위 보고서를 작성 할 수 있다.
④ 관계 설정에 문제가 있을 경우, 하위 보고서가 제대로 표시되지 않을 수 있다.
풀이)
- 하위보고서에서 그룹화 및 정렬 기능을 설정 할 수 있음
48. 다음 중 Access의 기본 키에 대한 설명으로 옳지 않은 것은?
① 기본 키는 테이블의 [디자인보기] 상태에서 설정할 수 있다.
② 기본 키로 설정된 필드에는 널(NULL) 값이 허용되지 않는다.
③ 기본 키로 설정된 필드에는 항상 고유한 값이 입력되도록 자동으로 확인된다.
④ 관계가 설정되어 있는 테이블에서 기본 키 설정을 해제하면 해당 테이블에 설정된 관계도 삭제된다.
풀이)
- 기본 키를 바꾸거나 제거 하려면 먼저 [관계] 창에서 관계를 삭제해야 됨
49. 다음 중 개체 관계 모델(Entity Relationship Model)에 관한 설명으로 옳지 않은 것은?
① 개념적 설계에 가장 많이 사용되는 모델로 개체 관계도(ERD)가 가장 대표적이다.
② 개체집합과 관계집합으로 나누어서 개념적으로 표시하는 방식으로 특정 데이터베이스 관리 시스템(DBMS)을 고려한 것은 아니다.
③ 개체(Entity)는 가상의 객체나 개념을 의미하고, 속성(attribute)은 개체를 묘사하는 데 사용될 수 있는 특성을 의미한다.
④ 데이터를 개체(Entity), 관계(relationship), 속성(attribute)과 같은 개념으로 표시한다.
풀이)
- 개체(Entity)는 다른 것과 구분되는 개체로 단독으로 존재하는 실세계의 객체나 개념을 의미함
50. 다음 중 폼 작성 시 사용하는 컨트롤에 대한 설명으로 옳지 않은 것은?
① 레이블 컨트롤은 제목이나 캡션 등의 설명 텍스트를 표현하기 위해 많이 사용된다.
② 텍스트 상자는 바운드 컨트롤로 사용할 수 있으나 언바운드 컨트롤로는 사용할 수 없다.
③ 목록 상자 컨트롤은 여러 개의 데이터 행으로 구성되며 대개 몇 개의 행을 항상 표시할 수 있는 크기로 지정되어 있다.
④ 콤보 상자 컨트롤은 선택 항목 목록을 보다 간단한 방식으로 나타내기 위해 드롭다운 화살표를 클릭허기 전까지 목록이 숨겨져 있다.
풀이)
- 텍스트 상자는 바운드 컨트롤, 언바운드 컨트롤, 계산 컨트롤로 사용할 수 있음
51. 다음 폼에서 컨트롤의 탭 순서를 변경하는 방법으로 옳지 않은 것은?
① 마법사 또는 레이아웃 같은 도구를 사용하여 폼을 만든 경우 컨트롤이 폼에 표시되는 순서(위쪽에서 아래쪽 및 왼쪽에서 오른쪽)와 같은 순서로 탭 순서가 설정된다.
② 탬 순서에서 컨트롤을 제거하려면 컨트롤의 탭 정지 속성을 '예'로 설정한다.
③ [탭 순서] 대화상자를 이용하면 컨트롤의 탭 순서를 컨트롤 이름 행을 드래그해서 조정할 수 있다.
④ 기본적으로는 컨트롤을 작성한 순서대로 탭 순서가 설정되며, 레이블에는 설정할 수 없다.
풀이)
- 탭 순서에서 컨트롤의 탭 정지 속성을 '아니요'로 설정함
52. 다음 중 액세스의 보고서에 대한 설명으로 옳은 것은?
① 보고서 머리글과 보고서 바닥글의 내용은 모든 페이지에 출력된다.
② 보고서에서도 폼에서와 같이 이벤트 프로시저를 작성할 수 있다.
③ 보고서의 레코드 원본으로 테이블, 쿼리, 엑셀과 같은 외부테이터, 매크로 등을 지정할 수 있다.
④ 컨트롤을 이용하지 않고도 보고서에 테이블의 데이터를 표시할 수 있다.
풀이)
- 보고서에서도 폼에서와 같이 이벤트 프로시저를 작성할 수 있으나 폼과는 달리 컨트롤에 데이터를 입력하거나 수정할 수는 없다.
- 보고서 머리글은 보고서 첫 페이지 상단에 한 번만 표시되고 보고서 바닥글은 보고서의 마지막 페이지에 한 번만 표시됨
- 보고서는 데이터 원본으로 테이블, 쿼리, SQL문을 사용함
- 보고서는 폼과 동일하게 컨트롤을 이용하여 데이블의 데이터를 표시함
53. 다음 중 실행쿼리의 삽입(INSERT)문에 대한 설명으로 옳지 않은 것은?
① 하나의 INSERT문을 이용해 여러 개의 레코드와 필드를 삽입할 수 있다.
② 필드 값을 직접 지정하거나 다른 테이블의 레코드를 추출하여 제거할 수 있다.
③ 레코드의 전체 필드를 추가할 경우 필드 이름을 생략할 수 있다.
④ 한 개의 INSERT문으로 여러 개의 레코드를 여러 개의 테이블에 동일하게 추가할 수 있다.
풀이)
- 여러 개의 테이블이 아닌 한 개의 테이블에만 추가할 수 있음
54. 다음 중 크로스탭 쿼리에 대한 설명으로 옳지 않은 것은?
① 쿼리 결과를 Excel 쿼크시트와 비슷한 표 형태로 표시하는 특수한 형식의 쿼리이다.
② 열 머리글로 사용될 필드는 여러 개를 지정할 수 있지만, 행 머리글로 사용할 필드는 하나만 지정할 수 있다.
③ 그룹화한 데이터에 대해 레코드 개수, 합계, 평균 등을 계산할 수 있다.
④ 맨 왼쪽에 세로로 표시되는 행 머리글과 맨 위에 가로 방향으로 표시되는 열 머리글로 구분하여 데이터를 그룹화 한다.
풀이)
- 열 머리글은 한 개의 필드를 지정할 수 있고, 행 머리글은 최대 3개까지 필드를 설정할 수 있음
55. 다음 중 분할 표시 폼에 대한 설명으로 옳지 않은 것은?
① 분할된 화면에서 데이터를 [폼 보기]와 [데이트시트 보기]로 동시에 볼 수 있다.
② 폼의 두 보기 중 하나에서 필드를 선택하면 다른 보기에서도 동일한 필드가 선택된다.
③ 데어터 원본을 변경하는 경우 데이터시트 보가에서만 데이터를 변경할 수 있다.
④ 데이터시트가 표시되는 위치를 폼의 위쪽, 아래쪽, 왼쪽, 오른쪽 중에서 선택할 수 있다.
풀이)
- 분할 표시 폼은 폼 보기와 데이트시트 보기를 동시에 표시하며 상호 동기화 되어 있음
56. 다음 중 필드의 각 데이터 형식에 대한 설명으로 옳지 않은 것은?
① 긴 텍스트는 텍스트 및 숫자 데이터가 최대 255자까지 입력된다.
② Yes/No 형식은 Yes/No, True/False, On/Off 등과 같이 두 값 중 하나만 입력하는 경ㅇ우에 사용하는 것으로 기본 필드 크기는 1비트이다.
③ 일련 번호 형식은 새 레코드를 만들 때 1부터 시작하는 정수가 자동으로 입력된다.
④ 통화 형식은 소수점 이하 4자리까지의 숫자를 저장할 수 있으며, 기본 필드 크기는 8바이트이다.
풀이)
- 긴 텍스트 : 최대 63,999까지 입력됨
- 짧은 텍스트 : 최대 255까지 입력됨
57. 다음 중 쿼리에서 사용하는 문자열 조건에 대한 설명으로 옳지 않은 것은?
① NOT "전산과" : 문자열의 값이 "전산과"가 아닌 문자열을 찾는다.
② LIKE "서울*" : "서울"이라는 문자열로 시작하는 필드를 찾는다.
③ LIKE "*신림*" : 문자열의 두번째가 "신"이고 세 번째가 "림"인 문자열을 찾는다.
④ "수학" or "영어" : "수학" 이나 "영어"인 레코드를 찾는다.
풀이)
- LIKE "*신림*" : "신림"이라는 단어를 포함하는 믄자열을 찾음
- LIKE "?신림" : 문자열의 두번째가 "신"이고 세번째가 "림"인 문자열을 찾음
58. 다음 중 보고서에서 페이지 번호를 표시하는 컨트롤 원본과 그 표시 결과가 옳은 것은?(단, 현재 페이지는 1페이지이고, 전체 페이지는 5페이지 임)
① ="Page" & [Page] & "/" & [Pages] → 1/5 Page
② ="Page" & "페이지" → 5페이지
③ = [Page] & "/" & [Pages] & "Page"→ Page 1/5
④ =Format([Page], "00" ) →01
풀이)
- [Page] : 현재 페이지 [Pages] : 전체 페이지
- =Format([Page], "00" ) →01 [현재페이지를 Format의 "00"에 따라 2자리를 표시함
- ="Page" & [Page] & "/" & [Pages] → Page 1/5
- ="Page" & "페이지" → 1페이지
- = [Page] & "/" & [Pages] & "Page"→ 1/5 Page
59. 다음 중 정규화에 대한 설명으로 옳지 않은 것은?
① 정규화를 수행하여 데이터의 중복을 완전히 제거할 수 있다.
② 정규화는 테이블 속성들 사이의 종속성을 최대한 배제하는 과정으로 볼 수 있다.
③ 정규화를 통해 테이터 삽입 시 테이블 재구성의 필요성을 줄일 수 있다.
④ 정규화를 통해 삽입, 삭제, 갱신 이상의 발생을 방지 할 수 있다.
풀이)
- 정규화를 수행하더라도 데이터 중복의 최소화는 가능하지만 데이터의 중복을 완전하게 제거 할 수는 없다.
60. 다음 중 특정 필드의 입력 마스크를 'LA09#'으로 설정하였을 때 이력 가능한 데이터로 옳은 것은?
① 12345
② A상345
③ A123A
④ A1BC
풀이)
- L : 필수요소, A부터 Z까지의 영문자나 한글을 입력함 → A
- A : 필수요소, 영문자나 한글, 숫자를 입력함→ 상
- 0 : 필수요소, 0~9까지의 숫자를 입력함→ 3
- 9 : 선택요소, 숫자나 공백을 입력함(덧셈, 뺄셈 기호를 사용할 수 없음)→ 4
- # : 선택요소, 숫자나 공백을 입력함(덧셈, 뺄셈 기호를 사용할 수 있음)→ 5