데이터베이스론정답(2023-01-17 / 702.2KB / 292회)
- 데이터베이스론 1 - 1. 3단계 스키마(3-level schema) 사이의 사상(mapping)에 필요한 정보를 컴파일하여 유지 관리하는 역할로 가장 적절한 것은? ① 질의어 처리기(query processor) ② 최적화기(optimizer) ③ 트랜잭션 관리자(transaction manager) ④ 데이터 사전(data dictionary) 2. 다음과 같은 ER 다이어그램의 ‘참여’ 관계(relationship)에 관하여 의 내용을 가장 적절하게 짝지은 것은? ㉠ 1개의 협력업체가 참여하는 사업의 수에는 제한이 없다. ㉡ 1개의 협력업체가 참여하는 사업의 수는 최대 1개로 제한된다. ㉢ 1개의 사업에 참여하는 협력업체의 수에는 제한이 없다. ㉣ 1개의 사업에 참여하는 협력업체의 수는 최대 1개로 제한된다. ① ㉠㉢ ② ㉠㉣ ③ ㉡㉢ ④ ㉡㉣ 3. 다음과 같은 ER 다이어그램의 약한 개체(weak entity) B에 관한 설명으로 가장 적절하지 않은 것은? ① 소유자 개체(owner entity) A와 일반화 관계(generalization relationship)를 통해 연결된다. ② 소유자 개체의 키를 약한 개체의 키에 포함시켜야 한다. ③ ㉠과 ㉡에는 차례대로 1과 n이 들어갈 수 있다. ④ B는 A에 존재 종속된다. 4. 다음과 같은 방문접수대장 릴레이션(relation)에 관한 설명 으로 가장 적절하지 않은 것은? 방문접수대장 방문자 방문부서 담당자 방문목적 홍길동 교통계 최일구 민원 박문수 외사계 오이팔 회의참석 박문수 형사계 권삼칠 면담 이순신 형사계 권삼칠 면담 최치원 교통계 최일구 민원 ① 이순신은 박문수의 방문 후에 방문하였다. ② 박문수가 면담한 권삼칠과 이순신이 면담한 권삼칠이 동일 인물인지는 알 수 없다. ③ 방문자 속성과 담당자 속성은 동일 도메인을 가질 수 있다. ④ 차수(degree)는 4이다. 5. 관계 연산식의 동등 관계가 성립하지 않는 것은? (단, R, S, T는 릴레이션이며 ⋈N, ⋉는 자연 조인 연산자와 세미 조인 연산자를 의미함) ① R ⋂ S = R - (R – S) ② (R ⋃ S) ⋂ T = R ⋃ (S ⋂ T) ③ R ⋈N S = (R ⋉ S) ⋈N S ④ σ조건1 (σ조건2 (R)) = σ조건2 (σ조건1 (R)) 6. 다음과 같은 성적 테이블에 필요한 DBMS 연산을 정의 (definition) 연산과 조작(manipulation) 연산으로 구별할 때 가장 적절한 것은? 성적 학번 외국어 수학 경제학 S100 98 90 95 S200 88 85 90 S300 65 60 70 S400 95 95 95 ① 학번이 S200인 학생의 수학 성적을 변경하기 위해서는 정의 연산이 필요하다. ② 학번이 S500인 학생의 성적을 추가하기 위해서는 정의 연산이 필요하다. ③ 학생들의 체육 성적을 추가하기 위해서는 정의 연산이 필요하다. ④ 성적 테이블을 생성하기 위해서는 조작 연산이 필요하다. 7. 다음과 같은 사원 테이블에 와 같은 SQL 문을 수행하면 결과의 카디널리티(cardinality)는 얼마인가? 사원 사원번호 입사년도 부서 호봉 E100 2008 기획실 9 E200 2010 창원공장 7 E300 2017 영업1팀 5 E400 2010 판교연구소 8 E500 2011 홍보실 6 E600 2017 창원공장 4 E700 2018 판교연구소 3 E800 2019 창원공장 3 E900 2013 판교연구소 6 E1000 2019 판교연구소 3 SELECT 호봉 FROM 사원 WHERE 입사년도 >= 2015 AND 부서 IN ( SELECT 부서 FROM 사원 WHERE 입사년도 = 2010 ); ① 2 ② 3 ③ 4 ④ 5 【데이터베이스론】 - 데이터베이스론 2 - 8. A회사에서 사원(사번, 이름, 소속, 나이) 테이블로부터 영업 사원 뷰(view)를 와 같이 정의하였다. 영업사원 뷰에 관한 설명으로 가장 적절하지 않은 것은? (단, 밑줄 친 애트리뷰트는 기본키임) CREATE VIEW 영업사원(사번, 이름, 소속, 나이) AS SELECT * FROM 사원 WHERE 소속 = ‘영업부’ WITH CHECK OPTION; ① SELECT 문을 사용하여 A회사 ‘영업부’ 사원의 수를 검색할 수 있다. ② UPDATE 문을 사용하여 홍길동 영업사원의 소속을 ‘영업부’ 에서 ‘홍보부’로 변경할 수 있다. ③ ‘영업부’ 사원 중에 40세 이상의 사원들만을 포함하는 선임영업 사원 뷰를 다시 정의할 수 있다. ④ 영업부 부장에게 영업사원 뷰에 대한 검색 권한을 부여하고 사원 테이블 자체에 대한 권한은 부여하지 않음으로써 영업부 사원에 대한 정보만 접근 가능하도록 정보 접근을 제한할 수 있다. 9. 다음과 같은 거래장부 테이블이 속하는 가장 높은 수준의 정규형으로 적절한 것은? (단, 현재 테이블의 값에 기반 해서 함수 종속성을 판단한다고 가정하며, 기본키는 (거래 번호, 상품코드)임) 거래장부 거래번호 고객번호 거래일자 상품코드 단가 수량 고객주소 101011 C3456 220101 G121 1000 3 세종 34-5 101011 C3456 220101 G178 3500 2 세종 34-5 101012 C8923 220101 G121 1000 1 용인 13-4 101013 C2877 220102 G121 1000 2 천안 32-1 101013 C2877 220102 G445 3500 1 천안 32-1 101014 C2877 220102 G121 1000 3 천안 32-1 101015 C8923 220103 G178 3500 3 용인 13-4 ① 제1정규형 ② 제2정규형 ③ 제3정규형 ④ BCNF 10. 다음 중 함수 종속성(functional dependency)에 관한 설명 으로 가장 적절하지 않은 것은? ① 함수 종속성은 다치 종속성(multi-valued dependency)의 일종이다. ② 릴레이션 R(X, Y)에서 X가 후보키이면 함수 종속성 X → Y가 성립한다. ③ 릴레이션 R(A, B, C)에 함수 종속성 A → B가 존재하고 B → C가 존재하면 A → C도 동시에 존재한다. ④ 릴레이션 R(A, B, C)에 함수 종속성 A → B가 존재하면 2개 테이블 R1(A, B)와 R2(B, C)로 무손실 분해(nonloss decomposition)할 수 있다. 11. 관계 데이터베이스 시스템에서 무결성 규정을 명세하는 방법으로 가장 적절하지 않은 것은? ① 인덱스(index) 생성 ② 도메인(domain) 제약조건 정의 ③ 트리거(trigger) 생성 ④ 주장(assertion) 생성 12. 비용 기반(cost-based) 질의 최적화(query optimization) 방법에 관한 설명으로 가장 적절하지 않은 것은? ① 각 질의 실행 전략에 대해 비용을 예측한다. ② 모든 가능한 실행 전략을 대상으로 가장 효율적인 전략의 선택을 보장한다. ③ 비용 예측을 위해 DBMS의 시스템 카탈로그(catalog)를 사용한다. ④ 대용량 데이터베이스에서는 디스크 접근 비용 최소화가 매우 중요하다. 13. 트랜잭션 T1과 T2가 다음과 같은 시간 순으로 실행될 경우 발생하는 문제점을 방지할 수 있는 SQL 표준 트랜잭션 고립 수준을 에서 모두 고른 것은? 시간 트랜잭션 T1 트랜잭션 T2 select avg(salary) from employee; update employee set salary = salary * 1.05; select avg(salary) from employee; ㉠ READ UNCOMMITTED ㉡ READ COMMITTED ㉢ REPEATABLE READ ㉣ SERIALIZABLE ① ㉠㉡㉢㉣ ② ㉡㉢㉣ ③ ㉢㉣ ④ ㉣ 14. 데이터베이스 로그(log)에 관한 설명으로 가장 적절한 것은? ① 지연갱신 방법을 사용하는 경우 변경 연산을 위해 반드시 필요한 로그 레코드 정보는 <트랜잭션 식별자, 데이터항목, 변경이전값, 변경이후값>이다. ② 데이터베이스 버퍼의 블록을 디스크에 기록하는 것과 로그 버퍼의 블록을 로그 파일에 기록하는 것은 어떤 순서로 실행 되어도 상관없다. ③ 백업된 시스템 로그에 기록되어 있는 모든 완료된 트랜잭션의 실행 결과는 데이터베이스를 UNDO 하는데 사용될 수 있다. ④ 로그 레코드 버퍼링은 여러 로그 레코드를 로그 버퍼에 한꺼번에 모아 저장하여 성능을 향상시킨다. 15. 다음과 같이 검사점(checkpoint) 이후 시스템 장애(failure)가 발생하였다. 지연갱신 또는 즉시갱신에 따라 UNDO와 REDO되는 트랜잭션들로 가장 적절한 것은? 시간 checkpoint failure T1 T2 T3 T4 UNDO REDO ① 지연갱신 없음 T2, T3 즉시갱신 T4 T2, T3 ② 지연갱신 없음 T3 즉시갱신 T4 T3 ③ 지연갱신 T4 T3 즉시갱신 없음 T3 ④ 지연갱신 T4 T2, T3 즉시갱신 없음 T2, T3 - 데이터베이스론 3 - 16. 로킹(locking) 기법에 관한 설명으로 가장 적절하지 않은 것은? ① 디스크 블록 단위보다는 레코드 단위에서 로킹 오버헤드가 크다. ② 로킹 기법을 사용하여 트랜잭션의 동시성을 제어하더라도 항상 직렬가능(serializable) 스케쥴을 보장하지는 않는다. ③ COMMIT 명령문은 로킹으로 발생한 교착상태를 해지시키는데 사용된다. ④ 2단계 로킹 규약에서 트랜잭션 T가 완료되거나 철회될 때까지 T가 보유한 배타 로크(exclusive lock)를 해제하지 않으면 연쇄적 롤백(cascading rollback)을 방지할 수 있다. 17. 분산 데이터베이스 질의 처리에 관한 설명 중 가장 적절 하지 않은 것은? ① 분산 질의 처리의 목표는 데이터 전송량 최소화를 포함한다. ② 한 질의를 원격 사이트에서 실행 가능하도록 분해하고, 결과를 결합한 후 질의의 최종 결과를 만드는 전략을 고려한다. ③ 분산 조인 연산의 처리를 위해서는 전송될 데이터의 분량과 각 사이트의 상대적 처리속도를 고려한다. ④ 세미 조인 연산의 활용은 원격 사이트에 있는 릴레이션에서 조인에 참여하는 튜플의 수가 많을수록 효과적이다. 18. 데이터 웨어하우스(data warehouse)에 관한 설명으로 가장 적절한 것은? ① 스타 스키마(star schema)는 하나의 차원 테이블과 여러 개의 사실 테이블로 구성된 관계 데이터베이스 스키마이다. ② 롤업(roll-up)은 요약된 형태의 데이터 수준에서 더욱 상세한 정보를 탐색하는 연산이다. ③ ETL은 데이터를 추출(extract), 변환(transform), 적재(load)하는 업무를 의미한다. ④ 데이터 마트(data mart)는 데이터 웨어하우스에서 효과적으로 온라인 트랜잭션을 지원하기 위해 구축된 전사적 조직을 위한 저장소이다. 19. NOSQL의 특징과 처리에 관한 설명으로 옳은 것을 에서 모두 고른 것은? ㉠ 관계 데이터베이스와 같이 엄격한 스키마(schema)를 필요로 한다. ㉡ 관계 데이터베이스보다 높은 수준의 일관성(consistency)을 강조한다. ㉢ NOSQL 데이터베이스는 키-값 저장소, 문서기반 데이터 베이스, 컬럼기반 데이터베이스, 그래프 데이터베이스 등으로 구분될 수 있다. ㉣ CAP 이론에서 정의한 분산 컴퓨팅 환경의 세가지 특징 중 가용성(availability)과 분할허용성(partition tolerance)을 강조한다. ① ㉠㉡ ② ㉠㉢ ③ ㉡㉢ ④ ㉢㉣ 20. 데이터베이스의 성능 튜닝에 관한 설명으로 옳지 않은 것을 에서 모두 고른 것은? ㉠ 한 릴레이션에 관련된 모든 인덱스를 집중인덱스(clustered-index)로 구성한다. ㉡ 합계와 같은 집계 질의를 위해 실체화 뷰(materialized view)를 생성한다. ㉢ 릴레이션의 속성에 대한 실렉트(σ) 조건이 질의에서 자주 사용되는 경우에는 릴레이션을 속성 값에 따라 수직 분할한다. ㉣ explain 등의 명령을 사용하여 사용자가 질의에 사용 중인 수행계획을 파악한다. ㉤ 클라이언트-서버 시스템에서 빈번하게 반복 사용되는 작업에 대해 저장 프로시져(stored procedure)를 사용한다. ㉥ 데이터의 일관성을 체계적으로 유지하기 위해서는 실체화 뷰보다는 역정규화 릴레이션(denormalized relation)을 사용한다. ① ㉠㉡㉤ ② ㉠㉢㉥ ③ ㉡㉣㉤ ④ ㉢㉣㉥