... database.
Next, the following example sets the InsertCommand property of mySqlDataAdapter to
myInsertCommand:
mySqlDataAdapter.InsertCommand = myInsertCommand;
Setting the UpdateCommand Property ... one wins" concurrency.
To use optimistic concurrency, you have to do the following in your UPDATE or
DELETE statement's WHERE clause:
1. Include all the columns used in the original ... a DataRow using
the BeginEdit() method.
Setting the DeleteCommand Property of a DataAdapter
The following example creates a SqlCommand object named myDeleteCommand that
contains a DELETE...
... by the method
call. In this example, one is returned since one row was added.
Modifying a DataRow in a DataTable
To modify a DataRow in a DataTable, you use the following steps:
1. Set the ... dataTableName is a string containing the name of the DataTable to update. The int
returned by the Update() method is the number of rows successfully updated in the
database.
Going back to the previous ... need to set this to find the
DataRow in the next step.
2. Use the Find() method to locate the DataRow that you want to modify in your
DataTable. You locate the DataRow using the value of its...
... data in which none of that is
necessary, a world in which all pipeline datasets are contained
in the single table that is their destination or their point of origin.
In this world, maintaining ... systems used in education,
finance, health care, insurance, manufacturing, retailing and
transportation—all industries in which the authors have had
consulting experience.
In using these methods, ... along inflow pipelines, and posted transactions
as data destined for some kind of logfile, and as moving towards
that destination along outflow pipelines. So if we can bring
pending transactions into...
... management losing
faith in data warehouse projects. As these large projects fell
increasingly behind schedule and rose increasingly over budget—
something large projects tend to do—the pressure increased
to ... first
restoring them from off-line storage media. After that, the next
step was to realize that there was value, not just in having a par-
ticular set of backup data remain on-line, but also in having ... columns.
In addition, developers were also beginning to create on-line
transaction tables by bringing collections of transactions back
from off-line storage media, transactions that originally...
... point
in time forward to the point in time we are interested in.
But the defining feature of reconstructable methods is not the
movement of data from off-line to on-line storage. The defining ... waiting for the data, and the decisions
delayed until the data becomes available. In an increasingly
fast-paced business world, the opportunity cost of delays in
accessing data is increasingly ... any
point in time between the starting balance and the current bal-
ance by going back to the starting balance and applying trans-
actions, in chronological sequence, up to the desired point.
We...
... by also inter-
nalizing them within their target tables. In this book, we will
show how the use of these internalized managed objects reduces
the costs of maintaining databases by replacing external ... designing and
maintaining data models that must explicitly define temporal
data structures and integrity constraints on them. It also
relieves developers of the burden of designing, writing and
maintaining ... lacking a standard for the PERIOD datatype, we
will continue the practice of defining periods of time in terms of their begin and end
points in time.
Chapter 3 THE ORIGINS OF ASSERTED VERSIONING:...
... just one kind of internalized pipeline
dataset, and the internalization of pipeline datasets can eliminate
a large part of the IT maintenance budget by eliminating the need
to manage pipeline datasets ... perhaps joining data that the production
queries did not have to join, perhaps assembling intermediate
results and then combining those intermediate results in various
complicated ways. In short, ... is
the SQL statement that inserted or most recently altered the data
in that table.
In each table, primary key columns are indicated by under-
lining their column headings. In each table, the italicized...
... objects monitored by
instruments, such as atomic nuclei or automobile engines. The
objects that businesses are interested in generally fall in the
mid-range in terms of being static or dynamic.
Both ... a business user says
that a policy should be deleted, she is (or should be) making a
business statement. She is saying that as of a given point in time,
the policy is no longer in effect. In a ... semantic
constraints on bi-temporal data as that data is maintained,
Asserted Versioning makes queries against its tables nearly as
easy to write as queries against conventional tables.
In the final section...
... truth.
Temporal Integrity Constraints
The three integrity constraints in relational theory are entity
integrity, referential integrity and domain integrity. Entity integ-
rity insures that the ... present an in- line notation for single asserted
Managing Time in Relational Databases. Doi: 10.1016/B978-0-12-375041-9.00006-6
Copyright
#
2010 Elsevier Inc. All rights of reproduction in any form ... business
data in a row is no longer in effect. In other words, the date
which is one clock tick past the last date on which the business
data in a row is in effect.
Asr-beg. Assertion begin date....
... within
shared assertion time, even a single effective-time clock tick
included in another version of that object already in the table.
Most physical transactions against bi-temporal tables are
inserts. ... are known. Perhaps in another insurance company,
all policies stop being in effect at the end of each calendar year.
In that case, instead of an effective end date of 12/31/9999 in
rows 1 and 3, ... with, the possibility of misinterpretation,
on the maintenance side of things, is minimized.
But what about the query side of things? What about looking
at the data in an asserted version table?...
... SCENARIO 153
PART
3
DESIGNING, MAINTAINING
AND QUERYING ASSERTED
VERSION DATABASES
Chapter Contents
8. Designing and Generating Asserted Versioning Databases 167
9. An Introduction to Temporal ... referential integrity on those tables.
If ERwin is used as the data modeling tool, then a set of ERwin
162 Part 3 DESIGNING, MAINTAINING AND QUERYING ASSERTED VERSION DATABASES
Note that, like all temporal ... of “filling in the gap” between those two episodes,
merging them into a single episode. In this chapter, however, we
assume that our temporal insert creates a new episode.
An episode begin date...
... Table.
Chapter 8 DESIGNING AND GENERATING ASSERTED VERSIONING DATABASES 173
8
DESIGNING AND GENERATING
ASSERTED VERSIONING
DATABASES
CONTENTS
Translating a Non-Temporal Logical Data Model into a Temporal
Physical ... that each business key
points to one and only one object by defining a unique index
on it. Nor can we simply extend the scope of the index by defin-
ing a unique index on the business key plus ... that
correspond to rows in a conventi onal table of persistent objects.
164 Part 3 DESIGNING, MAINTAINING AND QUERYING ASSERTED VERSION DATABASES
In this chapter, we focus on index design, although...
... significantly reduces the work involved in maintaining
temporal data, and will eliminate the errors that would otherwise
inevitably happen as temporal data is maintained.
Using a framework like the ... taxonomy in terms of its topology. On a line representing a
timeline, we can place a line segment representing an episode.
We can also remove a line segment from that line. Given a line
segment, ... archives at
Information_Management.com (formerly DM Review), with links listed in the
bibliography.
188 Chapter 8 DESIGNING AND GENERATING ASSERTED VERSIONING DATABASES
Typically, a single standard...
... will continue on, and will
update the database. In doing so, it will begin by preserving the
original state of the version or versions about to be changed,
doing this by withdrawing them into past ... shown
in Figure 10.3.
Episode C, as we have labeled it, is a single-version episode.
Of
course all
episodes, when initially created, are single-version
episodes. Using the in- line notation introdu ... or a referential
integrity constraint, it will reject that transaction. In response,
the AVF will stop processing the temporal transaction, undo
Managing Time in Relational Databases. Doi: 10.1016/B978-0-12-375041-9.00010-8
Copyright
#
2010...
... temporal
deletes as well.
In addition, instead of requiring the user to write trans-
actions in a proprietar y format required by an Application
Programming Interface (API) we were developing, the AVF
now ... episode.
Splitting an Episode
{Splitting} an episode is a little more interesting than either
{shortening an episode backwards} or {shortening an episode for-
wards}. The reason is that, from the point ... resulting episodes, {splitting} is {shortening an episode
backwards}, while from the point of view of the later of the two
resulting episodes, it is {shortening an episode forwards}. From
the point...