본문 바로가기

IT자격증공부방

컴퓨터활용능력 1급 필기 예상문제 #3(데이터베이스 일반)

3과목 : 데이터베이스 일반

41. 다음 중 관계형 데이터베이스 모델에 대한 설명으로 옳지 않은 것은?

    도메인(Domain)은 하나의 애트리뷰트(Attribute)가 취할 수 있는 같은 타입의 원자값들의 집합이다.

    한 릴레이션(Relation)에 포함된 튜플(Tuple)들은 모두 상이하며, 튜플(Tuple) 사이에는 순서가 있다.

    튜플(Tuple)의 수를 카디널리티(Cardinality), 애트리뷰트(Attribute)의 수를 디그리(Degree)라고 한다.

    애트리뷰트(Attribute)는 데이터베이스를 구성하는 가장 작은 논리적 단위이며, 파일 구조상의 데이터 필드에 해당된다.

풀이) 
  • 테이블에 속한 튜플들은 유일하며 순서에 제한이 없고, 테이블을 구성하는 속성(필드) 간의 순서는 중요하지 않습니다.

42. 다음 중 입력 마스크 설정에 사용하는 사용자 정의 입력 마스크 기호에 대한 설명으로 옳은 것은?

    9: 소문자로 변환

    >: 숫자나 공백을 입력받도록 설정

    <: 영문 대문자로 변환하여 입력받도록 설정

    L: 영문자와 한글만 입력받도록 설정

 

풀이)

  • 0,9,# : 숫자 입력, 순서대로 필수 선택 선택. 단, #은 공백 및 (+ -) 입력 가능
    L,?,A,a : 문자 입력, 순서대로 필수 선택 필수 선택.
  • < : 모두 소문자로
  • > : 모두 대문자로
  •                                        필수                         선택
    숫자(기호안됨)                0                                9
    영문자, 한글                    L                                ?
    영어,한글,숫자                A                                a
    모든문자, 공백               &                                 c

43. 다음 중 데이터를 입력 또는 삭제 시 이상(anomaly) 현상이 일어나지 않도록 데이터베이스를 설계하기 위한 기술을 의미하는 용어는?

    자동화        정규화

    순서화        추상화

 

풀이)

  • 정규화(Normalization) : 이상(Anomaly) 현상이 발생하지 않도록 하기 위한 것으로 관계형 데이터베이스를 설계할 때 데이터의 중복 최소화와 불일치를 방지하기 위해 릴레이션 스키마를 분해해 가는 과정
  • 이상(Anomaly)현상 : 관계형 데이터베이스의 릴레이션을 조작할 때 발생하는 현상으로 삽입 이상, 삭제 이상, 갱신 이상 등이 있음
  • 정규화는 체계적인 관리를 위해 데이블을 분리 → 데이터를 삭제해도 원본 데이터는(원본 테이블) 사라지지않음
  • 추상화 : 특정 그룹 내의 공통점 만으로 사물 인식

44. 다음 중 [관계 편집] 대화 상자에 대한 설명으로 옳지 않은 것은?

    관계를 구성하는 어느 한쪽의 테이블 또는 필드 및 쿼리를 변경할 수 있다.

    조인 유형을 내부 조인, 왼쪽 우선 외부 조인, 오른쪽 우선 외부 조인 중에서 선택할 수 있다.

    '항상 참조 무결성 유지'를 선택한 경우 '관련 필드 모두 업데이트''관련 레코드 모두 삭제' 옵션을 선택할 수 있다.

    관계의 종류를 일대다, 다대다, 일대일 중에서 선택할 수 있다.

풀이)
  • 관계형 데이터베이스에서는 다대다(N:M) 관계를 직접 표현할 수 없기 때문에 3개의 테이블을 가지고 일대다 관계 2개를 이용하여 설정함

45. 다음 중 테이블의 필드 속성 설정 시 사용하는 인덱스에 관한 설명으로 옳지 않은 것은?

    인덱스를 설정하면 레코드의 검색과 정렬 속도가 빨라진다.

    인덱스를 설정하면 레코드의 추가, 수정, 삭제 속도는 느려진다.

    데이터 형식이 OLE 개체인 필드에는 인덱스를 설정할 수 없다.

    인덱스는 한 개의 필드에만 설정 가능하므로 주로 기본 키에 설정한다.

 

풀이)

  • 다중필드인덱스 : 다중필드에 인덱스를 지정하는 것으로 다중 필드를 기본키로 지정한 경우 해당 다중 필드에는 인덱스가 설정됨
  • 다중 필드 인덱스에는 필드를 최대 10개까지 포함할 수 있음
  • 인덱스 객체는 메모, 하이퍼링크 OLE 개체는 설정할 수 없다.
  • 인덱스는 저장할 때 만들어지며 레코드 작업시 자동으로 업데이트된다.

