오라클 데이터베이스 강좌/7. 실습

다양한 실습 문제 제공 (SQL 퀴즈, PL/SQL 프로그래밍, 데이터베이스 설계 등)

_Blue_Sky_ 2024. 10. 7. 15:15
728x90
728x90

SQL 퀴즈

퀴즈 1

다음 중 Oracle에서 현재 날짜와 시간을 반환하는 함수는?

A) NOW()
B) GETDATE()
C) SYSDATE
D) CURRENT_TIMESTAMP

답: C) SYSDATE

퀴즈 2

Oracle에서 문자열을 대문자로 변환하는 함수는?

A) UPPER()
B) TOUPPER()
C) UPPERCASE()
D) UPCASE()

답: A) UPPER()

퀴즈 3

다음 SQL 문장의 실행 결과는?

SELECT SUBSTR('HELLO WORLD', 1, 5) FROM DUAL;

A) HELLO
B) WORLD
C) HELLO WORLD
D) HEL

답: A) HELLO

퀴즈 4

Oracle에서 NULL 값을 다른 값으로 대체하는 함수는?

A) ISNULL()
B) COALESCE()
C) NVL()
D) IFNULL()

답: C) NVL()

퀴즈 5

다음 중 Oracle에서 테이블의 모든 행을 삭제하는 가장 빠른 명령어는?

A) DELETE FROM table_name;
B) TRUNCATE TABLE table_name;
C) DROP TABLE table_name;
D) REMOVE FROM table_name;

답: B) TRUNCATE TABLE table_name;

 

728x90

PL/SQL 프로그래밍에 관한SQL 퀴즈

퀴즈 1

Q: PL/SQL에서 익명 블록의 기본 구조를 올바르게 나열한 것은?

A) BEGIN - DECLARE - EXCEPTION - END
B) DECLARE - BEGIN - EXCEPTION - END
C) BEGIN - EXCEPTION - DECLARE - END
D) EXCEPTION - DECLARE - BEGIN - END

답: B) DECLARE - BEGIN - EXCEPTION - END

퀴즈 2

Q: PL/SQL에서 변수를 선언할 때 사용하는 키워드는?

A) VAR
B) VARIABLE
C) DECLARE
D) DEFINE

답: C) DECLARE

퀴즈 3

Q: 다음 중 PL/SQL의 조건문으로 올바른 것은?

A) IF condition THEN statements END IF;
B) IF (condition) { statements }
C) IF condition DO statements DONE;
D) WHEN condition THEN statements END WHEN;

답: A) IF condition THEN statements END IF;

퀴즈 4

Q: PL/SQL에서 예외 처리를 위해 사용되는 섹션은?

A) TRY
B) CATCH
C) EXCEPTION
D) ERROR

답: C) EXCEPTION

퀴즈 5

Q: PL/SQL에서 커서를 선언하는 올바른 문법은?

A) CURSOR cursor_name IS SELECT statement;
B) DEFINE CURSOR cursor_name AS SELECT statement;
C) CREATE CURSOR cursor_name FOR SELECT statement;
D) NEW CURSOR cursor_name = SELECT statement;

답: A) CURSOR cursor_name IS SELECT statement;

데이터베이스 설계에 관한 퀴즈

퀴즈 1

질문: 정규화의 주요 목적은 무엇인가요?

답변: 정규화의 주요 목적은 다음과 같습니다:

  1. 데이터 중복 최소화
  2. 데이터 무결성 유지
  3. 데이터 일관성 보장
  4. 데이터베이스 구조의 유연성 향상
  5. 갱신 이상(Update Anomalies) 방지

퀴즈 2

질문: ER 다이어그램에서 약한 개체(Weak Entity)란 무엇이며, 어떻게 표현하나요?

답변: 약한 개체는 자체적으로 식별될 수 없고 다른 개체에 의존하는 개체를 말합니다. ER 다이어그램에서 약한 개체는 이중 사각형으로 표현되며, 강한 개체와의 관계는 이중 마름모로 표시됩니다.

퀴즈 3

질문: ACID 속성에 대해 설명하세요.

답변: ACID는 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 나타내는 약어입니다:

  • Atomicity (원자성): 트랜잭션의 모든 연산이 완전히 수행되거나 전혀 수행되지 않아야 함
  • Consistency (일관성): 트랜잭션 실행 전후의 데이터베이스 상태가 일관되어야 함
  • Isolation (고립성): 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 함
  • Durability (지속성): 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 함

퀴즈 4

질문: 다음 중 제3정규형(3NF)을 만족하지 않는 테이블은?

A) 학생(학번, 이름, 학과, 학과장)
B) 주문(주문번호, 고객ID, 주문일자)
C) 직원(직원ID, 이름, 부서, 급여)

답변: A) 학생(학번, 이름, 학과, 학과장)

이유: 학과장은 학과에 종속적이며, 학번에 직접적으로 종속되지 않습니다. 이는 이행적 종속(Transitive Dependency)을 야기하여 제3정규형을 위반합니다.

퀴즈 5

질문: 데이터베이스 인덱스의 장단점을 설명하세요.

답변:
장점:

  1. 검색 속도 향상
  2. 정렬 및 그룹화 작업 성능 개선
  3. 고유성 보장 (Unique 인덱스의 경우)

단점:

  1. 추가적인 저장 공간 필요
  2. 삽입, 수정, 삭제 작업 시 성능 저하
  3. 인덱스 관리에 따른 추가적인 작업 필요

이러한 퀴즈들은 데이터베이스 설계의 기본 개념과 원칙을 이해하는 데 도움이 될 것입니다.

728x90
728x90