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

(제 23회) 데이터베이스 / (61)~(62) 해설

아이티신비 2024. 9. 29. 09:00

61. 다음과 같은 등록 데이터를 가지고 있는 ENROL 테이블이 있다고 하자. 여기서, SNO, CNO, GRADE는

각각 학번, 과목번호, 성적을 의미한다.

 

ENROL

 

위 테이블에 대해 다음과 같은 SQL문을 실행했을 때의 실행 결과 중 3번째 행으로 옳은 것은?

SELECT CNO, SNO FROM ENROL ORDER BY CNO DESC, GRADE ASC;

 

CNO SNO CNO SNO

① M001 1004 ② M001 1001

③ E001 1004 ④ C001 1004

 

▣ 해설

 

<SQL 문>
SELECT CNO, SNO FROM ENROL ORDER BY CNO DESC, GRADE ASC;

CON 로 DESC 하고, GRADE 로 ASC 해서 결과는 CNO, SNO 를 SELECT 함.

 

CNO
SNO
GRADE
M002
1005
80
M001
1004
75
M001
1001
80
M001
1003
90
E001
1002
85
E001
1004
95
C001
1004
70
C001
1001
95

정답 : ②

 

 

62. 파일 조직의 유형인 비순서 히프파일(heap file)에 대한 평균 검색 비용(시간)을 알아보고자 한다. 레코드가 500,000개, 각 레코드의 길이가 100 바이트, 블록의 크기가 4,096 바이트, 한 블록을 읽는데 걸리는 시간은 10ms 인 매개변수가 주어진 경우, 주어진 특정 레코드를찾기 위해 평균적으로 걸리는 시간에 가장 가까운 것은?

 

① 121,951 ms ② 125,000 ms

③ 62,500 ms ④ 31,250 ms

 

▣ 히프 파일

  • 순서가 없는 가장 간단한 파일
  • 레코드들이 어떤 형태로든 정렬되지 않으며, 파일의 레코드들을 검색하려면 다음 레코드를 읽어야 함
  • 추가할 때는 마지막 페이지를 읽어서 새로운 코드를 추가한 다음에 다시 기록한다.
  • 검색의 경우 모든 페이지들을 읽어서 원하는 레코드인지 확인해야 하기 때문에 비효율적이다.

 

 

레코드 개수 : 500,000 EA

레코드 길이 : 100 Byte

 

Bfr = 4096/100 = 40 개

 

전체 블럭수 = 500000/40 = 12500

1개 읽는시간 10 ms

Heap 파일 평균 검색회수 = 전체 블럭수/2

Heap 평균 검색시간 = 전체 블럭수 * 읽기전송시간/2 = 12500*10/2 = 62500ms

 

● 히프파일의 성능

  • 히프 파일은 질의에서 모든 레코드들을 참조하고 레코드들을 접근하는 순서는 중요하지 않을 때 사용
  • 특정 레코드를 검색하는 경우에는 히프 화일이 비효율적

: 히프 파일에 b개의 블록이 있다고 가정하자. 원하는 블록을 찾기 위해서 평균적으로 b/2 개의 블록을 읽음

 

 

정답 : ③

 





 

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

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