| |
|
Objectives
For applications working with databases, there exists a problem of versioning,
verifying and modifying DB schemas. In terms of this project it was necessary
to design a flexible mechanism allowing to execute all the above functions.
This mechanism is of a special importance for extensible .Net applications,
i.e. for those ones meant to be extended with new functionality. Supposing that
a new version
|
|
of a system or a module with additional functionality is produced. This results
in the DB schema modification. How should these modifications be delivered to
the Customer who uses this system? How should the required DB schema
modification be made so that it would not corrupt the Customer's information?
How is it possible to verify whether the Customer has not violated the existing
database structure?
|
| |
|
Results
The project resulted in the software product, impementing the following
functions:
|
creating the database;
|
|
verifying the database. As a result, the
|
|
program determines if there have been any modifications of the
database structure performed or not;
|
|
modifying the database.
|
|
|
|
| |
|
Technical peculiarities
The system was implemented on the Microsoft.Net platform. It uses ADO.NET
technology to access a database and works with any versions of MS SQL Server,
MSDE, and MDB. The following operation principles may also be mentioned as key
technical peculiarities of the product:
|
|
|
the special XML file is shiped with the
.Net application. This file contains the DB schema description as follows:
|
|
the names of tables and fields, field types, etc. Also, this file may describe
relationships between tables, constraints and other information;
|
|
the verifying and DB-modifying mechanism (DBUpdater) gets information from the
XML file. DBUpdater can create a database on the basis of this information;
|
|
DBUpdater gets the target DB schema description from the XML file and checks
schema of the existing DB against that target one. As a result of the check
operation DBUpdater can modify the existing database so that it matches the
target schema described by the XML file.
|
|