[DataBase System] ch11 - 객체 데이터베이스
2023. 5. 19. 00:28ㆍDataBase/DB 문제풀이
[DataBase System] ch11 - 객체 데이터베이스
책정보, 데이터베이스 시스템 : 네이버 책 (naver.com)
데이타베이스 시스템 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
문제풀이
1 ) 기존의 상용 데이터베이스 시스템이 지원하기에 적당하지 않은 새로운 응용과 이 응용들의 요구 사항들을 설명하여 보라.
- 새로운 응용
- 컴퓨터 이용 설계(CAD - Computer aided design)
- CAD DB는 설계 중인 아이템의 구성요소(Component), 구성요소 간의 상호관계, 버전 관리 등을 포함하는 공학 설계에 관한 데이터 저장
- 컴퓨터 이용 소프트웨어 공학 (CASE - Computer aided software engineering)
- CASE DB는 소프트웨어 개발자를 지원하기 위해 필요한 데이터를 저장
- 해당 데이터에는 원시 코드, 모듈들 간의 종속 관계, 변수의 정의와 용도, 소프트웨어 시스템의 개발 과정 등의 데이터가 포함
- 사무 정도 시스템 (OIS - Office Information System)
- 사무 자동화는 문서의 작성과 검색, 스케줄 관리를 위한 도구들을 포함
- OIS DB는 스케줄, 문서, 문서 내용에 대한 질의를 처리할 수 있어야 한다.
- 하이퍼텍스트(HyperText) 데이터베이스 시스템
- 하이퍼텍스트는 다른 문서를 가리키고 있는 링크를 가진 텍스트
- 하이퍼텍스트 DB는 링크를 기반으로 하는 문서검색과 질의를 처리할 수 있어야 한다.
- 멀티미디어 데이터베이스
- 멀티미디어 DB는 이미지, 시공간 데이터, 오디오, 비디오, 화상, 그래픽스, 텍스트 등과 같은 데이터 포함
요구
- 객체 데이터 모델
- 객체 지향 개념을 지원하는 데이터 모델
- 객체 및 객체 식별자, 애트리뷰트와 메서드, 클래스와 클래스 계층 및 상속, 복합 객체를 포함
- 복합객체
- 어느 한 객체의 애트리뷰트가 그 값으로 다른 객체를 참조하는 객체
2 ) 다음 용어를 간단히 설명하라
- 객체
- 다른 객체 또는 자기 자긴과 상호 작용을 할 수 있는 실세계 개체를 추상적 표현
- 객체 식별자
- 객체마다 유일한 값을 가지는 것을 의미
- 클래스
- 공통적인 특성을 가진 객체들의 모임
- 클래스 계층
- 클래스들을 계속적으로 세분화시킨 것
- 클래스 격자
- 둘 이상의 슈퍼 클래스가 허용되는 클래스 계층
- 클래스들이 하나의 루트를 가진 무사이클 방향 그래프 구성
- 계승
- 계층 경로에서 자기보다 상위에 있는 클래스의 애트리뷰트와 메서드를 계승받는 것
- 메서드
- 객체의 상태를 변경시키려면 해당 객체의 애트리뷰트 값을 변경시키는 역할
- 객체 상태
- 어느 한 시점에서 한 객체의 애트리뷰트들이 가지고 있는 값
- 폴리모피즘
- 하나의 메서드 이름을 둘 이상의 프로그램이 사용하는 것
- 참조
- 객체의 데이터와 메서드에 접근하는 방법
- 애트리뷰트 값으로 해당 인스턴스의 객체 식별자가 저장이 되는 것
- 클래스 구성 계층
- 클래스의 애트리뷰트와 그 애트리뷰트의 도메인이 되는 클래스들 간의 관계
- 슈퍼클래스
- 클래스 계층에서 클래스에 연결된 부모 노드에 해당되는 클래스
- 서브클래스
- 클래스 계층에서 클래스에 연결된 자식 노드에 해당되는 클래스
- 캡슐화
- 애트리뷰트의 데이터 표현과 메서드의 구현을 다른 객체나 사용자로부터 은닉시키는 기능
3 ) 클래스를 생성할 때 명세하여야 할 요소를 설명하라
- 클래스에 속하는 객체들에 대한 구조와 메서드의 명세
4 ) 클래스 제거에 따르는 문제가 있으면 설명하라
- 만약 제거하려는 클래스가 상속을 하고 있는 슈퍼클래스와 서브 클래스라면 슈퍼 클래스를 삭제하려는 순간 서브 클래스에 영향을 주게 됨
5 ) 데이터 삭제 연산을 설명하고 수반되는 문제점을 설명하라
- 데이터 삭제를 위해서는 delete 문을 사용
- delete [클래스 변수]
- from {[all] 클래스명세 [변수]},+
- [where 탐색조건]
- all을 사용 시 서브 클래스도 동시에 되는 경우가 존재
- 이때 all 미사용 시 서브클래스가 아닌 슈퍼 클래스만 삭제
- 데이터 삭제 연산을 잘못 수행하면 데이터 무결성 제약조건에 위배 가능
6 ) 본문에서 예를 든 학생과 과목 클래스에 대해 다음과 같은 질의문을 OQL로 표현하라
- 학번이 200인 학생이 수강하는 과목의 담당교수를 검색하라
- SELECT c.professor
- FROM Student s, Courses c
- WHERE s.id = 200 and c in s.courses
- 3학년 학생들이 수강하는 과목의 이름과 그 과목의 학생수를 검색하라
- select c.name, count(c.students)
- from Student s, Courses c
- where s.grade = 3 and c in s.courses
- 컴퓨터과 학생이 수강하는 과목의 평균 학생수를 검색하라
- select avg(c.student)
- from Student s, Courses c
- where s.department = '컴퓨터과'
7 ) 일대일, 일대다, 다대다의 관계를 갖는 ODL 클래스 선언 예를 보이라
'DataBase > DB 문제풀이' 카테고리의 다른 글
[DataBase System] ch10 - 데이터베이스 저장과 접근 (1) | 2023.05.16 |
---|---|
[DataBase System] ch09 - 데이터베이스 설계 (0) | 2023.04.24 |
[DataBase System] ch08 - 데이터 모델링 (0) | 2023.04.18 |
[DataBase System] ch07 - 데이터 종속성과 정규화 (0) | 2023.04.18 |
[DataBase System] ch06 - SQL (0) | 2023.04.14 |