Logical data independence, on the other hand, has
arguably gained less traction and realised fewer benefits.
Theoretically it is implemented using SQL views, although
wrapper classes can provide a similar effect [26,27]. The idea
is to separate the application-level view of data from the
database-level view, so that changes in the latter do not
affect the former. But developers often violate the principle
of logical independence by creating structures in code that
closely follow table structures [27]. In any case, neither SQL
views nor wrapper classes provide effective protection. This
is because the goal of logical data independence, to insulate
systems from changes to the database structure, contradicts
the major reason for changing the database—to allow systems
to behave differently. Figs. 1 and 5 illustrate this situation; a
simple change is made to the schema which allows the
application to handle multiple products in a single purchase.
In situations like this, insulating the application from change is
futile, since the program will need to be modified to meet the
requirement in any case [28].
Various other ways have been proposed of making programs
less dependent on conceptual structures. One is to
eliminate tables altogether, and instead to store only attribute
name-value pairs (e.g. [29,30]). Latterly, some NoSQL databases
have adopted a similar approach. Graph and document
database systems are called “schemeless” because they do
without the explicit, fixed conceptual schema required by
relational database management systems. Instead, any data
can be added to the database, and it is up to the programmer
to write code which will retrieve and interpret the data
correctly [31].
The schemeless approach reduces the level of explicit
coupling between conceptual model and database structure,
but also places more onus on the developer to
maintain the underlying conceptual model. Embedded in
code, the model becomes implicit rather than explicit. In
this respect the NoSQL approach is reminiscent of predatabase
techniques where the programmer was responsible
for file structures [25,32].
1.3. Conclusion
Innovative approaches to data storage receive widespread
interest. However, the relational model is predicted
to remain stubbornly dominant in end-user business
and government organisations [33]. Because of this, and
because logical data independence has provided only
limited benefits, change to conceptual models still necessitates
costly maintenance work for many organisations.
The remainder of this paper presents an alternative
approach to the treatment of conceptual models, intended
to help reduce the high cost of change. It is based on the
principle of conceptual independence, and aims to reduce
the coupling between conceptual models and software
structures.
The paper is organised as follows. Section 2 looks in
detail at conceptual dependence and its side-effects.
Section 3 defines conceptual independence, and explains
how it can be used to construct adaptive information
systems (AIS). Section 4 formally describes how AIS can store
data without conceptual dependence. Section 5 discusses
implementation. Section 6 offers conclusions and discusses
further research.