XML so'rovlari tillari - Mundarija kirish mavzu

118
modellashtirilgan bo'lishi kerak va shu bilan virtual XML hujjatlari
bo'yicha so'rovlarni amalga oshirishga imkon beradi.
XQuery yordamida jadval asosida yoki ob'ektga
nisbatan xaritalashdan
foydalanish mumkin. Agar jadvalga asoslangan xarita ishlatilsa, har bir
jadval alohida hujjat sifatida ko'rib chiqiladi va SQL-da bo'lgani kabi
so'rovning o'zida jadvallar (hujjatlar) o'rtasida birlashtiriladi. Ob'ektga
nisbatan xaritalash ishlatilgan bo'lsa, jadvallar ierarxiyalari bitta hujjat
sifatida
ko'rib
chiqiladi
va
qo'shilishlar
xaritalashda
ko'rsatiladi. Ko'pgina amaliy dasturlarda jadvalga
asoslangan xaritalar
relyatsion ma'lumotlar bazalariga nisbatan qo'llaniladi, chunki ularni
amalga oshirish sodda va SQL foydalanuvchilariga tanishroq ko'rinadi.
XPath yordamida bir nechta jadvallar bo'yicha so'rovlarni bajarish uchun
ob'ektga nisbatan xaritalashdan foydalanish kerak. Buning sababi, XPath
hujjatlarni birlashtirishni qo'llab-quvvatlamaydi. Shunday qilib, agar
jadvalga asoslangan xarita ishlatilgan bo'lsa, bir vaqtning o'zida faqat
bitta jadvalga murojaat qilish mumkin edi.
Native XML ma'lumotlar bazasida ma'lumotlarni saqlash
Ma'lumotni XML ma'lumotlar bazasida saqlash mumkin. Buning
bir necha sabablari bor. Bularning birinchisi, sizning ma'lumotlaringiz
yarim tuzilgan bo'lsa. Ya‟ni,
u muntazam tuzilishga ega, ammo bu
struktura o'zgaruvchan bo'lib, uni nisbiy ma'lumotlar bazasida xaritalash
natijasida nol qiymatlarga ega bo'lgan ustunlar sonining ko'payishi
(bo'sh joyni isrof qiladigan) yoki ko'p sonli jadvallar (samarasiz)
bo'ladi. Yarim tuzilgan ma'lumotlar ob'ektga yo'naltirilgan va ierarxik
ma'lumotlar bazalarida saqlanishi mumkin bo'lsa ham, siz uni XML
hujjati shaklida mahalliy XML ma'lumotlar
bazasida saqlashni
tanlashingiz mumkin.
Ma'lumotni XML ma'lumotlar bazasida saqlashning ikkinchi
sababi
bu
izlash
tezligi. Tarkibiy
XML
ma'lumotlar
bazasi
ma'lumotlarning qanday saqlanishiga qarab, ma'lumotlarga nisbatan
ma'lumotlarga nisbatan tezroq olinishi mumkin. Buning sababi
shundaki, mahalliy XML ma'lumotlar bazalari tomonidan ishlatiladigan
ba'zi saqlash strategiyalari butun hujjatlarni jismonan birga saqlaydi yoki
hujjat qismlari o'rtasida jismoniy (balki mantiqiy) ko'rsatkichlarni
ishlatadi. Bu hujjatlarni birikmalarsiz yoki jismoniy birikmalar bilan
olish imkonini beradi, ikkalasi ham relyatsion ma'lumotlar bazalarida
ishlatiladigan mantiqiy birikmalarga qaraganda tezroq. Masalan:
119
Relatsion ma'lumotlar bazasida bu to'rtta jadvalda - SalesOrders,
Elements, Customers and Parts - saqlanishi kerak va hujjatni olish uchun
ushbu jadvallarda birlashtirish kerak bo'ladi. To'liq XML ma'lumotlar
bazasida butun hujjat diskdagi bitta joyda saqlanishi mumkin, shuning
uchun uni yoki uning bir qismini olish ma'lumotlarni
olish uchun bitta
indeksni qidirishni va bitta o'qishni talab qiladi. Aloqador ma'lumotlar
bazasi to'rtta indekslarni qidirishni talab qiladi va ma'lumotlarni olish
uchun kamida to'rt marta o'qishni talab qiladi. Bunda yaqqol kamchilik
shundaki, ortib borayotgan tezlikni faqat diskda saqlangan tartibda
ma'lumotlarni olishda qo'llash mumkin. Agar siz ma'lumotlarning
boshqacha ko'rinishini, masalan, xaridorlar ro'yxati
va ularga nisbatan
qo'llaniladigan savdo buyurtmalarini olishni istasangiz, unumdorlik
bazaga nisbatan yomonroq bo'lishi mumkin. Shunday qilib, ma'lumotni
mahalliy XML ma'lumotlar bazasida ishlash sabablariga ko'ra saqlash
faqat sizning arizangizda ma'lumotlarning bitta ko'rinishi ustunlik qilgan
taqdirdagina qo'llaniladi.