XML документите сами по себе си представляват бази данни. Вярно, няма някой неща, които сме свикнали да виждаме в базите данни и които са важни за тяхното добро функциониране - индексиране, заключване на части от базата данни, транзакции и т.н.
Въпреки това XML документа си е база данни, защото това, което има в него, са намираеми по определени признаци данни. Има си и езици като XPath и XQuery, с чиято помощ да става това намиране.
XML базите данни обаче са нещо страхотно. Доста нови са като продукти и съответно нямат още доброто име на стабилните и отдавна познати релационни бази данни. Но и това ще стане :)
Това, което те правят, в най-общи линии е проста работа:
съдържат XML документи
позволяват търсене в тези XML документи с помощта на някой език за търсене (най-често XPtah и XQuery или части от тях)
позволяват добавяне на данни на определено място в XML документите
позволяват промяна на данни в XML документите
и, разбира се, позволяват изтриване на определени данни от тия XML документи
Това, че данните ще ги индексират по някакъв начин, не го вкючих в горното изброяване, защото го смятам за спомагателна функция.
Т.е. XML базите данни са си най-нормални бази данни. Това, което им е различното, е структурата на данните в тях. И най-хубавото за XML хората е, че тази структура не е нищо друго освен XML документ. Трябва повече време да отделя да напиша какво мисля за предимствата на това.
В момента разглеждам XML базата данни XPriori NeoCore XMS (не е хубаво, че наричам продуктите бази данни, те са си системи за управление на бази данни или DBMS - Data Base Management Systems)
Ще разгледам със сигурност и други и ще опиша впечатленията си за всяка от тях в тази рубрика