WorkHard/자격증

[SQLD 개발자] 기출문제 공부(33회)

코딩공대 2023. 3. 15. 00:23
728x90

1. B-TREE인덱스는

  • 브랜치 블록과 리프 블록으로 구성되며 브랜치 블록은 분기를 목적으로 하고 리프 블록은 인덱스를 구성하는 컬럼의 값으로 정렬된다.

2. 데이터베이스

  • 절차적 데이터 조작어(procedural DML) : 사용자가 어떤 데이터를 원하고 해당 데이터를 얻으려면 어떻게 처리해야 하는지 명세한다.

  • 비절차적 데이터 조작어(nonprocedural DML) : 사용자가 어떤 데이터를 원하는지만 명세한다. 호스트 프로그램 속에 삽입되어 사용되는 DML명령어들을 데이터 부속어(Date Sub Language)라고 한다.

  • 명령어의 종류에 따른 설명
    • 데이터 조작어(DML : Date Manipulation Language)
      • SELECT : 데이터베이스에 들어 있는 데이터를 조회하거나 검색하기 위한 명령어를 말하는 것으로 RETRIEVE라고 한다.

      • INSERT, UPDATE, DELETE : 데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류의 명령어들을 말한다. 예를 들어 테이블에 새로운 행을 집어넣거나, 원하지 않는 데이터를 삭제하거나 수정하는 것들의 명령어들을 DML이라고 부른다.

    • 데이터 정의어(DDL : Date Definition Language)
      • CREATE, ALTER, DROP, RENAME : 테이블과 같은 데이터 구조를 정의하는 명령어들로 구조를 생성, 변경, 삭제 및 이름을 바꾸는 데이터 구조와 관련된 명령어들을 DDL이라고 부른다.

    • 데이터 제어어(DCL : Date Control Language)
      • GRANT, REVOKE : 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어를 DCL이라고 부른다.

    • 트랜잭션 제어어(TCL : Transaction Control Language)
      • COMMIT, ROLLBACK : 논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어를 말한다.

3. SQL문의 결과?

  • WHERE절에서 A.V1 <> B.V1;는 CROSS JOIN으로 실행한다.

  • A테이블 기준으로 (NULL은 제외하고)
    • A.V1의 값이 A일 때, B.V1의 값이 A가 아닌것은 -> B하나 이므로 A.N1의 값은 1

    • A.V1의 값이 B일 때 B.V1의 값이 B가 아닌것은 -> A하나 이므로 A.N1의 값은 3

    • A.V1의 값이 C일 때 B.V1의 값이 C가 아닌것은 -> A, B이므로 A.N1의 값은 4 + 4

  • 따라서 1 + 3 + 4 + 4 = 12이다.