• 1 관계형 데이터베이스에서 참조 무결성 제약조건을 만족하도록 외래키를 생성하고자 한다. 이와 관련된 SQL 명령문의 제약조건에 대한 설명으로 옳지 않은 것은?
    • ① ‘on delete set null’은 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열에 null을 저장한다.
    • ② ‘on delete cascade’는 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열을 삭제한다.
    • ③ ‘on delete set default’는 참조되는 테이블의 행이 삭제되면, 참조하는 테이블의 행에 있는 외래키 열에 사전에 정의된 default 값을 저장한다.
    • ④ ‘on delete no action’은 참조되는 테이블의 행을 삭제하려고 할 때, 참조하는 테이블의 행이 존재할 경우 삭제 명령이 수행되지 못하도록 한다.
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 2 다음 과제 테이블은 학년별 동아리에 가입한 학생 수와 제출한 과제 수를 저장하고 있다. ‘학생이 10명 이상 가입한 동아리에 대하여 동아리와 제출한 총 과제 수를 출력하시오’를 수행하기 위한 SQL문으로 옳은 것은?
    • ① SELECT 동아리, SUM(과제수)
      FROM 과제
      GROUP BY 동아리
      HAVING SUM(학생수) >= 10 ;
    • ② SELECT 동아리, SUM(과제수)
      FROM 과제
      WHERE SUM(학생수) >= 10 ;
    • ③ SELECT 동아리, SUM(과제수)
      FROM 과제
      HAVING SUM(학생수) >= 10 ;
    • ④ SELECT 동아리, SUM(과제수)
      FROM 과제
      WHERE 학생수 >= 10
      GROUP BY 동아리 ;
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 3 다음 관계형 데이터베이스의 세 가지 기능적 요소에 대한 설명에서 ㉠ ~ ㉢에 들어갈 용어를 바르게 연결한 것은?
    ○ ( ㉠ )는(은) SQL에서 삽입, 삭제, 갱신과 같은 데이터 변경문을 실행할 때 미리 명시된 조건을 만족하는 경우 특정한 동작을 자동으로 수행할 수 있도록 한다. ○ ( ㉡ )는(은) 데이터베이스 내에 존재하는 작업 순서가 정해진 수행 단위로서 DBMS에서 컴파일된 후 실행된다. ○ ( ㉢ )는(은) 데이터베이스에서 데이터를 신속하게 탐색할 수 있도록 만든 데이터 구조이다.
     
    인덱스트리거(trigge)주장(assertion
    주장인덱스저장 프로시저(stored procedure
    주장인덱스트리거
    트리거저장 프로시저인덱스
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 4 데이터베이스 보안과 관련한 설명으로 옳지 않은 것은?
    • ① SQL 삽입(injection) 공격은 공격자가 악의적으로 만든 SQL 명령을 응용 프로그램이 수행하도록 하는 것이다.
    • ② 데이터베이스 관리자(DBA)가 각 사용자에게 데이터베이스에 대한 접근 권한을 부여하거나 취소할 때 grant 명령을 사용한다.
    • ③ 데이터베이스에 대한 권한은 역할(role)에도 부여할 수 있다.
    • ④ 전자 서명(digital signature)은 공개키 암호화 기법의 특성을 이용하여 인증을 수행한다.
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 5 다음 ERD(Entity-Relationship Diagram)에 대한 설명으로 옳지 않은 것은? (단, 속성 이름에 대한 밑줄은 기본키이다)
    • ① 주어진 ERD를 릴레이션으로 사상(mapping)하면, 4개의 릴레이션이 생성된다.
    • ② 모든 사원은 적어도 하나 이상의 과제를 수행하여야 한다.
    • ③ 모든 부서는 적어도 1명 이상의 사원이 존재하여야 하며, 사원도 반드시 하나의 부서에 소속되어야 한다.
    • ④ 사원은 2개의 부서에 동시에 소속될 수 없다.
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 6 다음 함수종속성 집합 FD의 최소커버(minimal cover) FDmin는?
    FD = {Y → X, Z → XYW}
    • ① FDmin = {Y → X, Z → X, Z → Y, Z → W}
    • ② FDmin = {Y → X, Z → Y, Z → W}
    • ③ FDmin = {Y → X, Z → X, Z → W}
    • ④ FDmin = {Y → X, Z → X, Z → Y}
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 7 다음 인덱스 기법에 대한 설명으로 옳은 것만을 모두 고르면?
    ㄱ. B-트리 전체를 노드 내의 키 값에 따라 순차 검색하기 위해서는 트리의 각 노드를 전위 순회(preorder traversal) 한다. ㄴ. 밀집(dense) 인덱스는 희소(sparse) 인덱스에 비해 액세스 시간은 빠르지만 더 많은 공간을 필요로 한다. ㄷ. B-트리에서 오버플로가 발생하여 리프 노드가 분할될 때, 중간 키 값이 부모 노드뿐만 아니라 새로 분할된 노드에도 저장된다. ㄹ. 1,000명의 사원 정보가 저장된 ‘사원’ 테이블의 ‘부서’ 필드에 대하여, 30명이 소속된 ‘총무과’ 사원에 대한 비트맵 인덱스를 구성할 경우 1,000비트가 필요하다.
    • ① ㄱ, ㄷ
    • ② ㄱ, ㄹ
    • ③ ㄴ, ㄷ
    • ④ ㄴ, ㄹ
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 8 다음은 시스템 고장이 발생할 때 트랜잭션 T₁, T₂, T₃, T₄, T₅를 복구하기 위해 고장 전에 마지막으로 기록된 DBMS 로그이다. 이 로그를 사용하여 즉시 갱신 회복 기법의 undo-redo 알고리즘을 수행할 때, 회복과정에 대한 설명으로 옳지 않은 것은? (단, 는 검사점 기록 로그 레코드이며, 은 ‘T₁이 데이터 항목 A의 현재 값 200을 400으로 갱신한다’를 의미하는 로그 레코드이다. 표현되지 않은 로그의 다른 속성은 고려하지 않는다)
    • ① T₁은 어떠한 undo와 redo 연산도 수행하지 않는다.
    • ② 데이터 항목 A와 B의 값은 각각 700과 900으로 갱신된다.
    • ③ 데이터 항목 C와 D의 값은 각각 5000과 700으로 갱신된다.
    • ④ redo 연산은 T₅, T₃ 순서로 수행된다.
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 9 <보기 1>에서 공급업체와 부품, 카탈로그 테이블을 생성하는 SQL문을 수행한 후 튜플을 삽입하여 세 테이블의 상태가 다음과 같을 때, <보기 2>의 SQL문을 수행한 결과로 옳은 것은?
    < 보 기 1 >

    CREATE TABLE 공급업체 (
     업체번호 INT NOT NULL,
     업체명 VARCHAR(20),
     PRIMARY KEY(업체번호));
    CREATE TABLE 부품 (
     부품번호 INT NOT NULL,
     부품명 VARCHAR(20),
     색상 VARCHAR(20),
     PRIMARY KEY(부품번호));
    CREATE TABLE 카탈로그 (
     업체번호 INT NOT NULL,
     부품번호 INT NOT NULL,
     가격 INT,
     PRIMARY KEY(업체번호, 부품번호),
     FOREIGN KEY(업체번호) REFERENCES 공급업체(업체번호),
     FOREIGN KEY(부품번호) REFERENCES 부품(부품번호));
    < 보 기 2 >

    SELECT 업체번호, 업체명
    FROM 공급업체
    WHERE NOT EXISTS (
      SELECT 부품.부품번호
      FROM 부품
      WHERE 부품.색상='빨강' AND EXISTS (
        SELECT *
        FROM 카탈로그
        WHERE 카탈로그.부품번호=부품.부품번호
        AND 카탈로그.업체번호=공급업체.업체번호));
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인
  • 10 다음 SQL문에 대하여 질의 최적화를 수행하고자 한다. 이에 대한 설명으로 옳지 않은 것은?
    SELECT 학생.이름, 교수.이름
    FROM 학생, 학과, 교수
    WHERE 학생.학과코드 = 학과.학과코드
     AND 교수.교수코드 = 학과.학과장코드
     AND 학과.학과코드 = ‘CS’
    (2019년 7급 국가직 데이터베이스론) 오류신고 정답확인