Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 45

제 17 장

객체지향 데이타베이스의 개념

Fundamentals of Database Systems


R. A. Elmasri and S. B. Navathe

© 2005 황규영 홍의경 음두헌 박영철 김진호 조완섭



내 용

17.1 OO 의 개요
17.2 OO 식별자 , 객체 구조 및 타입 생성자
17.3 연산의 캡슐화 , 메소드 , 지속성
17.4 타입 및 클래스 계층구조와 상속
17.5 복합 객체
17.6 또 다른 OO 개념
17.7 요약 및 현재 상황

5판-Ch17 Fundamentals of Database Systems 2


서론

서론
 기존의 데이타 모델
– 계층적 , 네트워크 (60 년대 중반부터 )
– 관계형 (1970 년부터 1982 년부턴 상용화 )
– 90 년대 중반부터 객체지향 (OO) 데이터 모델
 객체지향 데이타베이스의 필요성
– 보다 복잡한 응용에 대한 요구
– 추가적인 데이타 모델링 기능에 대한 요구
– 객체지향 프로그래밍 언어의 사용 증가
 상용 OO 데이타베이스
– 90 년대에 몇 개가 소개되었으나 주된 역할을 하지는 못함

5판-Ch17 Fundamentals of Database Systems 3



  모델과시스템의역사
 
모델과시스템의역사
 언어
– Simula (1960 대 ), Smalltalk (1970 대 ), C++ (1980 년대 후반 ),
Java (1990 년대 )
 실험적 시스템
– MCC 의 Orion, H-P 연구실의 IRIS, T.I. 의 Open-OODB, ATT Bell
연구실의 ODE, UC/B 의 Postgres - Montage - Illustra, Brown 의
Encore/Observer
 상용 OO 데이타베이스
– Ontos, Gemstone, O2 ( -> Ardent), Objectivity, Objectstore (
-> Excelon), Versant, Poet, Jasmine (Fujitsu – GM)

5판-Ch17 Fundamentals of Database Systems 4


   객
 체지향개
 념의개
객객객객객객객객객  요 

 주된 관점
– OO 데이타베이스는 실세계 객체들과 데이타베이스 객체들 간
의 직접적인 연관을 유지하여 객체가 자신의 무결성과 식별성을
잃지 않고 쉽게 식별되어 동작되도록 함

 객체
– 두 구성요소 : 상태 ( 값 ) 과 행위 ( 연산 )

– 프로그래밍 언어의 프로그램 변수와 유사하나 복잡한 데이터 구


조와 함께 프로그래머에 의해 정의된 특정 연산들을 가짐

5판-Ch17 Fundamentals of Database Systems 5


  객체지향개념의개요
  
객체지향개념의개요  

 OO 데이타베이스에서 , 객체는 자신을 묘사하기 위해 필요한 모


든 정보를 유지해야 하므로 임의의 복잡한 구조를 가지게 됨
 반면 , 기존의 데이타베이스 시스템에서 , 복합 객체에 관한 정보
는 보통 여러 테이블이나 레코드에 분산 저장되어 실세계 객체와
데이타베이스 표현 간에 직접적인 연관성을 잃게 됨

5 판-Ch5 5 Fundamentals of Database Systems 6


  객체지향개념의개요
  
객체지향개념의개요  

 인스턴스 변수
– OOPL 에서 객체의 내부구조는 인스턴스 변수의 명세를 통해
정의됨
– 인스턴스 변수는 객체의 내부 상태를 정의하는 값들을 가짐
– 인스턴스 변수는 애트리뷰트와 비슷한 개념이지만 객체 내에
캡슐화 되어 외부 사용자들에게는 안 보이게 할 수 있다는 점에
서 애트리뷰트와 차이가 있음

5-Ch17 Fundamentals of Database Systems 7


객객객객객객객객객
객   객
 체지향개
  념의개  
  요 

 객체의 캡슐화
– 사용자가 객체에 적용할 수 있는 모든 연산들이 미리 정의되어
야 하는 OO 모델도 있음
– 이 경우 , 객체의 완전한 캡슐화가 이루어지게 됨

 캡슐화를 장려하기 위해 연산은 두 부분으로 정의됨


– 연산의 이름과 매개변수 ( 파라미터 ) 를 명시하는 연산의 시스
니춰 ( 또는 인터페이스 )
– 연산의 구현을 명시하는 메소드 또는 몸체

