linkedin facebook linkedin facebook nod32

Sql da ma’lumotlarni qayta ishlash

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2015-08-21

Sql da ma’lumotlarni qayta ishlash

Ma’lumotlar bazasi ishlashga mo‘ljallangan dastur tranzaksiyalarni boshqarish va natijaviy to‘plamlarni qayta ishlash uchun mo‘ljallangan instrumentdir. Masalan, sizni sizni amaliy dasturingiz adres kitobi bo‘lsa, natijaviy to‘plamlarni qayta ishlash, jadvaldan xamma satrlarni ajratish va foydalanuvchiga ko‘rsatishdan iborat bo‘ladi. Tranzaksiyalarni boshqarish address va person jadvallaida o‘zgarishlar birgalikda amlga oshirishni ta’minlashdan iborat bo‘ladi.
MySQL da tranzaksiyalar qo‘llanmaydi. Ma’lumotlar bazasida xar qanday o‘zgarish avtomatik ravishda siz so‘raganingizda yuz beradi. Bu cheklanish ma’lumotlar bazasiga ikki bog‘liq murojjat oralig‘ida rad etish natijasija ma’lumotlar yaxlitligi buzilmasligi uchun maxsus usullar qo‘llashga majbur qiladi.
Amaliy dastur ishidagi ikki muxim moment bu ulanish va uzilishdir. Tushunarliki so‘rovni bajarishdan oldin ma’lumotlar bazasiga ulanish lozim. Lekin ko‘pincha masalaning ikkinchi tomoni xaqida unutiladi, ya’ni «o‘zidan keyin tozalash». Xar doim egallangan ma’lumotlar bazasi resurslarini ozod qilishlozim, agar ular kerakm bo‘lmasa. Ko‘p yashovchi Amaliy dasturlarda masalan Internet demoni kabi, beparvo yozilgan tizim ko‘p vaqt maelumotlar bazasi resurslarini egallashi mumkin va oxir borib tizimni blokirovka qilishi mumkin.
«O‘zidan keyin tozalash» xatolarni to‘g‘ri qayta ishlashdan iborat. YAxshi dasturlash tillari g‘ayri odiy xolatlar (tarmoqning rad qilishi, qo‘shilganda qaytariluvchi kalitlar, SQL sintaksisi xatosi va xokazo) qayta ishlovilarini o‘tkazib yuborishni qiyinlashtiradi. Qaysi tilni tanlagandan qatiy nazar, API bu chpqirig‘ida qanday g‘ayri oddiy xolatlar yuzaga kelishi mumkinligini va xar bir g‘ayri oddiy xolatda nima qilish kerakligini bilishingiz kerak. MySQL uchun S-bibliotekalari ma’lumotlar bazalarini satrlar to‘plami sifatida tasvirlashga asoslangan. Bush uni bildiradiki S bibliotekalari ma’lumotlar Bilan ma’lumotlar bazasida qanday tasvirlangan bo‘lsa shu shaklda qayьa ishlashga imkon beradi.
Ob’ektga-yo‘naltirilgan muxitdan relyasion ma’lumotlar bazasiga murojaat aloxida paradoksni eltirib chiqaradi: relyasionnыy Dune ma’lumotlar ustida ish olib borsa, ob’ektlar dunyosi faoliyat sxemalariasosida ma’lumotlarni inkapsulyasiya qilish Bilan shug‘ullanadi. Ob’ektga-yo‘naltirilgan Amaliy dasturlar ma’lumotlar bazasi ob’ektlarni saqlash vositasi bo‘lib xizmat qiladi. Ob’ektga-yo‘naltirilgan dasturlash so‘rov ma’lumotlarni satrlar to‘plami deb emas, ob’ektlar to‘plami deb qaraydi.

Ob’ektli/relyasion modellashtirish
Ob’ektga yo‘naltirilgan amaliy dastur yaratuvchisi oldida relyasion ma’lumotlar bazasidan foydalanishda tug‘iladigan masala, relyasion ma’lumotlarni qanday qilib ob’ektlarga akslantirishdir. Birinchi yo‘l ob’ekt atributlarini jadval maydonlariga akslantirish. Lekin bu usul ancha noqulaydir.

