정보시스템 감리 기출해설/데이터베이스 해설

(제 24회) 데이터베이스 / (65)~(66) 해설

아이티신비 2024. 8. 4. 09:00

65. 다음은 릴레이션 EMPLOYEE와 DEPENDENT를 생성 하는 데이터 정의문이다. 두 릴레이션에 대해 “자신의 부양가족과 이름이 같은 직원의 이름 (Name)을 출력하라”를 처리하는 SQL 질의를 모두 나열한 것은?

 

 
CREATE TABLE EMPLOYEE (
Name VARCHAR(15) NOT NULL,
Ssn CHAR(9) NOT NULL,
PRIMARY KEY (Ssn) );
CREATE TABLE DEPENDENT (
Essn CHAR(9) NOT NULL,
Name VARCHAR(15) NOT NULL,
PRIMARY KEY(Essn, Name),
FOREIGN KEY(Essn) REFERENCES EMPLOYEE(Ssn) );
가. SELECT E.Name
FROM EMPLOYEE AS E
WHERE E.Ssn IN (SELECT Essn FROM DEPENDENT AS D WHERE E.Name=D.Name );
나. SELECT E.Name
FROM EMPLOYEE AS E
WHERE EXISTS (SELECT * FROM DEPENDENT AS D
WHERE E.Ssn=D.Essn AND E.Name=D.Name );
다. SELECT E.Name
FROM EMPLOYEE AS E, DEPENDENT AS D
WHERE E.Ssn=D.Essn AND E.Name=D.Name;

① 가, 나 ② 가, 다

③ 가, 다 ④ 가, 나, 다

 

▣ SQL - IN, EXISTS, JOIN

 

1) IN : 리스트에 있는 복수 값 중에서 어느 하나라도 일치하면 됨

  • 중첩 질의의 WHERE 절에 있는 조건에서 외부 질의에 선언된 릴레이션 애트리뷰트를 참조하는 경우에 상관 서브쿼리(Correlated SubQuert)라고 함

 

2) EXISTS : 질의 Q의 결과에 최소한 한 개의 투플이 있다면 참을 반환, 그렇지 않으면 거짓을 반환

 

3) JOIN : 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법

  • 조인(INNER JOIN) : 기준 테이블과 조인 테이블 모두 데이터가 존재해야 조회됨

 

정답 : ④

 

 

66. 다음 그림은 트랜잭션의 동시성 제어에서 격리성(isolation)을 나타내는 예로써, 트랜잭션 T1, T2가 ➀~➄ 순서대로 수행할 때 생길 수 있는 현상으로 가장 적절한 것은?

T1
T2
➀ SELECT 도시, COUNT(*)
FROM 고객
GROUP BY 도시;










➃ SELECT 나이, COUNT(*)
FROM 고객
GROUP BY 나이;
➄ COMMIT;
➁ INSERT INTO 고객
(고객번호, 이름, 도시, 나이)
VALUES (3, ‘김민재’,
‘통영’, 27);
➂ COMMIT;

① 오손 데이터 읽기(dirty read)

② 유령 데이터 읽기(phantom read)

③ 연쇄 데이터 읽기(cascading read)

④ 직렬 데이터 읽기(serializable read)

 

▣ lsolation Level

Isolation Level
Dirty Reads
Non-Repeatable Reads
Phantom Reads
L0.Read Uncommited
X
(D/R 발생)
X
(N-RR발생)
X
(P/R발생)
L1.Read Committed
O
X
X
L2.Repeatable Read
O
O
X
L3.Serializable Read
O
O
O
Locking Level
Write Lock
Read Lock
Range Lock
 

 

정답 : ②

 

 




 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