5-Ch17 Fundamentals of Database Systems 8


객 객체지향개념의개요
객  
객체지향개념의개요  

 연산의 호출과 캡슐화


– 연산 이름과 파라미터로 구성되는 메시지를 객체에 전달함으로
써 연산을 호출함
– 이 때 , 객체는 해당 연산의 메소드를 실행함
– 이러한 캡슐화는 연산을 호출하는 외부 프로그램을 수정할 필요
없이 객체의 내부 구조나 연산의 구현을 변경할 수 있게 함

5-Ch17 Fundamentals of Database Systems 9


객 객체지향개념의개요
객  
객체지향개념의개요  
 버전 기능
– 하나의 객체에 대하여 여러 버전을 지원하는 OO 시스템도 있음 ( 디자
인과 공학 응용에 필수인 기능 )
– 예를 들어 , 새로운 디자인이 테스트와 검증될 때까지 테스트와 검증이
된 디자인을 나타내는 객체의 구 버전을 유지할 필요가 있음
– 생산과정 제어 , 구조 , 소프트웨어 시스템 등의 설계에 매우 중요한 개
념임
 연산의 다형성
– 서로 다른 타입의 객체들에 동일한 이름의 연산을 적용할 수 있는 기능
을 의미함
– 이 경우 , 연산의 이름은 적용되는 객체의 타입에 따라 여러 개의 서로
다른 구현을 지정할 수 있음
– 이러한 기능을 연산의 중첩정의라고 함

5-Ch17 Fundamentals of Database Systems 10



객
객체식
체 별
식별자
자객 체
객체구조
구조타 입
타입생성
생성자
자 

 고유한 식별자
– OO 데이타베이스 시스템은 데이타베이스에 저장된 각 독립 객체에
고유한 식별자를 제공함
– 이러한 고유한 식별자는 일반적으로 시스템이 생성한 객체 식별자
(OID) 에 의해 구현됨
 OID 의 주요 특성은 불변성임
– 즉 , 특정 객체에 부여된 OID 값은 바뀔 수 없다는 것임
– OID 의 이런 특성에 의해 실세계 객체의 식별성이 보존됨

5-Ch17 Fundamentals of Database Systems 11


객체식별자객체구조타입생성자
    
객체식별자객체구조타입생성자   객 
객

 타입 생성자
– OO 데이타베이스에서 , 복합 객체의 상태 ( 현재 값 ) 는 다른 객체
( 또는 다른 값 ) 들로부터 타입 생성자를 사용하여 생성될 수 있음

 Atom, tuple, set 생성자


– 가장 기본적인 세 개의 생성자는 atom, tuple, set 생성자임

– 이외에 list, bag, array 생성자도 흔히 사용되는 생성자들임

– atom 생성자는 정수 , 실수 , 문자열 , 부울 및 시스템에서 직접 지


원되는 기본 데이터 타입 등과 같은 모든 기본 원자값을 표현하는데
사용됨

5-Ch17 Fundamentals of Database Systems 12


55객체식별자객체구조타입생성자
555
    
객체식별자객체구조타입생성자   
 

예 1: COMPANY 스키마에 대한 가능한 관계형 데이타베이스 상태

5-Ch17 Fundamentals of Database Systems 13


객 객  객 객 객  객 객  객
    객체식별자객체구조타입생성자
객객  객 객       
  

예 : 계속

5판-Ch17 Fundamentals of Database Systems 14


   객체식별자객체구조타입생성자
객객
객객    
객체식별자객체구조타입생성자     

 예 1 ( 계속 )

5판-Ch17 Fundamentals of Database Systems 15


   객체식별자객체구조타입생성자
객객
객객    
객체식별자객체구조타입생성자    
 예 1( 계속 ):

i1, i2, i3, . . . 는 고유한 시스템 생성 객체 식별자이다 .

다음의 객체를 생각해 보자 .


o1 = (i1, atom, ‘Houston’)

o2 = (i2, atom, ‘Bellaire’)

o3 = (i3, atom, ‘Sugarland’)


o4 = (i4, atom, 5)

o5 = (i5, atom, ‘Research’)

o6 = (i6, atom, ‘1988-05-22’)

o7 = (i7, set, {i1, i2, i3})

5판-Ch17 Fundamentals of Database Systems 16


   객체식별자객체구조타입생성자