1. Ob’ektlar o‘z atributlarida faqat berilganlarni saqlamaydilar. Ularda kolleksiyalar va  boshqa ob’ektlar Bilan bog‘lanishlar saqlanadi.

2. Ko‘pgina relyasion ma’lumotlar bazalarida vorislikni modellashtirish imkoniyati yo‘qdir.

Ob’ektno-relyasion modellashtirish uchun amaliy qoidalar

1. Xar bir saqlanuvchi sinf uchun ma’lumotlar bazasida o‘zining jadvali mavjud.

2. Ob’ektlarning sodda tipli (butun, simvol, satr va xokazo) maydonlariga ma’lumotlar bazasidagi mos jadvalning ustunlariga mos qo‘yilgan.

3. Ma’lumotlar bazasi jadvalining xar bir satri saqlpnuvchi sinf nusxasiga mos keladi.

4. Xar bir ob’ektlar orasidagi «ko‘pga-ko‘p» turdagi bog‘lanish jadval –bog‘lovchini talab qiladi, xudi shundek ma’lumotlar bazasi «ko‘pga-ko‘p» turdagi ob’ektlari uchun shu talab qilinadi.

5. Vorislik sinf va ostki sinfga mos keluvchi jadvallar orasidagi «birga-bir» munosabat yordamida modellashtiriladi.

Oldin ko‘rilgan adreslar kitobini eslang. Masalan address va person jadvallariga ega bo‘lsin, 1- rasmdagi kabi.

Adres kitobi amaliy dasturi ma’lumotlar modeli rasm 1.

Dasturchilarga uchraydigan ravshan bo‘lmagan muammo mavjuddir. Ob’ektga-yo‘naltirilgan dasturlashni relyasion ma’lumotlarga qo‘llash - eto, poluchiv bu ma’lumotlarni olib, darxol ob’ekt nusxasini yaratishdir. Amaliy dastur ma’lumotlar Bilan faqat ob’ektlar orqali ishlashi kerak. Ko‘pginatraditsion dasturlash usullari, shu qatorda S, PowerBuilder va VisualBasic da dasturlash, yaratuvchi bazadan ma’lumotlarni olib, keyin qayta ishlashga asoslangan. Asosiy farq shundaki ma’lumotlar bazalarini ob’ektga-yo‘naltirilgan dasturlashda siz mao‘lumotlar Bilan emas, ob’ektlar bilan ishlaysiz.
2- rasmda ko‘rsatilgan ob’ektli modelь, 2-2 rasmda ko‘rsatilgan ma’lumotlar modeliga mos keladi. Ma’lumotlar bazasi xar bir satri dasturiy ob’ektga aylantiriladi. SHunday qilib Amaliy dastur natijaviy to‘plamni qabul qiladi va xar qaytariluvchi satr uchun Address yoki Person yangi nusxasini yaratadi. Eng qiyini yuqorida ko‘rsatilgan muammoni xal qilish: qanday qilib amaliy dasturda odam va uning adresi orasida bog‘liqlikni o‘rnatish. Ob’ekt Person, albatta shu odamga tegishli ob’ekt Address ga ilovaga ega,  lekin ob’ekt Address ni relyasion baza  person jadvalida saqlashmumkin emas. Ma’lumotlar modeli ob’ektlar orasidagi bog‘lanishni tashqi kalitlar yordamida saqlaydi. Buning uchun person jadvaliga address_id kiritiladi.

Adres kitobi sodda amaliy dasturi ob’ektli modeli rasm 2.

Ob’ektli modelning ozgina murakkablashi bizning ob’ektlarimiz va ma’lumotlar modellari orasida moslikni o‘rnatishda katta muammolarga olib keladi. 
Masalan Person sinfi Entity avlodi va Company sinfi xam Entity avlodi bo‘lsin. Entity ni Person dan yokiCompanynidan qanday ajratish mumkin? Yuqorida keltirilgan qoida faqat yo‘llanmadir. Bazi xollarda asos sinf abstrakt bo‘lib ma’lumotlar bazasida unga bog‘liq ma’lumotlarga ega emas. Bu xolda bu sinf uchun ma’lumotlar bazasida ob’ekt mavjud bo‘lmaydi.

6015 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений