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.
MS Access MBBTda ishlash texnologiyasi. So’rovlar va SQL – so’rovlar tili
Do'stlaringiz bilan baham: |