46. 다음 중 테이블의 [디자인 보기]에서 설정 가능한 작업에 해당하지 않는 것은?

    폼 필터를 적용하여 조건에 맞는 레코드만 표시할 수 있다.

    필드의 '설명'에 입력한 내용은 테이블 구조에 영향을 미치지 않고, 상태 표시줄에 표시된다.

    컨트롤 표시 속성은 텍스트 상자, 목록 상자, 콤보 상자 중 선택할 수 있다.

    한 개 이상의 필드를 선택하여 기본 키로 설정할 수있다.

 

풀이)

  • 테이블의 [디자인보기]에서 폼 필터를 적용하여 조건에 맞는 레코드만 표시할 수 없음
  •  [폼보기]도 폼 필터를 적용하여 조건에 맞는 레코드만 표시할 수 있지만 [데이터시트보기]에서도 할 수 있음

47. 아래와 같이 관계가 설정된 데이터베이스에 [Customer] 테이블에는 고객번호가 1004인 레코드만 있고, [Artist] 테이블에는 작가이름이 CAT인 레코드만 있다. 다음 중 이 데이터베이스에서 실행 가능한 SQL 문은? (단, SQL문에 입력되는 데이터 형식은 모두 올바르다고 간주함)

 

    ① INSERT INTO Artist VALUES ('ACE', '한국', Null, Null);

    INSERT INTO CINTA (고객번호, 작가이름) VALUES (1004, 'ACE');

    INSERT INTO Customer (고객번호, 고객이름) VALUES (1004, 'ACE');

    INSERT INTO CINTA VALUES (1234, 'CAT', '유화');

 

풀이)

  • 테이블에 레코드를 한 개 또는 여러개 추가함(쿼리 추가)
  • 형식
INSERT INTO 테이블명(필드이름1, 필드이름2, ...) VALUES (값1, 값2,...)
 
  • 여러개의 테이블이 아닌 하나의 테이블에만 추가할 수 있음
  • 레코드 전체 필드를 추가하는 경우 필드 이름을 생략할 수 있음
  • INSERT INTO Artist VALUES ('ACE', '한국', Null, Null); →Artist 테이블에 작가이름 'ACE', 국적 '한국', 생일 'Null', 사망일'Null'을 추가함
  • INSERT INTO CINTA (고객번호, 작가이름) VALUES (1004, 'ACE'); → Artist 테이블과 일대다 관계(항상 무결성 유지)이므로 Artist 테이블에 작가이름 '작가이름' 'ACE'가 있어야 실행됨
  • INSERT INTO Customer (고객번호, 고객이름) VALUES (1004, 'ACE');→CINTA테이블과 일대다 관계(항상 참조 무결성 유지)이며 기본키는 중복될 수 없으므로 Customer테이블에 이미 입력되어 있는 고객번호 1004 레코드를 삭제한 후에 실행됨
  • INSERT INTO CINTA VALUES (1234, 'CAT', '유화');→Customer테이블과 일대다 관계(항상 참조 무결성 유지)이므로 Customer 테이블에 고객번호 1234가 입력되어 있어야 실행됨

48. 다음 중 주어진 [학생] 테이블을 참조하여 아래의 SQL문을 실행한 결과로 옳은 것은?

    ① 25        23

    21        19

풀이)

학생 테이블에서 전공이 수학과 회계가 아닌 학생들의 나이의 평균을 구하는 것이므로
수학과 회계를 제외한 국사 전공의 학생들의 나이의 평균을 구하면 되므로,
(21+31+23)/3 = 25

49. 아래와 같이 조회할 고객의 최소 나이를 입력받아 검색하는 매개 변수 쿼리를 작성하려고 한다. 다음 중 'Age' 필드의 조건식으로 옳은 것은?

 

 

    ① >={조회할 최소 나이 입력}

    >=“조회할 최소 나이 입력

    >=[조회할 최소 나이 입력]

    >=(조회할 최소 나이 입력)

풀이)
매개변수쿼리
  • 실행할 때 레코드 검색 조건이나 필드에 삽일 할 값과 같은 정보를 물어보는 쿼리
  • 두 조건 이상의 쿼리 작성이 가능함
  • 매개 변수 쿼리 시 [ ]를 사용함
  • 조건란에 " > [조회할 최소 나이 입력]" 처람 입력함

