Hi-
I'm sorry you've encounted issues with our DBXL documentation.
From the product page on Qdabra.com, we offer a list of available documents: http://www.qdabra.com/en/products/docs/DBXL26.aspx
We also offer installation instructions, a Getting Started guide and other documents from the default.htm page which comes up after installation.
We also offer free DBXL training every few months to help DBXL license owners.
Let us know how we can improve these going forward.
--
In the example database mapping shown in the Getting Started document, we show how to map the DBXL::DocID into a SQL column, and this serves as the key. That's the easiest scenario possible. Since every SQL table requires a key, then let's allow DBXL to control that. Module 2 of the DBXL training also covers this scenario.
In that same Module 2 of the DBXL training, in the section "Add a child table in SQL", we show how to set up a SQL autoincrement key, and we do not map the DBXL::DocID as the key.
The document "How to create database mappings in DBXL" also covers both of these scenarios. It has a section called "When to use the key field in database mapping".
--
Now to address your specific questions:
DC Forms:Q: When mapping to database tables, does DBXL require a column for its sole use in each table being mapped so that DBXL may generate its own key identity value in order to maintain the relationship with the corresponding copy of the data in DBXL's internal database? If so, what are the requirements for this column (e.g. integer, not designated as an identity column, designated as a primary key)?
No. A key is necessary, but the key can be defined:
(a) in the SQL table (such as an autoincrement identity column), or
(b) in the DBXL database mapping.
In scenario (a), DBXL does not maintain the key (SQL does).
DC Forms:Q: Does DBXL support NULL values for mapped fields?
This is not up to DBXL; it's up to the design of the SQL table. When designing the SQL table, you can determine which columns allow NULLs.
A column used as a key can never be NULL.
DC Forms:Q:
What is the technical definition of "shred", "shredding", and
"reshredding"? Here in Washington, DC shredding means destruction of
documents.
When you reshred, DBXL removes the data in SQL and immediately regenerates it using the latest data available in the XML forms.
DC Forms:Q: In the DBXL Database Accelerator Administration Tool
(DAAT) under a document type's database configuration database map,
what is the purpose of the Key column? The field help in DAAT states a
database identity should be used, but you state an auto increment
identity key should NOT be mapped, and therefore not used.
Every interaction with a SQL table requires a key. Otherwise, the tool interacting with SQL won't be able to identify one record from the other. The key keeps the records unique.
Therefore, the interaction between DBXL and SQL requires a key, so that DBXL can uniquely identify the records stored in SQL. The key can be defined in SQL (autoincrement) or it can be mapped using the key checkbox in the Database mappign tab. It has to be one or the other.
Hope this helps.