51. 세 개의 릴레이션 학생, 과목, 교수에 대해 삽입, 삭제, 갱신 연산을 수행하고자 할 때, 수행될 수 있는 SQL문으로 가장 적절한 것은?
|
① CREATE VIEW 학생뷰 AS SELECT 이름, 전공
FROM 학생 WHERE 전공= ‘컴퓨터’
WITH CHECK OPTION;
INSERT INTO 학생뷰(이름, 전공)
VALUES ( ‘이태훈’, ‘수학’);
② CREATE VIEW 교수뷰 AS SELECT 교수번호, 이름
FROM 교수;
INSERT INTO 교수뷰(교수번호, 이름)
VALUES (500, ‘김성태’);
③ CREATE VIEW 강의뷰 AS SELECT 이름, 과목번호
FROM 교수, 과목
WHERE 교수.교수번호=과목.교수번호;
INSERT INTO 강의뷰(이름, 과목번호)
VALUES( ‘박정훈’, 50);
④ CREATE VIEW 학생뷰2 AS SELECT 학번, 이름
FROM 학생 WHERE 전공= ‘수학’
WITH CHECK OPTION;
UPDATE 학생뷰2 SET 전공= ‘컴퓨터’ WHERE 학번=3;
52. 회복 기법에 대한 설명으로 가장 거리가 먼 것은?
① 지연 갱신(deferred update) 회복 기법은 트랜잭션이 부분 완료될 때까지 데이터베이스의 실 제적인 갱신을 지연시킨다.
② 지연 갱신 회복 기법은 undo/redo 회복 알고리즘을 이용하여 회복한다.
③ 즉시 갱신(immediate update) 회복 기법은 트랜 잭션이 갱신 명령을 내리면 트랜잭션이 완료되기 전에 데이터베이스를 즉시 갱신한다.
④ 그림자 페이지(shadow page) 회복 기법은 redo 연산이 필요 없기 때문에 장애로 부터 회복 작 업이 신속하다.
53. 릴레이션 스키마 R(A, B, C, D, E)에 대한 함수 종속 집합이 다음과 같을 때 R의 후보키로 옳지 않은 것은?
A → BC, CD → E, B → D, E → A
|
① A ② B ③ BC ④ E
54. 다음은 기업 데이터베이스의 파일(file) 및 레코드 (record)에 대한 설명이다. 이에 대한 설명으로 적절한 것을 <보기>에서 모두 고른 것은?
◦ 각 레코드의 길이는 200바이트이다.
◦ 블록 헤더의 길이는 40바이트이다. ◦ 파일에 존재하는 레코드 수는 20,000개이다. ◦ 각 블록의 크기(블록 헤더 포함)는 4,096바이트이다. |
<보 기>
ㄱ. 블록킹 인수는 100이다. ㄴ. 순서(순차) 파일에서 이진탐색을 한다면 최악의 경우 10개의 블록 접근이 필요하다. ㄷ. 이 파일을 저장하기 위해 필요한 총 블록 수는 980 개이다. ㄹ. 비순서(히프) 파일에서 특정 레코드를 찾기 위해 서는 평균 500개의 블록을 읽어야 한다. |
① ㄱ, ㄴ
② ㄴ, ㄹ
③ ㄷ, ㄹ
④ ㄱ, ㄴ, ㄹ
55. 다음은 트랜잭션의 특성에 관한 설명이다. ( ) 안에 들어갈 트랜잭션 특성을 바르게 나열한 것은?
여러 트랜잭션이 동시에 수행되더라도 각기 개별로 수행되는 것과 동일해야 한다는 성질을 ( )이라 하며, 트랜
잭션 내의 모든 데이터베이스 연산들이 수행 완료되거나, 아니면 아무 연산도 수행되지 않음을 보장해야 하는 특성을 ( )이라 한다. |
① 독립성(independency), 일관성(consistency)
② 독립성(independency), 원자성(atomicity)
③ 고립성(isolation), 원자성(atomicity)
④ 고립성(isolation), 일관성(consistency)
56. 다음은 두 릴레이션 R과 S의 스키마와 이의 속성 (attribute)에 대한 설명을 나타낸다. 릴레이션 R과 S를 사용하여 “잔액이 $100 이상인 계좌의 전화번호를 알아내라”를 관계 대수(relational algebra)로 표현할 때 적합하지 않은 것은?
R = (accno, bal), S = (accno, telno, zip) 릴레이션 R과 S에서, accno는 계좌번호를, bal은 잔액을, telno은 전화번호를, zip은 우편번호를 각각 나타낸다. 그리고 accno는 R과 S 각각의 키(key)이다.
|
57. 다음은 트랜잭션 T1과 T2에 들어있는 두 개의 연속적인 명령어 I1과 I2로 구성된 스케줄의 예들이다. 이 때 A와 B는 서로 다른 데이터 항목이다. 이들 중 충돌 직렬성(conflict serializability)을 유지하면서 이 스케줄의 실행 순서를 바꿀 수 있는 경우로 바르지 않은 것은?
① T1의 I1=read(A)와 T2의 I2=read(A)는 순서를 바꿀 수 있다.
② T1의 I1=write(A)와 T2의 I2=read(A)는 순서를 바꿀 수 있다.
③ T1의 I1=write(B)와 T2의 I2=write(A)는 순서를 바꿀 수 있다.
④ T1의 I1=write(B)와 T2의 I2=read(A)는 순서를 바꿀 수 있다.
58. 데이터 마이닝에서는 두 점 혹은 두 시퀀스에 대한 다양한 거리 척도가 사용된다. 5-차원 공간의 두 점 X = (5, 4, 2, 6, 1), Y = (4, 5, 5, 4, 2)에 대해, X와 Y의 유클리드 거리(Euclid distance)를 dE(X,Y), X와 Y의 맨하탄 거리(Manhattan distance 혹은 city block distance)를 dM(X,Y)라 할 때, dE(X,Y)와 dM(X,Y)의 값으로 바른 것은?
① dE(X,Y) = 8, dM(X,Y) = 4
② dE(X,Y) = 4, dM(X,Y) = 16
③ dE(X,Y) = 8, dM(X,Y) = 16
④ dE(X,Y) = 4, dM(X,Y) = 8
※ 다음 박스 안에 있는 표준 SQL2 구문을 보고 59~60번 문제에 답하시오.
|
59. 상기 제시된 표준 SQL2 문장들은 데이터 정의어 (DDL:Data Definition Language)와 데이터 조작어 (DML:Data Manipulation Language)이다. 이 중 데이터 조작어로만 구성된 조합은?
① (B)와 (D) ② (B)와 (E) ③ (A)와 (F) ④ (C)와 (D)
60. 상기 표준 SQL2 구문에서 비워둔 (B1), (D1), (D2), (E1), (E2) 중, 선택된 두 항목에 들어갈 키워드가 모두 옳은 것은?
① (B1) ADD, (E2) CLUSTER
② (D1) FROM, (D2) WHERE
③ (E1) PRIMARY, (D2) WHERE
④ (B1) WHERE, (E2) COLUMN
61. NoSQL을 관계형 데이터베이스와 비교하여 설명한 내용 중 가장 거리가 먼 것은?
① NoSQL은 가용성과 병렬성을 높이기 위하여 일관성을 관계형 데이터베이스보다 강하게 한 개념이다.
② NoSQL은 관계 데이터베이스 보다 트랜잭션 ACID의 유지를 중요시 하지 않는다.
③ NoSQL은 컬럼 기반, Document 기반, key-value 기반, 그래프 기반 자료구조 등을 사용한다.
④ NoSQL은 빅데이터와 실시간 웹 응용에 많이 사용 되고 있다.
62. SQL/XML 표준이 2003년에 제안되어 XML을 SQL에서 사용하는 방법이 기술되었다. XML과 SQL에 대한
관계형 DBMS 벤더들의 지원에 대한 다음 설명 중 가장 거리가 먼 것은?
① SQL 질의의 결과로 XML을 생성할 수 있다.
② SQL INSERT 문의 입력으로 XML을 사용할 수 있다.
③ SQL문을 XQuery문에서 사용할 수 있다.
④ 데이터 저장시 속성의 타입으로 XML 타입을 지정할 수 있다.
63. 저장 프로시저에 대한 다음 설명 중 가장 거리가 먼 것은?
① 프로시저를 미리 만들어 두어 성능 향상과 코드 재사용의 장점이 있다.
② 한곳에 저장해 둠으로써 접근 제어가 어려워 보안에 취약하다.
③ SQL CREATE 구문을 이용하여 사용자가 생성할 수 있다.
④ 인자를 통하여 값을 전달하며 또 출력 값을 받아 낼 수도 있다.
64. 다음의 릴레이션과 SQL 질의를 보고, 해당 SQL 질의의 의미로서 가장 적절한 것은? (단, 릴레이션 스키마에서 속성이름이 같은 것은 참조 관계에 있음을 의미한다.)
(릴레이션)
회원(회원번호, 회원이름) 주문(주문번호, 음료번호, 회원번호) : 회원의 음료 주문을 저장한 테이블 커피(커피이름, 음료번호) 홍차(홍차이름, 음료번호) |
(SQL 질의)
select 회원번호 from 회원 where exists (select * from 주문 inner join 커피 on 주문. 음료번호 = 커피.음료번호 where 주문.회원번호 = 회원.회원번호) AND exists (select * from 주문 inner join 홍차 on 주문. 음료번호 = 홍차.음료번호 where 주문.회원번호 = 회원.회원번호) |
① 커피를 주문한 회원의 회원번호
② 홍차를 주문한 회원의 회원번호
③ 홍차 혹은 커피를 주문한 회원번호
④ 홍차와 커피를 주문한 회원번호
65. JDBC를 사용하는 API에 대한 설명이다. 가장 거리가 먼 것은?
① getConnection() - URL, 접속 인자 등을 주어 데이터베이스 연결 객체를 생성한다.
② createStatement() - 연결을 위한 Statement 객체를 생성한다.
③ executeUpdate() - SQL 질의문을 실행하여 투플 들을 결과로 반환한다.
④ next() - 커서를 다음 투플로 이동한다.
66. 다음 트랜잭션 T1, T2가 동시에 실행될 때 공유락과 배타락을 사용한다. 트랜잭션 T1의 첫 번째 질의의 수행결과는 20이고, 두 번째 질의의 수행결과는 21이 나왔다. 동일한 트랜잭션에서 동일한 데이터를 조회할 경우, 같은 값이 나와야하는데 다른 값이 나오는 현상이 발생하였다. 이 현상을 방지하기 위하여 (가)의 문장으로 사용하기에 적합하지 않는 것은? (2개 선택)
|
① SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
② SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
③ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
④ SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
67. 다음은 고객이 상품 X와 상품 Y를 구매한 빈도를 나타내는 다이어그램이다. 전체 거래 건수는 t, n1과 n2는 X, Y 각각에 대한 거래 수를 나타내며, m은 X와 Y를 같이 구매한 거래 수를 나타낸다. 연관 규칙을 찾기 위한 지지도(support)({상품 X, 상품 Y})에 해당되는 것은?
|
① ((n1+n2)-m)/t
② (n1+n2)/t
③ m/t
④ m/(n1+n2-m)
68. 다음 릴레이션 R과 S에 대해 어떤 연산을 했을 때, 결과 릴레이션 RS가 얻어진다. RS가 얻어지도록 하는 어떤 연산은 무엇인가?
|
① R과 S의 자연조인(natural join)
② R과 S의 완전외부조인(full outer join)
③ R과 S의 세미조인(semijoin)
④ R과 S의 외부합집합(outer union)
69. account(cust_name, branch_name, balance) 릴레이션에 대해 트랜잭션 T1, T2가 동시성 제어(concurrency control)를 하지 않고 동시에 수행될 때, 어떤 문제가 발생되는가?
|
① 오손 데이터 읽기(dirty read)
② 갱신 손실(lost update)
③ 모순성(inconsistency)
④ 반복할 수 없는 읽기(unrepeatable read)
70. 다음의 ER 다이어그램은 Employees(사원)와 Dependents(부양가족)의 관계를 나타낸 것이다. 이 ER 다이어그램은 한 명의 사원에 대해 여러 명의 부양가족이 존재할 수 있는 1:N 관계이고, 사원은 주 개체이고 부양가족은 종속 개체이다. 사원의 기본 키는 ssn이고 특정 사원에 대해 부양가족을 구별하는 애트리뷰트는 pname이다. 이 ER 다이어그램을 관계 데이터베이스 스키마로 매핑한 것 중 가장 적절한 것은?
|
① Employees(ssn, name, lot), Dependents(pname, age), Policy(ssn, cost)
② Employees(ssn, name, lot), Dependents(pname, age), Policy(pname, cost)
③ Employees(ssn, name, lot, pname, cost), Dependents(pname, age)
④ Employees(ssn, name, lot), Dependents(pname, age, cost, ssn)
71. 다음 표는 다중 단위 크기 로킹(multiple granularity locking)을 위한 로크 호환성 행렬을 나타 낸다. 표의 ➊과 ➋에 들어갈 내용으로 바른 것은?
|
① ➊ = Yes, ➋ = Yes
② ➊ = Yes, ➋ = No
③ ➊ = No, ➋ = Yes
④ ➊ = No, ➋ = No
72. 관계 대수에서 기본 연산은 하나의 논리적 기능을 수행하는 연산으로 다른 연산을 이용하여 대체할 수 없는 연산이고, 복합 연산은 기본 연산을 이용하여 그 연산의 기능을 대체할 수 있는 연산이다. 다음의 관계 대수 연산 중 복합 연산에 해당하는 것은? (2개 선택)
① 디비전(division)
② 교집합(intersection)
③ 차집합(set-difference)
④ 카티션 프로덕트(cartesian product)
73. 다음 Sailors, Reserves, Boats 릴레이션에 대해 아래와 같은 질의를 수행한다고 가정하자. 질의의 실행결과 릴레이션의 차수(degree)와 카디날리티 (cardinality)는 각각 얼마인가?
대표
|
① 차수 = 2, 카디날리티 = 2
② 차수 = 2, 카디날리티 = 3
③ 차수 = 2, 카디날리티 = 4
④ 차수 = 3, 카디날리티 = 2
74. 데이터 마이닝에서 연관(association)이란 데이터 베이스에 있는 어떤 값들 사이에 존재하는 상관 관계이다. 연관 규칙 A → B는 전제조건 A가 참이되면 결론부 B도 참이 된다는 것을 의미한다. 다음과 같은 고객들의 구매 상품 리스트에서 연관 규칙 ‘라면 → 계란’에 대한 지지도(support)와 신뢰도 (confidence)는 각각 얼마인가?
|
① 지지도 87.5%, 신뢰도 60%
② 지지도 87.5%, 신뢰도 75%
③ 지지도 60%, 신뢰도 75%
④ 지지도 75%, 신뢰도 60%
75. 다음은 아래 [수강] 릴레이션에 대한 설명이다. A와 B에 들어갈 설명 중 가장 적절한 것은?
수강 릴레이션은 A를 위배하기 때문에 B에 속한다. 단, 수강 릴레이션의 기본 키는 (학번, 과목명)이고, 수강 릴레이션에 아래의 함수 종속성도 존재한다.
학번 → 이름 학번 → 지도교수 |
[수강]
|
① A : 이행 함수 종속, B : 1 정규형
② A : 완전 함수 종속, B : 1 정규형
③ A : 이행 함수 종속, B : 2 정규형
④ A : 완전 함수 종속, B : 2 정규형
정답)
51
|
52
|
53
|
54
|
55
|
②
|
②
|
②
|
②
|
③
|
56
|
57
|
58
|
59
|
60
|
①
|
②
|
④
|
④
|
①
|
61
|
62
|
63
|
64
|
65
|
①
|
③
|
②
|
④
|
③
|
66
|
67
|
68
|
69
|
70
|
①,③
|
③
|
③
|
①
|
④
|
71
|
72
|
73
|
74
|
75
|
③
|
①,②
|
②
|
③
|
②
|
'정보시스템감리 > 데이터베이스' 카테고리의 다른 글
(제 14회) 데이터베이스 / (51)~(75) (1) | 2024.01.12 |
---|---|
(제 16회) 데이터베이스 / (51)~(75) (0) | 2024.01.10 |
(제 17회) 데이터베이스 / (51)~(75) (1) | 2024.01.09 |
(제 18회) 데이터베이스 / (51)~(75) (1) | 2024.01.08 |
(제 19회) 데이터베이스 / (51)~(75) (1) | 2024.01.07 |