57. 객체 데이터 모델(object data model)에서 사용하는 OID(Object IDentifier)에 대한 설명으로 가장 적절하지 않은 것은?
① OID는 객체마다 유일한 값을 가지고 있으므로 하나의 시스템 내에서 OID가 동일한 객체는 있을 수 없다.
② OID는 객체가 생성될 때 시스템에 의해 생성되고 일단 생성된 뒤에는 어떠한 경우에도 변경되지 않는다.
③ OID는 관계 데이터 모델에서 사용하는 기본 키와 본질적으로 동일한 성질을 가지고 있다.
④ OID는 객체가 제거될 때만 삭제되며 이렇게 삭제된 OID는 다시 재사용할 수 없다.
▣ 객체(Object) 와 객체 식별자(Object Identifier:OID)
- 객체는 실세계 환경에서는 존재하는 개체를 추상적으로 표현한 것임
- 수많은 객체들을 유일하게 식별하기 위한 것이 객체 식별자임
- 객체에 대한 참조관계는 한 객체의 속성값으로 피참조객체의 식별자를 가짐
- 객체 식별자는 생성된 이후에는 그대로 유지됨
● 문제 풀이
③ OID는 관계 데이터 모델에서 사용하는 기본 키와 본질적으로 동일한 성질을 가지고 있다.
→ OID 는 한번 생성 후에 그대로 유지되고, 삭제된 후에는 재 사용할 수 없다. 그러나 관계 데이터 모델의 기본 키 특성은 유일성, 최소성을 만족하면 되고, 삭제 후 재사용 가능하는 등 OID 와는 동일한 성질을 가진다고 볼 수 없다.
정답 : ③
58. 다음과 같은 5-원(way) B-트리가 있다고 할 때, 새로운 키 값 30을 삽입했을 때의 설명으로 가장 적절하지 않은 것은?
![]() |
① 삽입의 결과로 트리의 높이가 증가한다.
② 삽입의 결과로 루트의 공간 사용율이 1/2 미만이 된다.
③ 삽입 과정에서 노드의 분할이 발생한다.
④ 삽입 과정에서 노드의 병합이 발생한다.
▣ B-트리 삽입/삭제
- B-트리 삽입
- 리프 노드에 빈 공간이 있는 경우 : 단순히 빈 공간에 삽입하면 됨
- 오버플로 발생 시
1) 두 노드로 분열(split)
2) [m/2] 째의 키 값 → 부모노드
3) 나머지는 반씩 나눔(왼쪽, 오른쪽 서브트리)
- B-트리 삭제
- 리프노드에서 삭제
- 삭제키가 리프가 아닌 노드에 존재
· 후행키 값과 자리교환(후행키 - 항상 리프에)
· 리프노트에서 삭제
· 언더플로 : 키수 < [m/2] -1
· 재분배(redistribution) : 최소키 수 이상을 포함한 형제노드에서 이동
(형제노드의 키 → 부모노드 → 언더플로 노드)
· 합병(merge) : 재분배 불가능 시 이용(형제노드 + 부모노드의 키 + 언더플로 노드)
● 문제풀이
- 삽입 과정에서 노드의 병합이 발생한다 → 오버플로우가 발생하고 노드의 분열이 발생한다.
정답 : ④
공감과 댓글은 아이티신비에게 큰 힘이 됩니다.
블로그 글이 유용하다면 블로그를 구독해주세요.♥
'정보시스템 감리 기출문제해설 > 데이터베이스 해설' 카테고리의 다른 글
(제 22회) 데이터베이스 / (61)~(62) 해설 (2) | 2024.11.28 |
---|---|
(제 22회) 데이터베이스 / (59)~(60) 해설 (1) | 2024.11.27 |
(제 22회) 데이터베이스 / (55)~(56) 해설 (1) | 2024.11.25 |
(제 22회) 데이터베이스 / (53)~(54) 해설 (1) | 2024.11.24 |
(제 22회) 데이터베이스 / (51)~(52) 해설 (1) | 2024.11.23 |