객객
객객    
객체식별자객체구조타입생성자    
 예 1( 계속 )
o8 = (i8, tuple, <dname: i5, dnumber: i4, mgr: i9, locations:
i7, employees:i10 , projects:i11 >)
o9 = (i9, tuple, <manager:i12 , manager_start_date:i6>)
o10 = (i10 , set, {i12 , i13 , i14 })
o11 = (i11 , set {i15 , i16 , i17 })
o12 = (i12 , tuple, <fname:i18 , minit:i19 , lname:i20 , ssn:
i21 , . . ., salary:i26 , supervi­sor:i27 , dept:i8>)
...

5판-Ch17 Fundamentals of Database Systems 17


   객체식별자객체구조타입생성자
객객
객객    
객체식별자객체구조타입생성자    

예 1( 계속 ):
위에 열거한 처음 여섯 개의 객체 (o1-o6) 는 원자 값이다 .
데이타베이스 내에 각각의 서로 다른 상수 원자 값에 대하여
하나씩이 생성되므로 비슷한 객체들이 많이 존재하게 된다 .
1) 객체 o7 은 5 번 부서의 위치들을 나타내는 집합 값을 가지는 객
체이다 . 즉 , {i1, i2, i3} 집합은 {‘Houston’, ‘Bellaire’,
‘Sugarland’} 집합을 나타낸다 .
2) 객체 o8 은 5 번 부서 자체를 나타내는 투플 값의 객체로서
DNAME, DNUMBER, MGR, LOCATIONS 등의 애트리뷰트들을
가진다 .

5판-Ch17 Fundamentals of Database Systems 18


   객체식별자객체구조타입생성자
객객
객객    
객체식별자객체구조타입생성자    

예 2:
본 예는 두 객체의 상태를 비교함으로써 두 가지 동등 관계의
차이점을 설명한다 .
o1 = (i1, tuple, <a1:i4, a2:i6>)

o2 = (i2, tuple, <a1:i5, a2:i6>)

o3 = (i3, tuple, <a1:i4, a2:i6>)

o4 = (i4, atom, 10)

o5 = (i5, atom, 10)

o6 = (i6, atom, 20)

5판-Ch17 Fundamentals of Database Systems 19


    객체식별자객체구조타입생성자
객 객 객
 객 객  객
 객  객
 객  객
 객  객
 객 객  

예 2( 계속 ):
o1 과 o2 는 값들이 원자 레벨에서는 같으나 서로 다른 객체인
o4 와 o5 에 의해 값을 얻게 되므로 두 객체 o1 과 o2 는 같은
상태를 가진다 .

그러나 객체 o1 과 o3 은 객체들 자신이 서로 다른 OID 를 가


지므로 객체 자신들은 동등하지 않지만 동등한 상태를 가진다 .

마찬가지로 o4 와 o5 는 상태는 동등하지만 실제의 객체 o4


와 o5 는 서로 다른 OID 를 가지므로 같지만 동등하지는 않다 .

5판-Ch17 Fundamentals of Database Systems 20



  객체식별자객체구조타입생성자
 객 객 객 객 객 객 객 객 객 객 객 객 객 객
그림 17.1 DEPARTMENT 복합 객체의 그래프 표현

5판-Ch17 Fundamentals of Database Systems 21


    객체식별자객체구조타입생성자
   
객체식별자객체구조타입생성자    
그림 17.2 타입 생성자를 사용한 Employee, Date, Department 객체 타입의
정의

5판-Ch17 Fundamentals of Database Systems 22


5 5연
55 연산
산의
의캡슐
캡화
슐메
화 소
메드
소지
드 속
지성
속 

캡슐화
 OO 언어와 시스템의 주요 특징 중 하나임
 프로그래밍 언어의 추상 데이터 타입 및 정보 은닉 개념과 연관됨

클래스 연산을 통한 객체의 행위 명시


 주된 관점은 한 타입의 객체들에게 외부에서 적용할 수 있는 연산들을
그 객체 타입의 행위로 정의하는 것이다 .
 일반적으로 , 연산의 구현은 연산을 정의하기 위해 필요한 유연성과 기
능을 제공하는 프로그래밍 언어로 명시된다 .

5판-Ch17 Fundamentals of Database Systems 23


555555 연산의캡슐화메소드지속성
555555   
연산의캡슐화메소드지속성   

