|
Relational Schemas va Vitsa Versiyalaridan XML sxemalarini yaratish
|
bet | 65/71 | Sana | 28.05.2024 | Hajmi | 24,2 Mb. | | #255852 |
Bog'liq Ma\'lumotlar bazasi. ZaynidinovX.N.
XML va ma'lumotlar bazasi o'rtasida ma'lumotlarni uzatishda keng tarqalgan savol bu ma'lumotlar bazasi sxemasidan XML sxemasini yaratish va aksincha. Ko‘p ma'lumotlarga asoslangan dasturlar va deyarli barcha vertikal dasturlar ma’lum XML sxemalari va ma'lumotlar bazasi sxemalari bilan ishlaydi. Shunday qilib, ular ish vaqtida sxemalami yaratishi zaruriyati mavjud emas. Bundan tashqari, quyida ko‘rib o ‘tilganidek, sxemalami yaratish protseduralari mukammal emas. Tasodifiy XML hujjatlarini ma'lumotlar bazasida saqlashi kerak bo‘lgan dasturlar, ehtimol ish vaqtida sxemalar yaratish o‘rniga XML ma'lumotlar bazasidan foydalanishi qulayroqdir. 0 ‘zaro aloqador sxemalami XML sxemalaridan yaratishning eng oson usult - bu bir qator qo‘shimcha funksiyalarga ega boigan obyektga nisbatan xaritalash orqali kodlash. Obyektga yo‘naltirilgan ma'lumotlar bazasidan foydalanish uchun shunga o‘xshash protseduralar mavjud.
XML sxemasidan o‘zaro bog‘liqlik sxemasini yaratish uchun:
Har bir murakkab element turi uchun jadval va boshlangMch kalit ustunlarini yarating.
Aralash tarkibga ega har bir element turi uchun parent-child jadvalining boshlang‘ich kaliti orqali parent-child jadvaliga ulangan PCDATA-ni saqlash uchun alohida jadval varating.
Ushbu element turining har bir qiymatli atributi uchun va bitta oddiy child elementi uchun ushbu jadvalda ustun yarating. Agar XML sxemasida ma'lumotlar turi ma'lumotlari mavjud bo‘lsa, unda ustun turidagi ma'lumot turlarim tegishli turga o‘rnating. Aks holda, ma'lumotlar turini CLOB yoki VARCHAR ( 255) kabi oldindan belgilangan turga o‘mating. Agar child elementi yoki atributi ixtiyoriy boisa, ustunni bckor qiling.
122
O'zaro bog'liqlik sxemasidan XML sxemasini yaratish uchun:
Har bir jadval uchun element turini yarating.
У Jadvaldagi har bir ma'lumot (kalit bo'hnagan) ustunlar uchun, shuningdek asosiy kalit ustunlari (elementiari) uchun element turiga atribut yoki tarkibiy modelga PCDATA-faqat child elementini qo'shing.
У Asosiy kalit el
Har bir tashqi kalit uchun tarkibiy modelga child elementini qo'shing va tashqi kalit jadvalini rekursiv ravishda qayta ishlang. Ushbu protseduralaraing bir qator kamchiliklari mavjud. Ularning aksariyati qo*l bilan tuzatilishi oson, masalan, nomlarning to'qnashuvi va ustunlar ma’lumotlari turlari va uzunhklari. (DTD-larda ma'lumotlar turi ma'lumotlari mavjud emas, shuning uchun ma'lumotlar bazasida qanday lurdagi ma'lumotlardan foydalanish
kerakligini oldindan aytib bo'lmaydi.
XML hujjatida toydalaniladigan ma'lumotlar "modeli" ma'lumotlar bazasida ma'lumotlarni saqlash uchun eng samarali modelga qaraganda ko'pincha larq qiladi (va odatda murakkabroq). Masalan, XML ning quyidagi parchasini ko'rib chiqing:
<■M ijoz >
< Name '■ ABC Industries
< Address >
123 Asosiy ko'chasi < / Street >
Fooville
CA
< State > AQSh <1 State >
95041
|
| |