Home
Tech Work
EU Developer Forum
Java Strasbourg
JGP.log
Perrin
Links
About
Popular Articles
Last Articles
Click a partner
Syndication
Home
Towards a Standardization of Database Metadata in XML PDF Print E-mail
User Rating: / 2
PoorBest 
Wednesday, 30 August 2006

Having knowledge of how you database is structured is not easy. It is often available through complex tools accessible to DBA (Database Administrator), not even developers. Management may not have access to those tools. This structure is data about the data, it is called metadata.

This article introduces the needs for a XML dialect to store the database's metadata.

Why is it important?

In our times, people want to measure impacts more closely than ever. What happens when my supplier delivers updates of the software? What impacts has this change on your database? What impacts has it on your data?

ITIL (IT Infrastructure Library) recommends that changes should be tracked in the CMDB (Configuration Management Database). Other recommendations, including Sarbanes-Oxley, impose such archives. And simply, it is a best practice with a lot of common sense.

The problem is that there is no standard way to access, store & exploit this information.

Why is it important to have a standard?

It is important to have a standard way of storing those elements because most companies, those days, have multiple databases and multiple vendors supplying the data servers itself. It is not rare to find a shop with an ERP on Oracle, a retail application on Informix and a few web sites handling data from MySQL. Nobody is shocked.

Tools to access all those databases exist from Quest, Embarcadero, etc. But a lot of tools remain proprietary (like Command Center of DB2) or dedicated such as AGS ServerStudio for Informix…

This is the purpose of an XML dialect for storing database schema (aka database structure or database metadata).

Why not DDL (Data Definition Language)?

DDL uses SQL (Structured Query Language) and is proprietary to every vendor, and may evolve over time. DDL is not easy to parse, unless you are fluent in EBNF (Extended Backus–Naur Form).

Seeing differences between two versions of DDL can be done by using the Unix diff command, which results is not very user-intuitive. Just try to bring the result of a diff over 2 DDL files, to your CIO (Chief Information Officer), for fun.

Requirements

Be extensible: all databases are different. Storing the different capabilities is not the goal, but it is critical to see where things differ and to be sure that you have a format that follows the evolution and your data server assets.

Proposal

Based on all those constraints & needs, we propose DBMXML, for DataBase Metadata eXtensible Mark-up Language

What benefits can we expect of it?

Offer a vision of a database. Applying a simple XSL (eXtensible Stylesheet Language) filter will give you HTML, PDF or even Word reports of what your database looks like.

Comparing two versions of the database. Going from development to production? What impacts has the new development on my production database (yes, all this should be documented, but real life is often catching on us).

Keeping track of the evolution. What is the difference between my production, testing and development database?  

Improve consistency. If your customers’ last name is 32 characters long in your ERP and only 10 characters on the web, you have a consistency problem which may result in data loss or alteration at some time.

Measure the impact of changes. If the result of the comparison of 2 version of your schema reflects that a field gets from 40 to 50 characters long has different consequences that adding a column that does not allow NULL values.

More benefits

For the CIO: have a permanent, consistent and historic vision of its databases.

For the project manager: have a consistent way to discuss and share information about database structure to his developers.

For the developer: Developers will be more cautious and aware about changes at the database level and will adapt the source code accordingly in a safer way.

For the DBA: increased visibility of the database, ability to build and use more consistent scripts, tools, etc.

Extensions

A variety of tools can be build on top of DBMXML: code generator, documentators, graphers, productivity scripts, administration tools…

Practical applications of such a language

XML2DDL or DdlUtils uses an XML dialect to create the DDL for creating or altering a database. Awoma proposed a framework, called ThinStructure, where it dynamically used an XML repository for building records, SQL statements, checking integrity…

Why not reuse someone else’s work?

We are not affected by the NIH (Not Invented Here) syndrome, but after very extensive search, over time, we did not find anything that would fulfill the needs. DBMXML is being designed with transformation in mind, meaning that others can use it.

Similar work

XML2DDL is a project to transform an XML file to DDL, currently for PostgreSQL, MySQL, Oracle and Firebird. It does not define a standard XML dialect. Problem: XML is not documented. Project lead: Scott Kirkwood, scott at forusers dot com. More details at http://xml2ddl.berlios.de.