클래스 연산을 통한 객체의 행위 명시 ( 계속 )


 데이타베이스 응용에서 모든 객체가 완전하게 캡슐화되어야 한다
는 요구사항을 만족시키기는 어려움
 이런 요구사항을 완화하는 한 가지 방법은 객체의 구조를 가시적
애트리뷰트와 은닉된 애트리뷰트 ( 인스턴스 변수 ) 로 구분하는 것

5 판-Ch5 5 Fundamentals of Database Systems 24


클래스연산을통한객체의행위명시
55 55 55 55 55 555
클래스연산을통한객체의행위명시 555
그림 17.3 Employee 와 Department 의 정의에 연산을 추가

5판-Ch17 Fundamentals of Database Systems 25


연산의캡슐화메소드지속성
  
연산의캡슐화메소드지속성   
이름 부여와 도달가능성을 통한 지속 객체의 명시
 이름부여 방식
– 지속성이 있는 고유한 이름을 객체에 부여하여 그 프로그램 및 다른
프로그램에서 이 이름으로 검색이 가능하게 한다 .
 도달 가능성 방식
– 객체를 지속 객체로부터 도달가능하게 하는 방법이다 .
 객체 A 로부터 B 에 이르는 참조 순서가 존재하면 객체 B 가 객체
A 로부터 도달가능하다고 말함

5-Ch17 Fundamentals of Database Systems 26


연산의캡슐화메소드지속성
  
연산의캡슐화메소드지속성   

이름 부여와 도달가능성을 통한 지속 객체의 명시 ( 계속 )


 관계형 모델과 같은 기존의 데이타베이스 모델에서 , 모든 객체는
지속 객체임
 OO 방식에서 , 클래스 정의는 단지 클래스의 타입과 연산을 명시
하는 것임
 사용자가 독자적으로 타입 set(DepartmentSet) 또는
list(DepartmentList) 의 지속 객체들을 정의함
 지속 객체들의 값은 모든 DEPARTMENT 지속 객체의 참조의 집합
이됨

5 -Ch17 Fundamentals of Database Systems 27


연산의캡슐화메소드지속성
  
연산의캡슐화메소드지속성   

5 -Ch17 Fundamentals of Database Systems 28


    타입및클래스계층구조와상속
555555    
타입및클래스계층구조와상속   
 타입 ( 클래스 ) 계층구조
 가장 간단한 형태의 타입은 타입 이름을 부여하고 그 타입에 대한
가시적인 ( 전역의 ) 함수 이름들을 열거함으로써 정의할 수 있음
 본 절에서는 타입을 명시할 때 함수의 매개변수들을 명시하지 않는
다음과 같은 형식을 사용함

TYPE_NAME: function, function, ..., function

예:
PERSON: Name, Address, Birthdate, Age, SSN

5-Ch17 Fundamentals of Database Systems 29


타입
타입  및
및  클래스
클래스  계층구조와
계층구조와  상속
상속   

 서브타입
– 설계자나 사용자가 , 이미 정의된 타입과 유사하지만 동일하지는 않은 새로
운 타입을 생성해야 할 때 유용함
 수퍼타입
– 이미 정의된 타입으로부터 모든 함수를 상속함

5-Ch17 Fundamentals of Database Systems 30


타입
타입  및
및  클래스
클래스  계층구조와
계층구조와  상속
상속   
예 (2):
다른 예로 기하학에 관련된 객체들을 표현하는 타입을 다음과 같이 정의할 수
있다 .

GEOMETRY_OBJECT: Shape, Area, ReferencePoint

GEOMETRY_OBJECT 타입에 대한 몇 개의 서브타입의 정의는 다음과 같다 .

RECTANGLE subtype-of GEOMETRY_OBJECT: Width, Height


TRIANGLE subtype-of GEOMETRY_OBJECT:
Side1, Side2, Angle
CIRCLE subtype-of GEOMETRY_OBJECT: Radius

5-Ch17 Fundamentals of Database Systems 31


타입
타입  및
및  클래스
클래스  계층구조와 상속    
계층구조와  상속
 예 (2) ( 계속 ):
이 세 가지 서브타입을 선언하기 위한 또 다른 방법은 Shape 애트리뷰
트 값을 다음과 같이 각 서브타입의 객체들이 만족해야 할 조건으로 명
시하는 것이다 .

