4. Implementation of the OODBMS
4.1 Data description language
The objects and their operations can be implemented
by the concept of class» derived class and virtual
function in C++ language. The object-oriented data
description language (DDL) can be realized directly
by C++ language, but this kind of DDL is difficult to
be maintained by the inexperienced user.Therefore, we
have developed a database schema compiler. The
database schema consists of three parts: data element
dictionary which defines data elements and their
classes, object specifications which specify the data
structures and operations of the objects, index
specifications which specify the index keys. The
schema compiler verifies the syntax of the schema,
and then translates the correct schema into C++
source codes which are used by data manipulation
language and application programs.
4.2 Data manipulation language
The object-oriented data manipulation language
(DML) is actually a series of C++ functions which are
used to manage and manipulate databases. These
functions call the data file management functions and
the index file management functions directly, and
then perform operations (such as addition, deletion
accession, modification, query etc.) on the databases.
The B-tree structure is used for index management of
the databases.
4.3 Application software
The graphics, imagery and DEMs are treated as
complex objects which can be managed by the OODBMS.
Considered the specific characteristics of the
complex objects, we add the variable-length-record
(VLR) file structure to the OODBMS. The database
software is combined with image processing and gra-
phic operations, and interfaced to the corresponding
window icon system so that the user can perform
various kinds of manipulations and visual queries on
various types of objects (including simple objects
and complex objects) in the databases.
5. Applications of the OODBMS to OPIP
OPIP is a high-tech information system which is
integrated with informatics, image processing, computer
graphics, database, artificial intelligence and photo-
grammetry. It consists of seven subsystems (as shown
in Fig. 2) which are related with each other as well
as relatively independent. The OPDBMS which is an
applied case of OODBMS is the kernel of OPIP.
The key problem for the establishment of OPIP is
to design and implement a DBMS that is capable of
handling various types of complex objects (such as
vector data, raster data and attribute data) and
optimizing over their use, and then providing higher-
level query language and visual support. Our OODBMS
is designed in such a way that it meets these
requirements. Based on this OODBMS, OPIP has been
successfully built.
l T jit |
l-H Photogrammetric Processing |
| Subsystem € PPS ) |
U 1
| Data Acquisition Subsystem |
| € DAS )
L 1 À
|
|
sk:
= 1 F
| Intelligent Query Subsystem F——-
| € 10S 5 | | Object-Oriented
L 1 | Pictorial Database
| Management System
L d
|
|
|
| 1
FH Image Processing and Analysis |
n |
D. 1 J?
| Graphics Processing and Analysis H € OPDBMS )
| Subsystem € GPAS > id Subsystem € IPAS )
L. Fak ; À
|
|
x
[^ 1
| Output Subsystem |
Le =
Fig. 2 Main structure of OPIP
618