of a
ndly,
object
antics
ng of
tities
plicit
patial
1 in the
tance of
is the
, whose
se. The
ypes to
its that
^sented
ication
trained
pes of
riterion
ity has
rves as
‘mation
that he
base is
has to
on the
ints are
s of the
ferring
location
; not be
ntegrity
r from
ye, that
es. The
specification of integrity constraints is application
dependent; it is the aimed use of the database that
determines the constrained objects and the way they
are constrained.
1.2 Previous studies and outline of this study
The importance of consistency is emphasized in for
example (NCDCDS, 1987, part III, pp.5-6). Description of
consistency tests is proposed as a part of the quality
report of the data. The description of consistency is
thus a part of metadata describing a geographical
database. In (White, 1984) questions regarding the
consistency of a multipurpose geographic data system
are represented. In (Laurini & Milleret-Raffort, 1991),
correct geometric construction of spatial objects is
emphasized, and in (Molenaar, 1991) rules are listed
which can be used to check the consistency of a
database.
In this study, emphasis is on object-oriented modelling
of geographical entities, that is, definition of
geographical object types in object-oriented databases,
and enforcement of their integrity. Geometrical object
model is presented which can be used in describing the
geometrical structure of real world entities. The
structural features of the object model capture the
geometry of an object, while the procedural features of
the model enforce the structural integrity of an object.
Additionally, a technique is proposed by which user
defined constraints may be specified to a geographical
database.
The concepts of object-oriented programming and
databases are not explained in this paper. The author
things that the concepts such as class, attribute,
method, inheritance etc. are generally quite well
known. An earlier paper by author (Kemppainen &
Sarjakoski, 1990) is a review of concepts of object-
oriented programming and databases, and their
application to the development of geographical
information systems.
In the next section (2), the relationship between
integrity constraints and OO data modelling is
discussed in general. Section 3 briefly reviews
geographical modelling and object-oriented modelling.
Section 4 gives an object-oriented data model for
describing the geometrical structure of geographical
entities. Section 5 is a proposition for geographical data
modelling based on the model of section 4, along with
a study of a possible integrity constraint in geographical
application. The ideas of this paper are summarized
and the future research is outlined in section 6.
1.3 Some definitions
The use of concepts such as geographical information
and geographical database, spatial database,
geographical and spatial objects, etc. is not always very
consistent in the litterature. The meaning of some of
these concepts is explained next, the way they are used
in this paper.
Geographical database is a data storage, in which data
about real world entities is stored. The two concepts,
457
'geographical database' and ‘spatial database' are used
interchangeably in this paper. Geographical entity is a
real world entity, which is represented by a
geographical object class in the database. The notion of
geographical modelling is understood here as a process
of describing geographical entities by describing their
geometrical and thematic properties.
2 INTEGRITY CONSTRAINTS OF A DATA MODEL
By database semantic integrity is meant the techniques
used to keep the database in a consistent state with
respect to the constraints specified on the database
(Elmasri & Navathe, 1989, p.589). In order to prevent
an inconsistent database state, whenever an update is
applied to the database, the semantic integrity checking
part of the system determines if the update will cause a
constraint violation. The term integrity is used to
cover semantic integrity and transaction integrity.
Semantic integrity emphasizes the meaning of the
integrity constraint, while transction integrity is related
to concurrency control and database recovery
techniques. This paper focuses on the semantic
interpretation of the concept.
Integrity constraints constitute a set of rules that say
what the allowable states of individual objects in the
database are, and thus what the allowable states of the
whole database are. In a database system, the
specification of data types is presented in the database
schema as a description of the data content in the
database. This specification of data in itself constrains
the database: when an update operation is performed
in the database, be it insert, delete or change of some
instance of a data type, the instance is constrained to be
correct according to the data definition. This is implicit
integrity constraint of a data model, i.e. constraint that
is included in the schema. For example, when in a
relational schema some relation attribute is specified
as a key attribute, a check is made during database
update operations that no two tuples having the same
key attribute value are inserted into the database. Other
example of'implicit relational model constraints is
referential integrity, i.e. tuple value that is not stored
in the database cannot be referred to. Unfortunately,
many of the relational model implementations do not
enforce this constraint according to (Elmasri &
Navathe, 1989, p.145).
What is not implicit in the data model has to be
specified explicitly, outside the database schema. In
other words, what you can't specify using the schema
constructs, you have to program yourself. For example,
in the information system built up above a relational
database the before mentioned referential integrity
constraints have to be enforced in the application
program. The semantics of the data is thus embedded
in code that is not part of the database, meaning that it
is not managed, that is protected from inconsistencies,
as other data on a real-world entity. The problem is
that several different integrity constraints might be
specified to the database, and it is up to the application
programmer to be sure that no two conflicting
constraints are specified.