RECTANGLE subtype-of GEOMETRY_OBJECT (Shape=‘rectangle’):


Width, Height
TRIANGLE subtype-of GEOMETRY_OBJECT (Shape=‘triangle’):
Side1, Side2, Angle
CIRCLE subtype-of GEOMETRY_OBJECT (Shape=‘circle’): Radius

5-Ch17 Fundamentals of Database Systems 32


타입및클래스계층구조와상속
   
타입및클래스계층구조와상속  
 외연
대부분의 객체지향 데이타베이스에서 한 외연 내의 객체들은 동일한 타입이나
클래스를 가진다 .
그러나 대부분의 객체지향 데이타베이스는 타입을 지원하기 때문에 본 절에서
는 외연을 같은 타입의 객체들의 모임으로 간주한다 .
 지속적 모임
객체들의 모임이 데이타베이스 내에 영구적으로 보존되는 것으로서 여러 프로
그램들이 접근하고 공유할 수 있다 .
 임시 모임
객체들의 모임이 프로그램이 수행되는 동안에만 일시적으로 존재하고 프로그
램이 종료되면 더 이상 보존되지 않는 것이다 .

5-Ch17 Fundamentals of Database Systems 33



 복합객체

복합객체  

 비구조적 복합 객체
– DBMS 가 제공하는 비구조적 복합 객체의 기능은 데이타베이스 응용이 필요로
하는 대형 객체들의 검색 및 기억 장소를 지원한다 .
 이진 대형 객체 / BLOB
– 비구조적 복합 객체의 대표적인 예로는 비트맵 이미지와 긴 텍스트 스트링 ( 예 ,
문서 ) 이 있는데 , 이런 객체들을 이진 대형 객체 (binary large objects) 또는
BLOB 이라고 한다 .
 관계형 DBMS 에서의 복합객체 지원 방법과 차이점
– 관계형 DBMS 에서도 복합 객체를 지원할 수 있으나 객체에 대한 연산은
RDBMS 밖에 정의할 수밖에 없다 .
 구조적 복합 객체
– 객체의 구조가 OODBMS 에서 제공되는 타입 생성자들을 반복적으로 적용하여
정의된다는 점에서 비구조적 복합 객체와 다르다 .
– 따라서 OODBMS 에 의해 객체의 구조가 정의되어 등록된다 .

5판-Ch17 Fundamentals of Database Systems 34


객객
  다
 른객
 체지향
개
념 

 다형성 ( 연산자 중첩 ):
다형성의 개념은 동일한 연산자의 이름 또는 심볼이 그 연산자가 적
용될 객체의 타입에 따라 서로 다른 연산자의 구현과 결합될 수 있
다는 것이다 .
 다중 상속과 선택적 상속
타입 계층구조에서 다중 상속은 하나의 서브타입 T 가 서로 다른 수
퍼타입을 두 개 이상 가지고 , 따라서 그 수퍼타입들의 함수 ( 애트
리뷰트와 메소드 ) 들을 모두 상속받는 것을 말한다 .

예를 들어 , MANAGER 와 ENGINEER 모두에 대한 서브타입으로


ENGINEERING_MANAGER 를 생성할 수 있다 .

5판-Ch17 Fundamentals of Database Systems 35


다른객체지향개념
 
다른객체지향개념 
 

버전과 구성
 객체지향 시스템을 사용하는 데이타베이스 응용들에서는 동일한 객체
에 대해 여러 버전의 관리가 필요하다 .
 한 객체에 대해 두 개 이상의 버전이 있을 수 있다 .

구성 (Configuration)
 각 모듈당 하나의 버전으로 구성된 모임으로서 모듈 버전들이 서로 호
환적이며 복합 객체의 유효한 버전을 형성한다 .

5 판-Ch17 Fundamentals of Database Systems 36


객객 
55555 
55555
 객체 식별자
– 객체는 자신의 애트리뷰트 값들에 의존하지 않는 고유한 식별자를 가진다 .
 타입 생성자
– 복합 객체의 구조는 tuple, set, list, bag 과 같은 기본 생성자들을 반복적으로 적용
함으로써 구성된다 .
 연산의 캡슐화
– 객체 구조와 객체에 적용되는 연산들이 모두 객체 클래스 정의 내에 포함된다 .
 프로그래밍 언어와의 호환성
