본문 바로가기
주메뉴 바로가기
이동할 직렬을 선택해주세요.
지안에듀의 문제은행을 실전처럼 활용해보세요.
총 25문제가 검색되었습니다.
관계 데이터베이스 관리 시스템(RDBMS)과 NoSQL에 대한 설명으로 옳은 것은?
RDBMS는 NoSQL보다 약한 스키마를 요구한다.
NoSQL은 RDBMS보다 엄격한 일관성 모델을 보장한다.
NoSQL은 RDBMS보다 정형 데이터를 저장하기에 적합하다.
NoSQL 데이터 모델로 키-값(key-value), 문서 기반(document-based), 그래프 기반(graph-based) 모델이 있다.
① RDBMS는 NoSQL보다 구체적이고 엄격한 스키마를 요구한다.② RDBMS가 NoSQL보다 엄격하게 일관성을 보장한다.③ RDBMS가 NoSQL보다 정형 데이터를 저장하기에 적합하다.④ 올바른 설명이다.
관계 데이터베이스에서 NULL 값에 대한 설명으로 옳지 않은 것은?
한 개 이상의 NULL 값을 포함한 산술 연산 결과는 NULL이다.
릴레이션 투플의 삽입 연산 수행 시, 결과 릴레이션의 속성은 NULL 값을 가질 수 있다.
NULL 값과 다른 값에 대해 대소 비교 연산자 ‘<’를 수행한 결과는 참(true) 혹은 거짓(false)이다.
NULL 값을 가지지 않은 속성들만으로 구성된 두 릴레이션에 대해 외부 조인(outer join) 연산을 수행한 경우, 결과 릴레이션의 속성은 NULL 값을 가질 수 있다.
①②④ 올바른 설명이다.③ null 값에 크기 비교 연산자를 사용할 수 없다.
다음 중 데이터베이스 관리자(DBA)의 역할만을 모두 고르면?
ㄱ, ㄷ
ㄱ, ㄹ
ㄴ, ㄷ
ㄱ, ㄴ, ㄹ
관계 데이터 모델의 릴레이션에 대한 설명으로 옳지 않은 것은?
릴레이션 R에 포함된 투플들 사이에는 순서가 없다.
릴레이션 R의 모든 투플은 서로 다른 값을 가지고 있다.
릴레이션의 인스턴스는 시간에 따라 변하지 않는 정적인 성질을 가지고 있다.
릴레이션 스키마에 정의된 속성의 전체 개수를 릴레이션의 차수(degree)라고 한다.
데이터베이스 회복에 대한 설명으로 옳은 것은?
지연 갱신 회복기법에서는 UNDO 연산이 필요 없다.
REDO 연산을 수행할 때는 로그(log)가 필요 없다.
검사점(checkpoint) 연산은 장애가 발생할 때 실행된다.
즉시 갱신 회복기법에서는 트랜잭션이 완료한 이후 데이터베이스를 갱신한다.
다음 Student, Course, Enrollment 테이블에 대한 SQL 구문들을 수행하였을 때, COUNT(*) 값은? (단, Enrollment 테이블 생성 시 sno 속성과 cno 속성은 각각 Student 테이블과 Course 테이블 기본키의 외래키이며, 두 외래키에 모두 ON DELETE CASCADE 조건이 적용된다)
6
7
8
9
ON DELETE CASCADE 옵션이 적용되었으므로, 피참조 튜플이 삭제될 때 참조 튜플도 같이 삭제된다. 첫 번째 쿼리문에서 Simon 학생의 튜플을 삭제할 때, Enrollment 테이블에서 sno 값이 500인 튜플 1개가 삭제된다. 두 번째 쿼리문에서 ‘OS’ 과목을 삭제할 때, Enrollment 테이블에서 cno 값이 E412인 튜플 2개가 삭제된다. 즉, 11개의 튜플 중 3개가 삭제되므로 최종 튜플의 개수는 8개이다.
다음 직원 테이블과 부서 테이블로 구성된 데이터베이스에서 ‘기본 인덱스를 사용하여 여러 개의 레코드를 검색하는 방식’으로 구현되는 SELECT문으로 옳은 것은? (단, 직원 테이블의 부서번호 속성은 부서 테이블 기본키의 외래키이다)
SELECT * FROM 직원 WHERE 부서번호 = 5;
SELECT * FROM 부서 WHERE 부서번호 > 5;
SELECT * FROM 직원 WHERE 직원번호 = 100;
SELECT * FROM 직원 WHERE 부서번호 = 5 AND 봉급 > 30000;
기본 인덱스를 사용하여 여러 개의 레코드를 검색하려면, 특정 칼럼의 값에 대해 범위 질의를 수행해야 한다. ②의 질의는 부서번호 값에 대해 범위 질의를 수행하므로, 정답에 해당한다.
다음 수강 릴레이션에 대한 설명으로 옳지 않은 것은? (단, 수강 릴레이션에 기본키가 설정되어 있으며, 한 강사는 한 과목만 강의할 수 있고, 한 학생은 서로 다른 한 개 이상의 과목들을 수강할 수 있다)
{강사명, 과목명}은 후보키가 아니다.
강사 ‘James’가 강의할 ‘빅데이터’ 과목을 신설하는 경우 수강 학생이 없이 투플을 삽입할 수 있다.
학번이 100인 학생이 ‘네트워크’ 과목 수강을 취소하여 그 수강 투플이 삭제되는 경우, ‘네트워크’ 과목의 강사명도 함께 사라진다.
‘데이터베이스’ 과목의 강사를 ‘John’에서 ‘Tony’로 변경한다면, ‘John’이 강의하는 과목을 수강하는 모든 학생의 강사명을 수정해야 한다.
① 강사명이 John이고 과목명이 ‘데이터베이스’인 튜플이 2개 존재하므로, {강사명, 과목명}은 후보키가 아니다.② 기본키는 {학번, 강사명} 또는 {학번, 과목명} 이므로, 학번은 기본키에 반드시 포함된다. 즉, 학번이 null인 튜플은 존재할 수 없다.③ 과목명이 ‘네트워크’인 튜플이 1개뿐이므로, 해당 튜플이 삭제되면 ‘네트워크’ 과목의 강사명도 함께 사라진다.④ 올바른 설명이다.
다음과 같이 실행되고 있는 트랜잭션 T1~T4의 스케줄과 동등한(equivalent) 충돌 직렬가능(conflict serializable) 스케줄이 아닌 것은?
T1 → T3 → T2 → T4
T2 → T3 → T4 → T1
T2 → T1 → T4 → T3
T3 → T2 → T4 → T1
①②④ 동등한 스케줄이다.③ T4의 rz, wz가 T3의 rz, wz보다 먼저 수행되므로, 원본 스케줄과 동등하지 않다.
트랜잭션 T1과 T2가 병행 수행될 때, 정확한 결과를 보장할 수 있는 스케줄만을 모두 고르면? (단, 두 트랜잭션 수행 전 A와 B의 값은 각각 50이다)
ㄱ, ㄴ
ㄷ, ㄹ
ㄱ. T2의 작업을 모두 수행한 뒤 T1의 작업을 수행하므로, 정확한 결과가 보장된다.ㄴ. T1이 초기의 A의 값을 이용해 연산한 후, T2가 A의 값을 기록하고, 이후 T1이 다시 A의 값을 기록하므로, T2가 기록한 값이 사라지는 문제가 발생한다.ㄷ. 2단계 로킹 규약이 지켜지지 않았다.ㄹ. 2단계 로킹 규약이 지켜졌다.