2.1. Conceptual dependence in database structures
Fig. 1 illustrates conceptual dependence in a relational
database. Standard design practice has been followed, translating
the entity types into tables; each is given a unique
identifier, and relationships are converted into foreign keys.
The design exhibits conceptual dependence because the table
structures mirror the structure of the entity types.
For comparison, Fig. 2 illustrates a documentoriented
database. The database structures are collections;
they map to entity types product type and customer
from the conceptual model. This mapping couples the
conceptual model with the database structures, and
therefore some conceptual dependence exists. However,
some aspects of the model are not represented in the
database structure: they include the attribute types and
relationships, which are stored only as data (the DBMS
does not interpret the data in each document; this is up
to the application programmer). Also, the database has
no structural element representing the entity type
purchase, since purchases have been aggregated into
the customer data.
Because elements of the conceptual model are implemented
as data rather than as database structure, different
documents in the same collection can have different
implicit conceptual models. For example, two purchases
could have different attributes from one another.
As a final example, Fig. 3 illustrates a graph database
[36]. Although there is a strong correspondence between
the entity types and the nodes and arcs in the database,
there is no explicit schema. Each node can be tagged with
a type, but the database system does not interpret or
validate the tags. Therefore the database contains no
structural elements corresponding to the conceptual
model, and so it does not exhibit conceptual dependence.
As before, the database can implement many conceptual
models simultaneously and the programmer must
ensure that the code implements the implicit conceptual
schemas correctly.
The three examples above illustrate varying degrees of
conceptual dependence in relational, document and graph
database structures. Other types of database are amenable
to a similar analysis. For example, in hierarchical and
network databases, there is strong schema enforcement
and, therefore, strong conceptual dependence [37,38]. On
the other hand, key-value data stores lack structure corresponding
to conceptual models, and therefore do not
exhibit conceptual dependence [39].
We can also apply this analysis to non-database data
storage methods. In spreadsheets, for example, there is no conceptual dependence. A spreadsheet contains data in rows
and columns but no structural elements corresponding to
the data's conceptual model; any data can be stored, with
any implicit conceptual structure