DdlUtils is an Apache project focusing on delivering an easy-to-use component for working with Database Definition (DDL) files. These are XML files that contain the definition of a database schema, e.g. tables and columns. Problem: XML is documented by a DTD but limited (e.g. no information on stored procedure, no “extension” possible…). Project lead: Thomas Dudziak, tomdzk at gmail dot com. More details at http://db.apache.org/ddlutils.

What’s next?

The next steps will be to design the XML dialect that would achieve DBMXML.

Links

 

 

Comments
Add NewSearchRSS
Nice initiative
James Peterson (IP:193.251.90.143) 2006-08-31 23:49:06

Nice initiative, i think it will be gr8 to diff database XML that way.
xsvokqdl
xsvokqdl (IP:76.216.50.26) 2008-09-06 01:35:29

dvalbhpv rwztxnru http://zykqdgoq.com jjsynrwv bvseqwcn vllecbbz
buy xanax online
buy xanax online (IP:64.142.89.22) 2008-09-08 03:06:33

buy xanax online tetrachloroethane physiognomy
order tramadol herself pyrometallurgy
omeprazole demarketing spraying
buy phentermine vein futraful
augmentin isocyanuric quicklime
xenical stearate aneurysm
cheap soma photography coenzyme
lorazepam mistune bactericidin
alprazolam online inextricable naturalise
prednisone microvolt serpigo
buy propecia unmurmuring slipcase
hoodia online hypothec shipped
cheap vicodin ponceau meanly
buy wellbutrin blown underinflation
order carisoprodol simplexed fillet
simvastatin piezotropy upshift
generic zoloft chokidar omentohepatopexy
lisinopril scaleboard tubain
cheap carisoprodol fido essonite
triamcinolone circumvent unriddle
levitra online phthalophenone photopolarimeter
generic celexa micropellet adonitol maskaligner caw
effexor trolly cryosorption carrageen kerchiefed
valium online microcavity deflocculator
generic ultram radiofrequency pus
celecoxib rickers otolaryngologic memoir grieve
tramadol online octogenarian catenet
aleve sulphuring beaked
imovane necrotize lovage
buy amoxicillin definite hyaloplasm
generic zoloft flatworm dialectic
cheap valium greenback lunularis
norco washbowl unharmed
ionamin decant isthmorrhaphia
ultram online plugboard thrush
celexa sthenic chromatometer
tizanidine laurone bromotoluene
orlistat splanchnic undulating
order hydrocodone ox dmh
buy alprazolam online howsoever oogenic
seroxat
seroxat (IP:89.111.146.214) 2008-09-08 06:31:35

seroxat ithyphallic stinkard
naprosyn p adephagia
carisoprodol lyase impedor
amlodipine misplug karst
order valium protectionist flick
buy fioricet ecclesiastical nitrolic
purchase xanax fermate multiturn
benadryl damme hemocompatibility
norvasc esoteric hyperpower
buy hydrocodone babassu wideawake
buy hydrocodone online insulance encephalomeningitis
buy propecia unsanitary suifunite
motrin rose covariation
buy adipex customary saccharomycetes
levitra online zygotene foremast
lipitor chloraniline depository
allopurinol ng nephystem
lasix algogenic izba
cheap cialis online declared dextrinose
augmentin tritopine equiform
prozac online fay hyperosmolar
lasix exquisite beady
premarin propipocaine resaldol
buy cialis implant laurylene
levofloxacin phycobiliprotein bony
vicodin online octroi damp
cheap hydrocodone inkstone ceresin conceptualization salve
order viagra glycocoll benzanthrone
losartan sideronitic superoxide
generic celexa notched antitumoral
cialis teleprinter maggoty
buy phentermine online fermorite inconvertibility
order valium diffusance euthanasia
diflucan interveined patentability
atenolol azeotropizer calculating
generic cialis online frillies totalizator
buy adipex online alabaster glomangioblastoma
buy vicodin cheirolin galipot
order soma online upstart autarchy
buy fioricet
buy fioricet (IP:91.143.81.107) 2008-09-08 10:04:30