– 지속 객체와 임시 객체들을 모두 이음새 없이 다룬다 . 객체들은 지속적 모임에 첨가
되거나 명시적인 이름을 부여함으로써 지속성을 갖게 된다 .
 타입 계층구조와 상속
– 객체 타입들은 타입 계층구조를 사용하여 명시할 수 있는데 , 이미 선언된 타입들로
부터 애트리뷰트와 메소드들을 모두 상속받게 된다 .
– 다중 상속을 지원하는 모델도 있다 .

5 판-Ch5 5 Fundamentals of Database Systems 37


요약
요약 (2)
(2)
 외연
– 특정 타입의 모든 지속적 객체는 외연에 저장될 수 있다 .
– 타입 계층구조에 대응되는 외연들은 집합 / 부분집합 제약조건을 가진다 .
 복합 객체의 지원
– 구조적 또는 비구조적 복합 객체들을 저장할 수 있고 조작할 수 있다 .
 다형성과 연산자 중첩
– 서로 다른 구현을 가지는 서로 다른 객체 타입에 적용하기 위하여 연산과 메소드 이름들을
중첩 정의할 수 있다 .
 버전
– 일부 객체지향 시스템들은 동일한 객체에 대해 여러 가지 버전을 유지하는 것을 지원한다 .

5판-Ch1 7 Fundamentals of Database Systems 38



현 상황
상황
 OODB 시장은 크게 성장하지 못 하였음 : 현재 관계형 DB 가
$50B 규모인 반면 약 $250M 정도 .
 OO 개념은 데이터 저장을 위해 OODB 플랫폼을 이용하진 않지만
많은 응용에서 사용되고 있음 .
 성장
– 모델링과 분석을 위한 OO 도구 , Java 나 C++ 같은 OO 프로그래
밍 언어
 절충형
– 객체 관계 DB 관리 (Informix Universal Server, Oracle 10i,
IBM’s UDB, DB2/II …)

5판-Ch1 7 Fundamentals of Database Systems 39


17.5
17.5 Object Database 개념
Object Database 개념 설계
설계
 Object Database (ODB) vs. Relational Database
(RDB)
– Relationships 이 다르게 처리됨
– Inheritance 도 상이하게 다루어짐
– ODB 에서의 Operations 은 클래스 명세의 일부이므로
일찍 정의되어야 함

5판-Ch1 7 Fundamentals of Database Systems 40


Relationships:
Relationships: ODB
ODB vs
vs RDB
RDB (1)
(1)
 ODB 에서 Relationships
– Relationships 은 reference attributes 로 표시되며 ,
값으로 related objects 의 OID 를 가짐
– Single/collection references 가 허용됨
– binary relationships 의 references 는 단방향 / 양방
향 (inverse operator 사용 ) 이 될 수 있음

5판-Ch1 7 Fundamentals of Database Systems 41


Relationships:
Relationships: ODB
ODB vs
vs RDB
RDB (2)
(2)
 RDB 에서 Relationships
– 투플들 사이의 relationships 은 속성 값의 일치로 표시됨 ( 외래
키)
– 외래키는 단일 값을 가짐
– M:N relationships 은 별도의 테이블로 표시됨

5판-Ch1 7 Fundamentals of Database Systems 42


Inheritance
Inheritance Relationship
Relationship
in
in ODB
ODB vs
vs RDB
RDB
 ODB 에서는 Inheritance structures 가 생성됨 ( “:” 와
extends operators 를 사용함 )
 RDB 에서는 상속 관계를 위한 built-in support 가 없음 ;
그러나 inheritance relationships 을 구현하는 여러가지
방안들이 제안되었음

5판-Ch1 7 Fundamentals of Database Systems 43


연산자의조기명세
 
연산자의조기명세
 ODB 와 RDB 의 또 다른 차이는 연산자의 명시에 있음
– ODB: 설계 시점에 클래스 명세의 일부로 연산자가 도출됨
– RDB: 응용의 구현시 연산자가 도출됨

5판-Ch17 Fundamentals of Database Systems 44


  
    요약
요약
 object databases 에 대한 표준을 소개함
 ODMG 모델의 다양한 constructs 와 built-in types 을
소개함
 ODL 과 OQL languages 를 소개함
 C++ language binding 기법을 소개함
 객체 데이타베이스의 개념 설계 기법을 논의함

5판-Ch17 Fundamentals of Database Systems 45

You might also like