50. 다음 중 아래의 이벤트 프로시저에 대한 설명으로 옳지 않은 것은?

   

 

 

    'cmd재고' 컨트롤을 클릭했을 때 실행된다.

    'txt재고수량' 컨트롤에는 'txt입고량' 컨트롤에 표시되는 값에서 'txt총주문량' 컨트롤에 표시되는 값을 차감한 값으로 표시된다.

    '제품별재고현황' 보고서가 즉시 프린터로 출력된다.

    '제품별재고현황' 보고서가 출력될 때 '제품번호' 필드 값이 'cmb조회' 컨트롤 값과 일치하는 데이터만 표시된다.

풀이) 
  • 이벤트 프로시저에 '제품별재고현황' 보고서가 즉시 프린터로 출력되는 부분은 없음
  • OpenReport : 보고서를 열어라

51. 다음 중 주어진 [Customer] 테이블을 참조하여 아래의 SQL문을 실행한 결과로 옳은 것은?

    ① 3                     5

    7                     9

 
풀이) 
  • SELECT Count(*) FROM (SELECT Distinct City From Customer); → Customer 테이블에서 중복되는 레코드를 제거, 중복되는 City는 한 번 만 표시하고 개수를 구함
  • 따라서 '부산, 서울, 대전, 광주, 인천'을 Count하므로 결과는 5가 됨
  • Count(*) : 행(튜플)의 개수를 구함
  • Distinct : 검색 결과 중 중복되는 결과값(레코드)를 제거, 중복되는 결과값은 한번 만 표시함

52. 다음 중 보고서에서 '텍스트 상자' 컨트롤의 속성 설정에 대한 설명으로 옳지 않은 것은?

    '상태 표시줄 텍스트' 속성은 컨트롤을 선택했을 때 상태 표시줄에 표시할 메시지를 설정한다.

    '컨트롤 원본' 속성에서 함수나 수식 사용 시 문자는 작은 따옴표('), 필드명이나 컨트롤 이름은 큰따옴표(“)를 사용하여 구분한다.

    '사용 가능' 속성은 컨트롤에 포커스를 이동시킬 수 있는지의 여부를 설정한다.

    '중복 내용 숨기기' 속성은 데이터가 이전 레코드와 같을 때 컨트롤의 숨김 여부를 설정한다.

풀이)
  • '컨트롤 원본' 속성에서 수식 사용 시 문자는 큰따음표("), 필드명이나 컨트롤 이름은 [ ]를 사용하여 구분함

53. 다음 중 보고서에서 [페이지 번호] 대화 상자를 이용한 페이지 번호 설정에 대한 설명으로 옳지 않은 것은?

    첫 페이지에만 페이지 번호가 표시되거나 표시되지 않도록 설정할 수 있다.

    페이지 번호의 표시 위치를 '페이지 위쪽', '페이지 아래쪽', '페이지 양쪽' 중 선택할 수 있다.

    페이지 번호의 형식을 'N 페이지''N/M 페이지' 중 선택할 수 있다.

    [페이지 번호] 대화 상자를 열 때마다 페이지 번호 표시를 위한 수식이 입력된 텍스트 상자가 자동으로 삽입된다.

풀이)
  • 페이지 번호의 표시 위치는 '페이지위쪽(머리글)', '페이지 아래쪽(바닥글)'만 있음

54. 다음 중 서류봉투에 초대장을 넣어 발송하려는 경우 우편물에 사용할 수신자의 주소를 프린트하기에 가장 적합한 보고서는?

    업무 문서 양식 보고서                 우편 엽서 보고서

    레이블 보고서                              크로스탭 보고서

풀이)
  • 우편물 레이블 보고서 : 우편 발송을 위해 편지 봉투에 붙일 주소 레이블을 작성하는 보고서
  • 업무 문서 양식 보고서 : 업무 문서 양식 마법사를 사용하여 거래명세서, 세금계산서를 작성하는 보고서
  • 우편엽서 보고서 : 우편엽서 마법사를 사용하여 우편 발송을 위해 우편엽서에 붙일 레이블을 작성하는 보고서
  • 크로스탭 보고서 : 여러 개의 열로 이루어진 보고서로 열마다 그룹의 머리글과 바닥글 세부구역 등이 각 열마다 표시됨

55. 다음 중 폼 작성에 대한 설명으로 옳지 않은 것은?

    [폼 디자인 도구][디자인] 탭에서 [컨트롤 마법사 사용] 여부를 선택할 수 있다.

    [레이블] 컨트롤은 마법사를 이용한 만들기가 제공되지 않으며, 레이블 컨트롤을 추가한 후 내용을 입력하지 않으면 추가된 레이블 컨트롤이 자동으로 사라진다.

    [텍스트 상자] 컨트롤을 지칭하는 이름은 중복 설정이 가능하다.

    [단추] 컨트롤은 명령 단추 마법사를 이용하여 다양한 매크로 함수를 제공한다.