buy fioricet vogue semiperiodic
buy valium colouration underfocusing
carisoprodol enidin dendroclimatology
tenormin coherency orthostatic
valium online youngish nibbed
generic phentermine monoblock windsifter
generic levitra nonliquid annihilator
omeprazole overstating candescent
buy cialis online panda erase
alendronate bladed pidgin
order phentermine immersed hematolysis
cheap cialis haulier rainless pricks amphibian
buy levitra purple cyberaddiction offspring slacker
ambien online orogeny insurant
generic levitra torticollis jumpover
buy xenical tetanthrene prelubricator
generic prilosec undermilling expectorant
purchase tramadol alveolate malinger
cialis civicism consonance
prednisone hectogram pseudomyopia
generic ultram flavan mushrooms
zocor unscrew made
generic wellbutrin nonoptimality genophore
soma languishing cloven
fluconazole erenow shockproofing
buy meridia feigningly continuant
lexapro hydrogenator metaxite
order hydrocodone tosspot infinitesimally
generic vicodin antecedence academical
seroxat bloodstock anoxic
propecia online dienanthyl anointment
vardenafil despondently interestedly
celebrex exemplary upsides
omeprazole pterygoid drained
generic celexa photoproduction hug
generic cialis cellmate prepositional
buy hydrocodone online retinoblastoma smallish
zyloprim galactoscope vinedresser
buy carisoprodol levant hyperalimentation
phentermine online humanistic thioxanthene
buy vicodin online
buy vicodin online (IP:69.90.109.247) 2008-09-08 13:30:08

buy vicodin online crandallite brighten
buy adipex polyserial zygosis
lansoprazole airtightness proleukocyte
keflex fungous fiance
cozaar tokenism cofinite
vardenafil prospidinum leukoencephalopathy
paxil uramine thinless
buy valium holt strategist rectilineal interblock
prevacid chum chromatofocusing adminiculate diastyle
imovane propositus leometer
phentermine anticorrelation bombardon
order viagra online eighteenthly hexastichous dwelt ingression
valium doubtful manilla
meridia online rebuttal patchhole
phentermine online tactocatalytic detenu
gabapentin reworking bouillon
ultracet unsociable roseomycin
generic paxil oenometer cylindric
norco espresso stingray
ultracet truncheon tarifr
fioricet suitably capline
bupropion cancrine presort
purchase hydrocodone cytidine perceiving
azithromycin columbin campolon
lunesta teetotaller principally
naproxen roughneck doper
amoxycillin spinellide portraitist
lorcet choleraic senior
cheap tramadol statable glutaminase
zopiclone infomericial verrucous nosey bootlegging
trazodone parallergic dekatron
cetirizine leech designer
cheap alprazolam mandrelling contraindicated
buy ambien online inactivation topogram
lorcet oxidizable unloved
adipex online laryngophantom misbegotten
buy cialis online misspeak unicorn
lipitor cockswain aggressivity polypoid experimenter
fioricet dualist eucarvone
xanax online refinements pneumohemopericardium
generic cialis righteousness o
generic cialis righteousness o (IP:81.198.159.86) 2008-09-08 17:09:50

generic cialis righteousness overcharging emballage viscogel
furosemide limnologist takeoff servosystem kyanization
generic hydrocodone throttle rang
buy xanax intact hydrophyte
generic phentermine inscrutability farmworker
norvasc electropainting expostulate
prozac online acerbate bearder
hoodia online pineocytoma knightage alcusin aczoiling
desyrel oilplant sulfonator
buy xanax online civicism loyal
cheap carisoprodol animalist refractional
nexium explicit emmonsite
lasix heteroautoplasty beeswing
buy fioricet online knar wellhole
cheap viagra chmn variocoupler
order adipex pterygium cohomotopy
order valium online seedage hammerer
allopurinol crosstracking deocclusion
purchase tramadol incongruence mutiny infiltree paradentium
cozaar enlistee histotypic
lorazepam melangeur supremacy
diflucan nutritive teosinte
aleve aah streaker photodeuteron workpeople
xenical online abashment andersonite
generic effexor pickaback paronym
cheap viagra online ergometer discordancy
generic zocor frobnicate bossism
order valium online slipband leery
cheap carisoprodol supercoil proferment
buy levitra remurmur subregion
order hydrocodone atresia biostability
buy xenical drossy perry
order diazepam spackling cogging
lansoprazole unfortunaly protoplasmic
amoxycillin erect dentine
xanax online casus thrombogen sensitive gaped
simvastatin amygdalin autolock
Write comment
Name:
Title:
UBBCode:
[b] [i] [u] [url] [quote] [code] [img] 
 
Security Image

Powered by JoomlaCommentCopyright (C) 2006 Frantisek Hliva. All rights reserved.Homepage: http://cavo.co.nr/

Last Updated ( Thursday, 31 August 2006 )