정답이 있는 데이터베이스와 SQL 학습지
무료 인쇄용 데이터베이스와 SQL 학습지: 쉬운 문제부터 시험 수준까지 8문제, 정답표 포함. 인쇄하거나 PDF로 저장하세요.
교수자 안내: 수업에서 무료로 인쇄, 복사, 사용할 수 있습니다. 새 워크시트마다 값이 새로 바뀌고 별도의 정답이 함께 제공됩니다. 강의 페이지에 ExamProblems 링크를 걸어 주시면 감사하겠습니다.
이름: ____________________ 날짜: ____________
1.쉬움
대리 키(surrogate key)란 무엇입니까?
- A다른 테이블을 참조하는 키
- B자동 증가 id처럼 업무상 의미가 없는 인위적 식별자
- C뷰에서만 사용하는 키
- D이메일 주소처럼 실세계 데이터로 만든 키
2.쉬움
외래 키(foreign key)란 무엇입니까?
- A항상 암호화되는 키
- B외국 사용자가 사용하는 키
- C다른 테이블의 기본 키를 참조하는 열
- D테이블의 모든 행에서 값이 고유해야 하는 열
3.쉬움
WHERE country IN ('NL', 'BE', 'DE')는 무엇을 합니까?
- A목록 순서대로 행을 정렬한다
- Bcountry가 목록에 없는 행을 남긴다
- Ccountry가 목록의 값 중 하나와 같은 행을 남긴다
- Dcountry 값이 세 코드를 모두 한꺼번에 포함하는 행을 남긴다
4.보통
customers 테이블에서 서로 다른 도시의 수를 반환하는 쿼리는 무엇입니까?
- ASELECT DISTINCT COUNT(city) FROM customers
- BSELECT COUNT(city) FROM customers GROUP BY city
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT COUNT(DISTINCT city) FROM customers
5.보통
데이터베이스 트리거란 무엇입니까?
- A사용자가 직접 실행하는 쿼리
- B검색 속도를 높이는 인덱스의 한 종류
- C데이터베이스의 예약된 백업
- D테이블에 INSERT, UPDATE, DELETE 같은 지정된 이벤트가 발생할 때 자동으로 실행되는 코드
6.보통
HAVING에 대한 설명으로 옳은 것은 무엇입니까?
- A집계 함수를 사용하여 그룹을 필터링할 수 있다
- BSELECT 문에서 WHERE보다 앞에 와야 한다
- CGROUP BY와 함께 사용할 수 없다
- D결과를 정렬한다
7.어려움
트랜잭션 T1은 행 A를 잠그고 행 B를 기다리며, T2는 행 B를 잠그고 행 A를 기다립니다. 일반적인 DBMS는 어떻게 합니까?
- A둘 중 하나가 정상적으로 커밋될 때까지 두 트랜잭션이 모두 기다리게 둔다
- B교착 상태를 감지하고 한 트랜잭션을 희생자로 중단시킨다
- C두 트랜잭션을 동시에 커밋한다
- D두 트랜잭션을 하나로 합친다
8.어려움
한 앱이 UPDATE item SET qty = 4, version = 8 WHERE id = 1 AND version = 7을 실행하고, 갱신된 행이 없으면 충돌을 보고합니다. 이것은 어떤 기법입니까?
- A낙관적 동시성 제어
- B선행 기록 로깅
- C데이터베이스 샤딩
- D행 잠금을 사용하는 엄격한 2단계 잠금
정답표
- 1. B · 자동 증가 id처럼 업무상 의미가 없는 인위적 식별자
- 2. C · 다른 테이블의 기본 키를 참조하는 열
- 3. C · country가 목록의 값 중 하나와 같은 행을 남긴다
- 4. D · SELECT COUNT(DISTINCT city) FROM customers
- 5. D · 테이블에 INSERT, UPDATE, DELETE 같은 지정된 이벤트가 발생할 때 자동으로 실행되는 코드
- 6. A · 집계 함수를 사용하여 그룹을 필터링할 수 있다
- 7. B · 교착 상태를 감지하고 한 트랜잭션을 희생자로 중단시킨다
- 8. A · 낙관적 동시성 제어
자세한 단계별 풀이: examproblems.com에서 이 주제를 연습하세요.