Title: Exporting Databases in XML DTD A Conceptual and Generic Approach
1Exporting Databases in XML DTDA Conceptual and
Generic Approach
- Philippe Thiran
- Computer Science Department
- Technische Universiteit Eindhoven
- The Netherlands
2Exporting Databases in XML
- Current Situation
- XML as the standard for publishing and exchanging
data over the Web - Data recorded and maintained in existing
Databases - Heterogeneous databases different data models
- Limitation of database models
- Database schema incompleteness (implicit/hidden
structures) - Explicit and implicit interconnections among
entities -
Oracle V5 Model
(no primary and foreign keys)
3Exporting Databases in XML
- Migrating existing databases to XML
- Principle
- XML description in DTD
- Bottom-up Approach
- Exploiting as much as possible the meaning of
source data - Method and Tool
- Method
- Not limited to any specific database model
- Capturing the explicit and implicit structures
and interconnections of the database schema - Tool for supporting the method
4Exporting Databases in XML
- Schema Representation
- Database models and DTD
- Schema Manipulation
- Database schemas and DTD
5Exporting Databases in XML
- Schema Representation
- Expressing database schemas and XML in terms of
GER - Extended object-entity relationship data model
- One rich and expressive model able to express
data schemas whatever their operational data
models - Operational database models like IMS, Relational,
OO - XML-family models XML DTD or XML Schema
6Exporting Databases in XML
- Schema Representation
- Expressing XML in terms of GER
- DTD expressed in terms of GER
- DTD concepts
- Hierarchical organization
- Sequence organization
DTD Concepts GER Interpretation
Element types Entity types
Hierarchy of element types (root) entity types, relationship types, father roles
Content type ELEMENT Relationship types
Sequence organization (order of elements in the sequence) Seq groups
Occurrence operators on sub-elements ?, , Role Cardinalities
IDREF, GID attributes IDREF, GID groups
Attribute modifiers Attribute cardinalities
7Exporting Databases in XML
- Schema Representation
- Expressing XML in terms of GER
lt!ELEMENT Catalog (Order, Product)gt lt!ELEMENT
Order (Customer, Date, Total?, detail)gt lt!ATTLIST
Order OrderID ID REQUIREDgt lt!ELEMENT Customer
ANYgt lt!ELEMENT Date (PCDATA)gt lt!ELEMENT Total
(PCDATA)gt lt!ELEMENT Detail (Quantity,
Amount)gt lt!ATTLIST Detail Product IDREF
REQUIREDgt lt!ELEMENT Quantity (PCDATA)gt lt!ELEMENT
Amount (PCDATA)gt lt!ELEMENT Product
(Supplier)gt lt!ATTLIST Product Reference ID
REQUIRED Label CDATA IMPLIED UnitPrice
CDATA REQUIREDgt lt!ELEMENT Supplier ANYgt
8Exporting Databases in XML
- Schema Manipulation
- Transforming XML DTD within GER
- Schema transformations defined on GER
- Reverse transformations, semantics-preserving
transformations - Transformation operators
- Standard transformations
- For manipulating schemas expressed in operational
database models - Example transforming an entity type into an
attribute - DTD-specific transformations
9Exporting Databases in XML
- Schema Manipulation
- Transforming XML DTD within GER
- Standard transformations
- For manipulating schemas expressed in classical
structured models - Example of a semantics-preserving transformation
transforming an relationship type into a entity
type
RT-ET Transforming a relationship type into an entity type. Inverse ET-RT
10Exporting Databases in XML
- Schema Manipulation
- Transforming XML DTD within GER
- DTD-specific transformations (example)
- Suited to derive a DTD from a structured data
schema
DTD-RT-to-HIER Transforms a one-to-many (or one-to-one) binary relationship type into a hierarchical relation. The 1-1 role becomes the child role. Inverse DTD-HIER-to-RT
Create-SEQ-GROUP Adds a seq group to an entity type. That group contains the child roles played by its children (in an aleatory order). Inverse Del-SEQ-GROUP
11Exporting Databases in XML
- Converting (legacy) databases into DTD
- Exploiting as much as possible the meaning of
source data - Capturing the explicit and implicit structures
and interconnections -
12Exporting Databases in XML
- Exporting Databases
- Bottom-up approach (from the source to the
target) - Semi-automated 4-step method
- Extraction of the database schema (automated)
- Extraction of the explicit structures and
constraints - Semantics recovering (semi-automated)
- Recovery of the implicit structures and
constraints - Model translation (semi-automated)
- Translation of a schema expressed in the GER into
a schema expressed in the GER DTD - Use of the relations among entities
- DTD exportation (automated)
- Generation of the DTD document
13Exporting Databases in XML
- Exporting XML
- Reverse Engineering
- Recovering of the conceptual schema of an
existing database - Augmentation of the knowledge about the data
semantics - Database reverse engineering process (DB-MAIN)
- Elicitation of hidden structures and constraints
Database Schema
Conceptual Schema
Schema transformations
14Exporting Databases in XML
- Exporting XML
- Model Translation
- DTD-specific transformation
- Non-deterministic process
- It requires some design choices
- The user-inputs might have consequences on the
properties and the semantics of the resulting
schema - 5-step transformation process
- Schema preparation
- Hierarchy structure creation
- Constraint relaxation
- Attribute representation
- Ordering definition
15Exporting Databases in XML
- Schema preparation
- Hierarchy structure creation
- Constraint relaxation
- Attribute representation
- Ordering definition
- Exporting XML
- Model Translation
- Schema preparation
- Removing invalid constructs
- Multivalued/compound attributes
- Complex relationship types
Conceptual Schema
16Exporting Databases in XML
- Exporting XML
- Model Translation
- Hierarchical structure creation
- Schema preparation
- Hierarchy structure creation
- Constraint relaxation
- Attribute representation
- Ordering definition
- Entity types, relationship types are transformed
into a tree - by electing natural roots (significant concepts)
- by resolving father conflicts
- by breaking cycles
- by (eventually) adding a unique root
17Exporting Databases in XML
- Schema preparation
- Hierarchy structure creation
- Constraint relaxation
- Attribute representation
- Ordering definition
- Exporting XML
- Model Translation
- Constraint relaxation
- Role cardinalities extension
- Gid and idref groups creation
18Exporting Databases in XML
- Schema preparation
- Hierarchy structure creation
- Constraint relaxation
- Attribute representation
- Ordering definition
- Exporting XML
- Model Translation
- Attribute representation
- Ordering definition
19Exporting Databases in XML
- CASE Support DB-MAIN
- Model Expression
- Database models and DTD
- Model Translation
- DTD-specific transformation
-
20Exporting Databases in XML
- CASE Support DB-MAIN
- Basic Features
- Dedicated to database application engineering
- Based on the GER
- Includes transformation operators, reverse
engineering processors and schema analysis tools - Extraction facilities (SQL, Codasyl, RPG, IMS,
etc.) -
21Exporting Databases in XML
- CASE Support
- -to-DTD Transformation
- DTD-Specific transformations
- Assistant
22Exporting Databases in XML
- Conclusions
- Rich and expressive data model
- Translating semantics of both database and XML
models - Non-deterministic aspect of the model translation
- The same database schema can lead to a large set
of equivalent XML structures - CASE Support (application)
- Automatic production of XML documents
- that comply with the DTD that has been computed
- based on the schema transformations used to
convert the database schema in XML DTD