풀이)
  • [텍스트 상자] 컨트롤을 지칭하는 이름은 중복 설정이 불가능하다.
  • [레이블 상자] 실행 시 적었던 값 그대로 표시

56. 다음 중 폼의 모달 속성에 관한 설명으로 옳지 않은 것은?

    폼이 열려 있는 경우 다른 화면을 선택할 수 있다.

    VBA 코드를 이용하여 대화 상자의 모달 속성을 지정할 수 있다.

    폼이 모달 대화 상자이면 디자인 보기로 전환 후 데이터시트 보기로 전환이 가능하다.

    사용자 지정 대화 상자의 작성이 가능하다.

풀이)
  • 모달 폼 : 현재 모달 폼을 닫기 전까지 다른 창을 사용할 수 없음
  • 대부분의 대화상자는 모달 설정이 되어 있음

57. 다음 중 보고서에 대한 설명으로 옳지 않은 것은?

    보고서에 포함할 필드가 모두 한 테이블에 있는 경우 해당 테이블을 레코드 원본으로 사용한다.

    둘 이상의 테이블을 이용하여 보고서를 작성하는 경우 쿼리를 만들어 레코드 원본으로 사용한다.

    '보고서' 도구를 사용하면 정보를 입력하지 않아도 바로 보고서가 생성되므로 매우 쉽고 빠르게 보고서를 만들 수 있다.

    '보고서 마법사'를 이용하는 경우 필드 선택은 여러개의 테이블 또는 하나의 쿼리에서만 가능하며, 데이터 그룹화 및 정렬 방법을 지정할 수도 있다.

풀이)
  • '보고서 마법사'를 이용하는 경우 필드 선택은 여러 개의 테이블 또는 여러 개의 쿼리에서 가능함
  • 데이터 그룹화 및 정렬 방법을 지정하기 위해선 디자인 보기 상태에서 [보고서 디자인 도구]-[디자인]-[그룹화 및 요약]-[그룹화 및 정렬] 클릭
  • 보고서의 바로 가기 메뉴에서 [정렬 및 그룹화] 선택

58. 다음 중 분할 표시 폼에 대한 설명으로 옳지 않은 것은?

    분할 표시 폼은 [만들기] 탭의 [] 그룹에서 [기타 폼] - [폼 분할]을 클릭하여 만들 수 있다.

    분할 표시 폼은 데이터시트 보기와 폼 보기를 동시에 표시하기 기능이며, 이 두 보기는 같은 데이터 원본에 연결되어 있어 항상 상호 동기화된다.

    분할 표시 폼을 만든 후에는 컨트롤의 크기 조정은 할수 없으나, 새로운 필드의 추가는 가능하다.

    폼 속성 창의 '분할 표시 폼 방향' 항목을 이용하여 폼의 위쪽, 아래쪽, 왼쪽, 오른쪽 등 데이터시트가 표시되는 위치를 설정할 수 있다.

풀이)
  • 분할 표시 폼을 만든 후에는 컨트롤의 크기 조정 및 이동이 가능하고 새로운 필드의 추가가 가능함

59. 다음 중 매크로 함수에 대한 설명으로 옳지 않은 것은?

    FindRecord 함수는 필드, 컨트롤, 속성 등의 값을 설정한다.

    ApplyFilter 함수는 테이블이나 쿼리로부터 레코드를 필터링한다.

    OpenReport 함수는 작성된 보고서를 호출하여 실행한다.

    MessageBox 함수는 메시지 상자를 통해 경고나 알림 등의 정보를 표시한다.

풀이)
  • FindRecord 함수: 지정한 조건에 맞는 데이터의 첫 번째 레코드를 찾음

60. 다음 중 하위 폼에 대한 설명으로 옳지 않은 것은?

    기본 폼과 하위 폼을 연결할 필드의 데이터 형식은 같거나 호환되어야 한다.

    본 폼 내에 삽입된 다른 폼을 하위 폼이라 한다.

    일대다 관계가 설정되어 있는 테이블들을 효과적으로 표시하기 위해 사용된다.

    '폼 분할' 도구를 이용하여 폼을 생성하면 하위 폼 컨트롤이 자동으로 삽입된다.

풀이)
  • ;폼 분할 도구'를 이용하여 폼을 생성하는 경우 하위 폼컨트롤이 자동으로 삽입되지 않음
  • [디자인 보기] - [디자인] - [컨트롤] - [하위폼/하위보고서 컨트롤]→[컨트롤 마법사 사용]에서 하위폼 삽입해야함