User's Manual

Publication design for Adaptive Server Anywhere
Once you understand how to create simple publications, you must think
about proper publication design. Sound design is an important part of
building a successful SQL Remote installation. This section helps set out the
principles of sound design as they apply to SQL Remote for Adaptive Server
Anywhere.
Similar material for Adaptive Server Enterprise
Many of the principles of publication design are the same for Adaptive
Server Anywhere and Adaptive Server Enterprise, but there are differences
in commands and capabilities. There is a large overlap between this
section and the corresponding section for Adaptive Server Enterprise users,
“Publication design for Adaptive Server Enterprise” on page 147.
Design issues overview
Each subscription must
be a complete relational
database
A remote database shares with the consolidated database the information in
their subscriptions. The subscription is both a subset of the relational
database held at the consolidated site, and also a complete relational
database at the remote site. The information in the subscription is therefore
subject to the same rules as any other relational database:
Foreign key relationships must be valid For every entry in a foreign
key, a corresponding primary key entry must exist in the database.
The database extraction utility ensures that the CREATE TABLE
statements for remote databases do not have foreign keys defined to
tables that do not exist remotely.
Primary key uniqueness must be maintained There is no way of
checking what new rows have been entered at other sites, but not yet
replicated. The design must prevent users at different sites adding rows
with identical primary key values, as this would lead to conflicts when the
rows are replicated to the consolidated database.
Transaction integrity
must be maintained in
the absence of locking
The data in the dispersed database (which consists of the consolidated
database and all remote databases) must maintain its integrity in the face of
updates at all sites, even though there is no system-wide locking mechanism
for any particular row.
Locking conflicts must be prevented or resolved In a SQL Remote
installation, there is no method for locking rows across all databases to
prevent different users from altering the rows at the same time. Such
conflicts must be prevented by designing them out of the system or must
be resolved in an appropriate manner at the consolidated database.
102