You are on page 1of 46

18

18:



(
, , ).
,


.
CAD (computer-aided design), GIS (geographical
information systems)
(multimedia applications).
2

18:



:

,

(..
),

.

18:




.


;


:
4

18:


.

.


.

18:


.

,
.
.


.

18:


.

, SQL.

:
GIS
(, )
( ,
.).

,

.
7

18:


.


(. ,
) .
,

, .

18:


.



.

18:



.

:

(object-oriented data model)
(object-oriented databases),


.
- (object-relational databases)
10

18:



Smalltalk, C++ Java.



. ,
.

.
11

18:


( ).
.

.

.
.

.
12

18:



,
.

(encapsulation).

.


(information hiding).
13

18:



(object class).

.

(object identifier),
.

14

18:

15

18:



.

,
.
(inheritance)
.
,

A (
).
16

18:


,
(employee), (salesperson) (programmer)
.
,

.
.

17

18:

18

18:



(specialization hierarchy),
.
B
A ISA
( ISA A), .

19

18:

20

18:



(containment
hierarchy),
.
IS-PART-OF.

(complex)

.

21

18:

22

18:


(OODBS)
.


.



.
23

18:



:
1. ,
2. .

object-oriented
database system manifesto [Atkinson 1989]
.

.
:
24

18:


.
(
).
.

.
.

25

18:



(persistence)
.

.

,
.


.
26

18:


(ODL, object definition language)

ODMG.

(portability)


.
27

18:

28

18:


(OQL, object
query language)
,
SQL .
OQL

(C++, Java).
OQL

SQL.
29

18:


OQL
:
(associative access)
.

.
(navigational access)

.

30

18:



.
, OQL
SQL . :

SELECT b.name, b.address


FROM b IN branches
WHERE b.address.city = ;

31

18:



.

.
:
SELECT e.name.last-name
FROM b IN branches, e IN branches.WorksAt
WHERE b.address.city = ;
32

18:

ODMG C++
(bindings)

.


.

ODMG Smalltalk, C++ Java.
C++.
33

18:

ODMG C++
C++
ODMG ODL.


.


C++
.
,
C++,
(object manipulation language, OML), 34
.

18:

ODMG C++

35

18:

ODMG C++

36

18:

ODMG C++

branch

37

18:


:


,

,

.

38

18:


:

,



,
.

39

18:


:

(schema
evolution) ,

,
.

40

18:


:

,


.

41

18:


:


,
ODMG
de facto .

42

18:


:
,
,
,


.

43

18:



:


,

,
.

44

18:


:


.

45

18:



.

.


.
,
:
, ,
, . 46

You might also like