객체관계DBMS
태그 :
- 개념
- - OODBMS의 한계를 극복하기 위해서 OODBMS 기술과 RDBMS의 기술을 접목한 DBMS - 현재 데이타베이스 제품의 주종을 이루는 DBMS - 상용화 제품 : Oracle 9i, DB2 Universal Database, MS SQL Server 2000 등
1. 객체관계형 DBMS(ORDBMS, Object-Relational DBMS)
가. ORDBMS의 특징
특징 |
내용 |
사용자 정의형 지원 |
사용자 정의형 데이터 타입의 저장 및 검색 기능 |
참조 타입 지원 |
하나의 객체 레코드가 다른 객체 레코드를 참조(reference)함으로써 참조 구조를 이용한 내비게이션 기반 접근 가능 |
중첩된 테이블 |
테이블 안의 하나의 컬럼이 또 다른 테이블로 구성됨으로써 복합 구조의 모델링이 가능해짐 |
대단위 객체 지원 |
이미지, 오디오, 비디오 등의 대단위 비정형 데이터를 위한 LOB(Large Object)을 기본형으로 지원함 |
테이블간 상속관계 |
테이블 간의 상속 관계 지정함으로써 객체지향의 장점 수용 |
- SQL:1999/2003의 특징
- ORDBMS의 공통적인 인터페이스를 제공
- 관계적 특징 : 새로운 데이타 타입, 조건식, 타입 시스템의 강화
- 객체 지향적 특징 : 사용자 정의 타입, 객체, 객체 식별자, 참조 타입, 상속, 함수와 메소드의 지원
- 순환질의(recursive query)
- 트리거 개념을 지원하는 능동적 데이타베이스 기능 제공
- 보안 및 뷰 갱신 기능 강화
2. RDBMS, OODBMS 및 ORDBMS의 상호비교
가. RDBMS, OODBMS, ORDBMS비교
비교항목 |
RDBMS |
OODBMS |
ORDBMS |
데이터 모델 |
문자,숫자,날짜 등 단순한 정보 타입만 지원 |
사용자 정의 타입 및 비정형 복합정보 타입 지원 |
사용자 정의타입 및 비정형 복합정보 타입 지원 |
주된 질의어 |
SQL |
OOL |
SQL |
대규모 처리 능력 |
탁월 |
보통 |
탁월 |
시스템 안정성 |
탁월 |
보통 |
탁월 |
주된 장점 |
오랜 기간 걸쳐 검증된 시스템 안정성과 대규모 정보처리 성능 |
복잡한 정보 구조의 모델링 가능 |
기존 RDBMS의 안정성에 객체지향 모델의 장점을 가미 |
주된 단점 |
제한된 형태의 정보만 처리 간으하고, 복잡한 구조의 모델링이 힘듬 |
기본적인 DB관리 기능에 있어서 성능 및 안정성 검증 미비 |
|
나. ODBMS와 ORDBMS의 유사점
- 사용자 정의 타입(user defined type) 지원
- 구조화 타입(structured type) 지원
- 객체 식별자와 참조 타입(oid and reference type) 지원
- 상속(inheritance) 지원
- 집단 타입(collection type)을 처리할 수 있는 질의어 (query) 제공
- 병행 제어(concurrency control)나 복구(recovery)와 같은 DBMS의 기능 제공
다. ODBMS와 ORDBMS의 차이점
ODBMS |
ORDBMS |
객체 지향 프로그래밍 언어와 매끄럽게 (seamless) 통합 객체 중심 처리 응용 몇 개의 객체들만 검색 메인 메모리 내의 객체들의 효율적인 참조가 중요함 긴 트랜잭션 지원 새로운 병행 제어 기법이 필요 질의 기능이 미비함 |
호스트 언어 안에 SQL 명령을 삽입 투플과 객체 처리 응용 대규모 데이터를 검색 디스크 접근의 최적화가 가장 중요함 비교적 짧은 트랜잭션 지원 RDBMS의 병행제어 기법을 이용 질의 기능이 핵심 부분임 |
3. ORDBMS의 주요 사항
객체-관계 데이타 베이스는 Top 레벨 클래스들의 집합
가. 투플 객체(tuple object) :
- oid : 객체 식별자(object ID)
- val : 투플 값(tuple value), 투플을 구성하는 애트리뷰트의 값은 기본값(primitive vlaue), 집합(sets), 다른 객체 대한 참조(reference) 등
구분 |
내용 |
객체-관계 모델 & 객체 지향 모델 |
객체-관계 모델은 각 객체 인스턴스의 톱 레벨 구조가 항상 투플이며, 객체 지향 모델은 톱 레벨 구조가 임의의 값이 될 수 있음 |
객체-관계 모델 & 관계 모델 |
관계 모델에서 투플 원소는 반드시 기본 값(primitive value) SQL이 제공하는 기본 데이터 타입 값 객체-관계 모델에서 투플 원소는 임의의 값이 될 수 있음 |