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

(제 25회) 데이터베이스 / (63)~(64) 해설

아이티신비 2025. 1. 31. 09:00

63. 다음의 데이터베이스에서 (가)는 VIEW를 생성한 것이고 (나)는 생성된 VIEW에 대한 검색 명령어이다. 이 검색 명령어가 실제 실행되기 위해서 질의 변경(query modification)되는 SQL 명령어로 옳은 것은? (단, Students, Enrolled 릴레이션 각각의 기본 키는 밑줄 친 속성이다.)

 

(가) CREATE VIEW BStudents (name, sid, cid)
AS SELECT S.name, S.sid, E.cid
FROM Students S, Enrolled E
WHERE S.sid=E.sid AND E.grade=‘B’;
(나) SELECT name
FROM BStudents
WHERE cid=‘101’;

 

① SELECT S.name

FROM Students S, Enrolled E

WHERE E.grade=‘B’ AND E.cid=‘101’;

② SELECT E.name

FROM Students S, Enrolled E

WHERE E.grade=‘B’ AND E.cid=‘101’;

③ SELECT S.name

FROM Students S, Enrolled E

WHERE S.sid=E.sid AN D E.grade=‘B’

AN D E.cid=‘101’;

④ SELECT E.name

FROM Students S, Enrolled E

WHERE S.sid=E.sid AN D E.grade=‘B’

AN D E.cid=‘101’;

 

■ 해설

 

검색 명령어가 실제 실행되지 위해서 질의 변경(query modification)되는지 SQL 명령어

(나) SQL 을 실행하면 SQL 명령어가 어떻게 변경이 되는지를 질문함

 

(나) 에서 VIEW 로 부터 조회하기 때문에 VIEW 에서 cid='101' 라는 부분만 더 추가되어 검색이 됨

 

정답 : ③

 

 

64. 다음은 자동차 소유주(OWNER)와 차량(VEHICLE)의 관계를 EER 모델로 표현한 것이다. 이 EER 모델에서 사람(PERSON), 은행(BANK), 회사(COMPANY) 개체가 자동차 소유주가 될 수 있음을 표현하기 위해 사용된 모델링 개념으로 옳은 것은?

 

① 세분화(specialization) ② 일반화(generalization)

③ 범주(category) ④ 집단화(aggregation)

 

■ 해설

③ 범주(category)

UNION Type 이라고도 불리는데, 간단하게 말하면 데이터 모델링에서의 베타 관계

즉, 여러 개의 슈퍼클래스가 하나의 서브클래스와 연결되어있고, 하나의 슈퍼클래스는 무조건 서브클래스와 연결되어야 함.

표시는 UNION의 U를 본따 U로 표기함.

 

① 세분화(specialization) (IS-A 관계)

서브클래스와 수퍼클래스간의 관계명을 정의하는 것을 Specialization (예) job_type(Top-down)

② 일반화(generalization)

개별 엔터티들에서 공통점을 찾아 하나의 서브클래스-슈퍼클래스 관계로 만드는 것

④ 집단화(aggregation)(IS-PART-OF관계)

어떤 관계집합과 객체집합들을 "하나의 큰 개체집합(집계된 개체집합)"으로 간주하여 E-R Diagram 에 나타낼 수 있게 하는 표현방법(점선 사각형으로 표현)

 

점선 직사각형은 그 자체로 하나의 개체집합으로 볼 수 있고, 그 내부는 그림과 같이 또 하나의 관계집합과 여러 개체집합으로 구성되어 있다.

 

● 확장된 개체-관계 모델

  • EER model : Extended Entity Relationship model

- 기존 ER 모델에 세분화, 일반화, 집단화, 상속 기능을 지원하는 새로운 개념의 ER모델

  • ER 모델의 한계성

- 단순하고 일반적 모델에 적합

- GIS, Multimedia, 객체 지향 같은 응용분야에는 표현에 한계가 존재

- 재사용, 상속, 확장성의 개념이 없음

 

  • ERR의 핵심 개념
 
핵심개념
설명
세분화
(Specialization)
  • 하나의 개체(Super type)를 작은 그룹(subtype)으로 분리하는 것
  • 상위클래스 ↔ 하위클래스로 사우이 객체의 속성을 상속
일반화
(Generalization)
  • 여러 개체의 공통 적인 특징을 하나의 클래스 객체로 일반화시키는 것
  • 몇 개의 객체 집합을 상위 레벨의 한 개체로 만드는 것
집단화
(Aggregation)
  • 단위 개체들을 하나로 묶어 사우리 레벨의 복합 개체를 구성
  • 집단화 개념을 이용할 경우, 중복되는 관계를 단순한 관계로 표현 가능
  • IS-PART-OF 관계
  • ERR 모델 일반화/특수화, 집단화 예시

정답 : ③

 





 

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

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