Birlamchi va tashqi kalitlar haqida tushuncha
Kalit – bu talab etilayotgan mohiyat nusxasini topishda yordam beradigan atributlarning minimal to‘plami. Minimal deyilishining sababi shundaki, agar to‘plamdagi istalgan biror-bir atribut yo‘qotilsa, qolgan atributlar yordamida mohiyatni identifikatsiyalash mumkin emas. Har mohiyat hech bo‘lmaganda bitta kalitnini tasvirlaydi. Ulardan biri birinchi kalitni qabul qiladi. Birinchi kalitni tanlash faqat minimal conli atributlardan tashkil topgan maydon nazarda tutuladi. Bundan tashqari kalitni ishlatishda uzun matnli va qiymatli maydonni olish tavsiya etilmaydi (butun sonli atributlarni ishlatish foydaliroqdir). Talabalar identifikatsiyasi uchun unikal (qaytarilmaydigan yagona ma’nosida) nomer bo‘lgan imtihon daftarchasi nomerini ishlatish mumkin, yoki familiyasini, guruh nomerini va boshqa qo‘shimcha atributlarni. Lekin bunday hollarda ikkita bitta familiyali talaba chiqib qolishi ham mumkin.
Birinchi kalit sterjnli mohiyat bolishligi ruxsat etilmaydi (birinchi kalitda qatnashuvchi har qanday atribut). Aks holda qarama-qarshi holat yuz beradi. Su sabab unikal birinchi kalitni tashkil qilish va ta’minlash kerak.
Agar C mohiyati ikkita A va B mohiyatni bog‘lasa, u holda A va B mohiyatlar birinchi kalitga mos tashqi kalitni tashkil etish kerak.
Agar B mohiyati ikkinchi A mohiyatni belgilasa, u holda A mohiyat birinchi kalitga mos tashqi kalitni tashkil etish kerak.
Har qanday o‘zaro bog‘lanishlarda bo‘lgan mohiyatlarni belgilash uchun (sterjnli, xarakteristik, belgilash assotsiatsiya kabi) yangi birlashtirilgan termin «Maqsad» yoki «Maqsadli mohiyat» ishlatiladi.
Assotsiyalarni ko‘rsatish usulini tanlash muammosini qarashda va ma’lumotlar bazasida “Qaysi kalit tashqi kalit?” degan savolga javob olish kerak bo‘ladi. Keyinchalik, har bir tashqi kalit uchun uchta savolni echish kerak bo‘ladi :
Ishlatilayotgan tashqi kalit aniqlanmagan qiymat qabul qilishi mumkinmi (NULL-qiymat)?
Tashqi kalitga murojaat qilayotgan maqsadli mohiyatni o‘chirishga harakat bo‘lganda nima yuz berishi mumkin?
Tashqi kalitga murojaat qilayotgan maqsadli mohiyat birinchi kalitni yangilashga harakat qilinganda nima yuz berishi mumkin?
Shunday qilib, har bir tashqi kalit uchun ma’lumotlar bazasini loyihalovchi loyihada tashqi kalitni tashkil qiluvchi maydon yoki maydonlar kombinatsiyasini tashkil etish kerak.
UML - bu Yangi Unifikatsiyalangan modellashtirish tili bo‘lib, Gradi Buch, Ayvar Yakobson va Djeyms Rambo (Grady Booch, Ivar Jacobson, James Rumbaugh) tomonidan ob’ektga-yo‘naltirilgan loyihalash va taxlilni xujjatlash Yangi standarti sifatida taklif qilingan.
Nazorat savollari:
-
Ma’lumotlar modellari?
-
Ma’lumotlarning binary modellari
-
Mohiyat va aloqaning farqi?
-
Tiplar grafi nima?
-
Binar munosabat nima?
-
Ma’lumotlarning infalogik modellari
-
Elementar fakt nima?
-
Fundamental hususiyatlarnima?
-
Kalit nima va filtirldan farqi?
4 – MA’RUZA.
RELYATSION ALGEBRA.
Reja:
-
Koddaning relyatsion algebrasi.
-
Maxsus relyatsion operatorlar.
-
Relyatsion algebrada so’rovlar.
Tayanch tushuncha: ralyatsion algebra,ma’lumotlarning relyatsion modelli, ma’lumotlar bozasi boshqarish tizimlari(MBBT), atribut, ob’ekt, ma’lumot bayoni, tranzaksiya chegarasi, relyatsion tizim
1. Ma’lumotlarning relyatsion modeli birinchi bor 1970 yilda Ye.F.Kodd tomonidan taklif qilingan bo’lib, u ma’lumotlarni tavsiflash va tasvirlashning amaliy dasturlaridan bog’liq bo’lmasligini ta’minlash masalasini hal qilishga xizmat qiladi.
Ma’lumotlarning relyatsion modeli asosida «munosabat» tushunchasi yotib, u inglizcha relation so’zidan olingan. Ba’zi bir qoidalarga amal qilgan holda munosabatlarni ikki o’lchovli jadval ko’rinishda tasvirlash mumkin. Chunki jadval har qanday odamga tushunarli va qulaydir.
Real dunyo ob’ektlari haqidagi ma’lumotlarini EHM xotirasida saqlash va ular orasidagi aloqalarni modellashtirish uchun munosabatlar (jadval) to’plamidan foydalanish mumkinligini Ye.F.Kodd isbotlab berdi. Masalan, «talaba» mazmunini saqlash uchun ТALABA munosabatidan foydalaniladi. Bu mazmunning asosiy xususiyatlarini quyidagi jadvalning ustunlari tasvirlaydi:
ТALABA
Familiyasi I.O.
|
Тug’ilgan sana
|
Bosqich
|
Mutaxassisligi
|
Karimov M.N.
|
15011979
|
4
|
menejement
|
Avazov A.V
|
03111978
|
4
|
Iqtisodiy inf.
|
Ortiqov O.B.
|
07071980
|
3
|
Iqtisodiy inf.
|
Lazizova V.N.
|
12041981
|
3
|
Iqtisodiy pedag.
|
Хoliyorov N.A.
|
31121982
|
2
|
Marketing
|
Javlonov Х.B.
|
24091983
|
1
|
Sug’urta ishi
|
Munosabat ustunlari atributlar (maydonlar) deb ataladi va ularga nomlar beriladi. Munosabat atributlarining nomlaridan iborat tuzilgan ro’yxatga munosabatlar sxemasi deyiladi. Misoldagi ТALABA munosabatining sxemasi quyidagicha yoziladi:
ТALABA = (Familiyasi I.O., Тug’ilgan sana, Bosqich, Mutaxassisligi)
Kodda qoidasi.
1985 yil oktabrda E.F.Kodd “Computerworld” gazetasida ikkita maqolani e’lon qildi. Birinchi maqola 12 ta me’zonni o’z ichiga olgan bo’lib, “butunlay relyatsion” bazaga bag’ishlangan. Ikkinchi maqola esa ushbu 12 ta qoidani dasturiy mahsulotlarni meynfreymga mosligi nuqta’i nazaridan tekshirishdan iborat. Maqola shuni ta’kidlaydiki, agar MBBT nazariy jihatdan pishiq bo’lsa, u amaliy jihatdan effiktiv ishlaydi.
Koddaning 1-qoidasi. Axborot qoidasi.
Relyatsion MB uchun birinchi qoida ma’lumotlarni saqlash hamda ma’lumotlar orasidagi o’zaro munosabat uchun foydalaniladigan informatsion tuzilmani ifodalaydi:
“Relyatsion ma’lumotlar bazasidagi barcha axborotlar mantiqiy darajada butunlay faqat bitta usulda ifodalanadi: jadvallardagi qiymatlar”.
Ushbu kriteriya shu shartni qo’yadiki, har qanday munosabat (ikki o’lchovli jadval) relyatsion MB da foydalaniladigan yagona informatsion strukturaga ega bo’ladi. O’z navbatida, qattiq dasturlashni talab etadigan mahsulotlarda jadvallar aro aloqa relyatsion hisoblanmaydi.
Koddaning 2-qoidasi. Kirishni kafolatlash qoidasi.
Agar MB ga axborot joylashtirish sababi paydo bo’lsa, u holda ohirgi tanlov amalga oshiriladi. Ya’ni bu holda foydalanuvchi ma’lumotlarning yagona qismini ko’rish imkonining mavjudligiga ishonch hosil qilishi kerak.
“Relyatison MBning har bir elementiga bilvosita jadval nomi, birlamchi kalitning qiymati va ustun nomi kombinatsiyalari orqali mantiqan kirishni kafolatlashi lozim.
Bu qoida shuni tasdiqlaydiki, ma’lumotlarning istalgan qismi faqat uchta komponenta orqali o’rganiladi: jadval nomi, ustun nomi va qatorning birlamchi kaliti.
Koddaning 3-qoidasi. Null-qiymat qoidasi.
Null-qiymat – bu maxsus qiymat bo’lib, MB da qo’llaniladi; u “aniqlanmagan” ma’nosini beradi. Bu qiymat axborotlarni o’qish vaqtida yuzaga keladigan xatoliklarning o’zgacha ko’rinishida kiritiladi. Misol sifatida jadvalga hodimlar orasidagi munosabatni kiritishni olaylik. Jadvalning ustuniga ularning ish xaqi kiritiladi. Taklif qilinadiki, bir qancha hodimlarning ish xaqi satri null-qiymatli bo’lsin. Agar, tasodifan jadvalga murojaat etilsa va barcha islovchi hodimlar to’g’risida ma’lumot so’ralsa ish xaqi 60000 dan ziyodi ishlab chiqiladimi? Satr null-qiymatli bo’lsa satr hisobga olinadimi yoki o’tkazib yuboriladimi?
Qachon MBBT null-qiymatni mantiqiy me’zonga (60000dan katta ish xaqiga) mos ravishda baholaydi? Agar satr ushbu me’zonga javob bersa, null-qiymat qabul qilishi aniq bo’lmaydi. Balki, bo’ladi yoki bo’lmaydi. Aynan ushbu holatda relyatsion MB da uch qiymatli mantiqdan foydalaniladi. Mantiqiy ifodaning natijasi “to’g’ri”, yoki “noto’g’ri”, yoki “bo’lishi mumkin” ko’rinishida bo’ladi.
Koddaning 3-qoidasi null- qiymatga bog'liq:
“Null-qiymat (qayd etish kerakki, u bo’sh qatorni ifodalaydi) relyatsion MBBT da mavjud bo’lmagan axborotni butunlayin sistematik ravishda va ma’lumotning toifasiga bog’liq bo’lmagan holda ifodalashni qo’llab quvvatlaydi”
Null-qiymat ikki xil ko’rinishda bo’lishi mumkin. Birinchidan, relyatsion MBBT nul-qiymat ko’rinishida ifodalanishi mumkin. Ya’ni, foydalanuvchi barcha satr va ustunga ma’lumot kiritmaydi. Nullning qiymati ustunning tipiga bog’liq bo’lmaydi. Mustaqil ravishda tekshirib ko’rish mumkinki, ASCII va UNICODE kodida bo’sh qator belgisi ekranda bir xil bo’sh qator ko’rinishida ifodalanadi. Ikkinchi misolni esa yuqoridagi ish xaqi misolida ko’rsatamiz. Foydalanuvchi so’ramagan satrlari null qiymatni qabul qiladi.
Koddaning 4-qoidasi. Relyatsion model asosidagi dinamik operativ katalog qoidasi.
Har qanday ma’lumotlar bazasining lug’ati mavjud (endilikda u katalog deyiladi).
“Ma’lumotlar bazasining qiyofasi mantiqiy darajada oddiy ma’lumotlar ko’rinishida ifodalanadi. Foydalanuvchi ushbu ifodaga to’liq murojaat etishi uchun va oddiy ma’lumotlar ustida ishlash uchun relyatsion tildan foydalanadi”.
Koddaning 5-qoidasi. Ma’lumotlarni qayta ishlash tili xaqidagi qoida.
Relyatsion MB da ma’lumotlarning tarkibiy elementlari bilan ishlash, modifikatsiyalash va hisoblash imkonini beruvchi qandaydir bir til mavjud bo’ladi. Koddaning 5-qoidasi aynan shuni ifodalaydi.
“Relyatsion tizim bir qancha tillarni va terminallar bilan ishlashning bir necha rejimini qo’llab quvvatlashi lozim (masalan, blankalarni to’ldirish rejimi). Har qanday til operatorlari ishni to’liq ifodalaydi, simvollar qatori ko’rinishida berilgan o’zining aniq sintaksisiga ega bo’ladi. Undan tashqari u quyidagi ammallarni beradi:
-
Ma’lumotlarning bayonini
-
Ifodani bayonini
-
Ma’lumotlarni manipulyatsiyalashni
-
Maqsadni chegaralanganligini
-
Tranzaksiya chegarasini”.
SQL-92 tili ushbu qoidalarga to’la javob beradi.
Koddaning 6-qoidasi. Ifodani yangilash qoidasi.
Bir qancha ifodalar ma’lumotlarni yangilash uchun qo’llanilishi mumkin. Boshqa- bir qancha yaratilgan asosiy jadvallar va ifodalar, birlamchi kalitdan iborat bo’lmagan asosiy jadvallar va b.q larni yangilash imkonsiz. Koddaning 6-qoidasi aynan shu xaqda:
“Barcha ifodalar yangilanishi mumkin, xatto sistemalar ham”.
Koddaning 7-qoidasi. Ma’lumotlarni yuqori darajada kiritish, o’chirish va yangilash.
“Ma’lumotlar bazasi bilan ishlashda bitta operand nafaqat hisoblashi, balki kiritish, o’chirsh va yangilash imkoniga ega bo’lishi kerak”.
Koddaning 8-qoidasi. Ma’lumotlarni fizik mustaqilligi haqidagi qoida.
“Amaliy dastur va terminal amallarga axborotlarning istalgan to’plami yoki kirish usuli o’zgartirilganda mantiqiy jihatdan putur yetmasligi kerak”.
Koddaning 9-qoidasi. Ma’lumotlarni fizik mustaqilligi haqidagi qoida.
Ma’lumotlarning mantiqiy mustaqilligi – fizik mustaqilliga qaraganda nozik masala hisoblanadi.
“Amaliy dastur va terminal amallarga asosiy jadvalga o’zgartirish kiritilganda ham mantiqiy jihatdan putur yetmasligi kerak”.
Koddaning 10-qoidasi. Butunlikning mustaqilligi haqidagi qoida.
“Butunlikni konkret relyatsion MB uchun chegaralash imkoniyati ma’lumotlar bazasining tili orqali amalga oshiriladi, amaliy dastur orqali emas”.
Koddaning 11-qoidasi. Taqsimlanishning mustaqilligi haqidagi qoida.
Taqsimlanish deganda ushbu ma’lumotlar bazasining bir qancha komputerlarda taqsimlanishi tushuniladi. Ushbu holatda, MB ning barcha qismlarini birlashtirish talab etiladi.
“Relyatsion MBBT mustaqil tarqatiladi”.
Koddaning 12-qoidasi. Qoidani saqlash haqidagi qoida.
Oxirgi qoida “Aldovni ta’qiqlash” deyiladi.
“Agar relyatsion tizim quyi darajadagi tilga ega bo’lsa (“bir yo’la bir marta yoziladigan”), u holda yuqori darajadagi relyatsion til qoidalarini inobatga olmaslik yoki undan xato foydalanish mumkin emas”
2. Ma’lumotlarning relyatsion bazasi - bu o’zaro bog’langan munosabatlar to’plamidir. Har qanday munosabat (jadval) kompyuterlarning xotirasida fayl ko’rinishda joylashadi.
Jadval hamma uchun qulay bo’lishi bilan bir qatorda ma’lumotlarni manipulyatsiya qilishning asosiy uch operatsiyasini bajarish birmuncha noqulaylikni ham tug’diradi, asosan tartiblash, guruhlash va daraxt ko’rinishidagi parametrlar bilan ishlashda.
Jadvalda ushbu uch operatsiya bir – biri bilan chambarchas bog’langan. Bu esa ba’zi bir operatsiyalarni bajarishda ma’lum bir qiyinchiliklarga olib keladi. Masalan, ma’lumotlarni bir parametr asosida tartiblash ikkinchi bir parametr bo’yicha tartiblashni buzib yuborishi tufayli zarur ma’lumotlarni izlab topish operatsiyasi bir parametr bo’yicha osonlashsa, boshqalari bo’yicha qiyinlashadi.
Ma’lumotlarning relyatsion bazasidagi munosabatlar ustida bajariladigan asosiy operatsiyalar sakkizta bo’lib, ular quyidagilardan iborat:
-to’plamlar ustidagi ananaviy operatsiyalar, ya’ni to’plamlarning birlashmasi (yig’indisi), kesishmasi (ko’paytmasi), to’ldiruvchisi (ayirmasi), dekart ko’paytmasi, bo’lishmasi;
-maxsus relyatsion operatsiyalar, ya’ni proyeksiyalash, bog’lanish (qo’shilish), birlashtirish (ulab qo’yish) va tanlash.
Relyatsion Ma’lumotlar bazasini boshqarish tizimlarida munosabatlar ustida operatsiyalar bajarish uchun mo’ljallangan tillarni ikki sinfga ajratish mumkin: relyatsion algebra tili (RAТ) va relyatsion hisob tili (RHТ).
RAТ relyatsion algebraga (Kodd algebrasiga, -algebraga) asoslangan. Ma’lum tartib munosabatlar ustida operatsiyalarni ketma-ket yozish asosida hohlagan natijaga erishish mumkin. Shuning uchun RAТni protsedurali til deyishadi.
RHТ predikatlarni hisoblab chiqishning klassik usuliga asoslangan. Ular foydalanuvchilarga so’rovlarni yozish uchun ma’lum qoidalar to’plamini beradi. Ushbu so’rov asosida Ma’lumotlar bazasini boshqarish tizimlari yangi munosabatlar hosil qilish yo’li bilan avtomatik tarzda zarur natijani oladi. Shu sabab RHТga protseduralimas til deyishadi.
Relyatsion Ma’lumotlar bazasi da informatsiyalarni ortiqchaligini normallashtirish yo’li bilan kamaytiriladi. Jadvallar ustida har xil amallar barish mumkin. Bu amallarni tartiblab ishlab chiqqan odam Kodd. Amallarga quyidagilar kiradi:
1. Тo’plamlar ustida birlashtirish, kesishuv, ayirma, dekart ko’paytma va bo’lish amallari kiradi.
2. Maxsus relyatsion amallar, ularga: proleksiya, birlashtirish, ajratish (tanlab olish) amallari kiradi.
Munosabatlar ustida amalni bajarish uchun ishlatiladigan tillarni ikkisinfga ajratishimiz mumkin:
a) Relyatsion algebra tillari;
b) Relyatsion hisoblash tillari.
Munosabatlar o’z mazmuniga qarab ikki sinfga ajratiladi:
a) Ob’ektli munosabatlar;
b) Bog’lanuvchi munosabatlar;
Ob’ektli munosabatlarda ob’ektlar haqidagi munosabatlar saqlanadi. Masalan, talaba munosabati. Bog’lanish munosabatlarida asosan, ob’ektli munosabatlarning kalitlari saqlanadi. Kalit atributlari oddiy va murakkab bo’lishi mumkin. Agar kalit ikkita va undan ortiq atributdan tashkil topgan bo’lsa, murakkab hisoblanadi.
Familiya
|
Kurs
|
Mutaxasislik
|
Sobirov
|
2
|
Matematika
|
Aliyev
|
4
|
Fizika
|
Хabirov
|
3
|
Хimiya
|
Тalaba
|
Fan
|
Sobirov
|
Algebra
|
Aliyev
|
Тarix
|
Aliyev
|
Algebra
|
3. Ma’lumotlarni saqlash uchun jadvallar sonini minimallashtirishga intilish ma’lumotlar bazasini yangilashda har xil muammolarga olib kelishi mumkin. Ma’lumotlarning relyatsion modeli uchun relyatsion algebra - munosabat amalida ishlashga qulay vosita mavjud.
Relyatsion algebraning barcha amallarini bajaradigan ma’lumotlar ustida monipuyatsiya (ish olib boradigan) qiladigan tillar yaratilgan. Bu tillar orasida SQL (Structured Query Language – strukturalashtirilgan so‘rov tili) va QBE (Quere-By-Example – namuna bo‘yicha so‘rov) tillari eng ko‘p tarqalgan. Bu ikki til ham yuqori darajali til bo‘lib, ular yordamida foydalanuvchi kerakli ma’lumotlar bilan ish olib borishi mumkin. Kesishgan so‘rovlar bu ma’lumotlar statistik qayta ishlab olib boriluvchi so‘rovlar bo‘lib ularning natijasi Excel natijaviy jadvaliga o‘xshaydi. Kesishgan so‘rovlar quyidagi ustunliklarga ega: ko‘p hajmdagi ma’lumotlarni qayta ishlash va ularni avtomatik ravishda grafiklar va diagrammalar yaratishga moslashgan formatda chiqarish
-
soddaligi va murakkab bir necha detalizatsiya darajalariga ega bo‘lgan so‘rovlarni tez qayta ishlash
Lekin ular kamchiliklarga ega masalan natijalar jadvalini ustunlardagi qiymatlar bo‘yicha tartiblash
mumkin emas, chyunki bir vaqtning o‘zida ustunlardagi qiymatlarni hamma satrlar bo‘yicha tartiblash mumkin emas. Lekin kamayish yoki o‘sih bo‘yicha tartiblashni satrlar sarlavhalari uchun berish mumkin.
Kesishgan so‘rovlar ma’lumotlarni jadval sharlida tasvirlasyga qulay, lekin ularda ustunlar soni xar xil shuning uchun ular yordamida hisobotlar yaratih murakkab.
Kesishgan so‘rov yaratish
Misol tariqasida "Borey" ma’lumotlar bazasi uchun kesishgan so‘rov yaratamiz xar oylik mahsulot sotuvini chiqarish uchun. Ma’lum davrdan so‘ng masalan xar oy yoki кварталdan so‘ngnatijalardan iborat jadvallar grafiklar yaratish uchun ishlatiladi. Quyidagi kadamma kadam kesishgan so‘rov yaratish jarayonida so‘rovlarda yangi hisoblanuvchi maydonlar yaratish uchun ifodalardan foydalanish ko‘rsatilgan. Shunday qilib satrlarda mahsulotlar ularga mos ustunlarda oylik sotuv hajmlari chikariluvchi kesishgan so‘rov yaratamiz.
Buning uchun:
-
Конструктор rejimida yangi so‘rov yarating va unga "Товары" (Products), "Заказы" (Orders) и "Заказано" (Order Details) jadvallarini qo‘shing.
-
"Товары" jadvalining "КодТовара" (ProductlD) и "Марка" (ProductName) maydonlarini so‘ngra "Товары" jadvali"ДатаРазмещения" (OrderedDate) maydonini so‘rov blanki birinchi uchta ustuniga ko‘chiring.
-
Запрос, Перекрестный (Query, Crosstab Query)menyu komandasini tanlang. Заголовок okna запросa Запрос1:на выборку (Query1:Select Query) so‘rovning oynasi sarlavhasi Запрос!перекрестный запрос (Queryl:Crosstab Query) ga o‘zgaradi. Bundan tashqari so‘rovlar blankiga Перекрестная Таблица (Crosstab) va Групповая операция (Total) satrlari qo‘shiladi va hamma ustunlarga avtomatik Группировка (Group By) operatsiyasi kiritiladi.
-
"КодТовара" ustuni Перекрестная Таблица yacheykasi ro‘yxatida Заголовки строк (Row Heading) qiymatini tanlang. Xuddi shuni "Марка" ustuni uchun bajaring. Bu ustunlar kesishgan jadvali satrlarining kerakli sarlavhalaridir.
-
"ДатаРазмещения" ustuni Групповая операция yacheyka ro‘yxatida Условие (Where) qiymat tanlang. Shu ustunning Условие отбора (Criteria) yacheykasida kesishgan jadvalda 2005 yil uchun ma’lumotlarni chiqarish uchun <=#31. 12. 05# And >=#01. 01. 05# ifoda kiriting.
-
Kursorni keyingi bo‘sh ustunning Pole (Field) yacheykasiga o‘rnating va quyidagi ifodani kiriting: Объем продаж: Sum([Количество]*[Заказано]. [Цена]). Bu qiymati ifoda yordamida hisoblanadigan, nomi bo‘lsa - "Объем продаж" maydon bo‘ladi. Ifodada so‘rovga kiritilgan jadvallardan maydonlar ishlatiladi, lekin maydonlar o‘zi so‘rov natijasiga kiritilmagan. Bu shuni bildiradiki hisoblanuvchi maydon yaratilganda ifodaga faqat so‘rov maydoniga ilova emas, so‘rov natijasiga kirmaydigan maydonlarga ham ilovalar kiritish mumkin. Muhimi ular berilgan jadvallarda bo‘lishi. Ifodada "Цена" maydoniga ilovada"Заказано" jadval nomini ko‘rsatdik, "Количество" maydoniga ilovada ko‘rsatmadik. Jadval nomini shuning uchun ko‘rsatdikki "Цена" nomli maydon "Товары" jadvalda xam, "Заказано" jadvalida ham mavjud.
-
Shu ustunning Групповая операция (Total) yacheykasida Выражение (Expression) qiymati kiriting, so‘ng Перекрестная таблица yacheykasida- Значение (Value) qiymati. "Объем продаж" ustunida so‘rov natijaviy jadvali xar bir yacheykasiga kiritiladigan xar bir mahsulot uchun umumiy buyurtmalar hajmi hisoblanadi.
-
Kursorni keyingi bo‘sh ustun Поле (Field) yacheykasiga o‘rnating Format([ДатаРазмещения];"mmm") ifoda kiriting. Funksiya Format O bu xolda "ДатаРазмещения" ustunidagi sana qiymatidan oyning birinchi uch xarfini qaytaradi. Bu funksiya urdamida biz so‘rovda yana bir hisoblanuvchi maydon yaratdik, ifoda kiritish tugagandan so‘ng Access avtomatik bu maydon nomini yaratadi - "Выражение!" (Exprl). Biz hisoblanuvchi maydonni aniqlamaganimizda doim shu yuz beradi. Bu ustunning Перекресткая Таблица yacheykasi ro‘yxatidan Заголовки столбцов (Column Heading) qiymat tanlang. Bu shuni bildiradiki bu so‘rov ustuni natijaviy jadval ustunlari sarlavhalari satriga aylantiriladi.
-
Запуск (Run) tugmasini bosing. Natijaviy yozuvlar to‘plami chiqadi.
Ustunlar fiksirlangan sarlavhalaridan kesishgan so‘rovlarda foydalanish
Ko‘rilgan so‘rovda ustunlarni oylar kalendar navbati bo‘yicha chiqarish uchun ustunlar fiksirlangan sarlavhalarni berish kerak:
Конструктор rejimiga o‘ting va ekranga so‘rov xossalarini chiqaring. Buning uchun instrumentlar panelida Свойства (Properties) tugmasini bosing va so‘rov jadvallari aks etayotgan panel bo‘sh maydonida sichqoncha chap tugmasini cherting. So‘rov xossalari dialog oynasida Заголовки столбцов (Column Headings), xossasi chiqadi, u faqat kesishgan so‘rovlarda bo‘ladi.
Заголовки столбцов xossasi maydoniga yil xar bir oyining qisqacha nomini kiriting. Nomlar Format () funksiyasidan qanday qaytarilsa ustunlar sarlavhalarini standart akslantirishda qanday ko‘rinsalar shunday ko‘rinishlari keravk, aks xolda noto‘g‘ri berilgan oylar uchun ma’lumotlar akslanmaydilar. Nomlarni qavslarga olish kerak va nuqta vergul simvoli bilan ajratish kerak. 12 oy nomi kiritib bo‘lingandan so‘ng so‘rovlar oynasini berkiting.
So‘rovda detalizatsiya darajasini o‘zgartirish
Tahlil uchun qulay tasavvur yeki qulay grafik yaratish uchun kurilgan so‘rov satrlari va ustunlari sonini qisqartirish mumkin. Buning uchun mahsulot tipi bo‘yicha xar квартал foydani chiqaradigan kesishgan so‘rovni yaratamiz. Bunday so‘rovni yaratish uchun:
-
Yaratilgan so‘rovga "Типы" (Categories) jadvalini qo‘shing.
-
So‘rovda "КодТовара" va "Марка" ustunlarini "Типы" jadvalining "КодТипа" va "Категория" ustunlari bilan almashtiring. Buning uchun ortiqcha ustunlarni o‘chiring, so‘ngra kerakli ustunlarni so‘rov blankiga ko‘chiring. Ikkala ustunning Перекрестная Таблица (Crosstab) yacheykalarida Заголовки строк (Row Heading) qiymatni tanlang.
-
Выражение! (Expl) ustunidagi Format([ДатаРазмещения];"""Квартал ""q") ifodani o‘zgartiring, bu ifoda ustunlar sarlavhalari "Квартал 1", "Квартал 2", "Квартал 3", "Квартал 4" aniqlaydi. Bir necha qavs Квартал so‘zi va bo‘shlik belgisi satr sifatida, q – format sifatida kelishini ko‘rsatish uchun ishlatiladi.
Xossalar blankini oching va Заголовки столбцов (Column Headings) xossasini tozalang va blankni berkiting. Fiksirlangan sarlavhalar o‘chirilmasa kesishma jadvalda ma’lumotlar bo‘lmaydi. So‘rov ishini tezlashtirish uchun Заголовки столбцов xossasi maydoniga turtta fiksirlangan sarlavhalar kiritish mumkin:
Nazorat savollari:
-
Ma’lumotlarning relyatsion bazasi
-
Kesishgan so’rov yaratish
-
So‘rovda detalizatsiya darajasini o‘zgartirish
-
Konstruktor rejimi nima?
-
Kodda qoidalari?
5 – MA’RUZA.
SQL TILINING ELEMENTLARI.
Reja:
-
SQL tili.SQL tilining elementlari
-
SQL tilining vazifasi, SQL turlari yoki rejimlari
-
SQL strukturasi yoki operatorlari
-
SQL Server da ma’lumotlar bazalari ximoyasi
-
SQL Server hisob yozuvlarini boshqarish
Tayanch tushunchalar: SQL (Structured Query Language), DDL (Data Definition Language), DCL (Data Control Language), DML (Data Manipulation Language), Interaktiv rejim, Select so’rov operatori, delete, SQL Server Enterprise Manager, SQL Server, Database Security, Servis,
SQL tili tarixi
SQL (Structured Query Language) — Strukturalashgan so’rovlar tili — relyatsion MB bilan ishlashda qo’llaniladigan so’rovlar tili.
Ma’lumki, relyatsion modelning tarixi (va bilvosita SQL tarixi ham) 1970 yil Ye,F.Koddni (bu paytda u IBM korporatsiyasining San Хosedagi tadqiqot markazida ishlagan) maqolasi chiqqan davrdan boshlanadi. 1974 yil shu laboratoriyada ishlovchi D. Chemberlen "Structured English Query Language" yoki SEQUEL deb nomlangan tilni e’lon qiladi. 1976 yil bu tilning qayta ishlangan SEQUEL/2 versiyasi yaratildi va u rasmiy ravishda SQL deb atalgan. Хozirgi kunda SQL qisqartmasini ba’zilar "sikvel" deb talffuz etadi. Biroq rasmiy ravishda u "es-kyu-el" deb o’qilishi kerak.
SQL tili relyatsion algebra paydo bo’lgandan keyin paydo bo’ldi va uning birinchi prototipi IBM Research kompaniyasi tomonidan 70 yillar oxirida yaratilgan. Bu til birinchi IBM System R nomli MBBТ tarkibiga kiritilgan. Keyinchalik bu til ko’pgina tijorat MBBТ tarkibida qo’llanilgan va keng tarqalganligi sababli vaqt o’tishi bilan relyatsion MBBТ larda ma’lumotlar ustida amallar bajaruvchi tillarning norasmiy standarti bo’lib qoldi. SQL tilining birinchi ramiy standarti 1989 yil qabul qilingan. Ko’pgina MBBТ lar ushbu standartni qo’llab – quvvatlaydi. Biroq ma’lumotlar bazasi bilan bog’liq axborot texnologiyalarining rivojlanishi va ba’zi talablarning paydo bo’lishi birinchi SQL standartini qayta ishlash va kengaytirishni taqoza etdi.
1992 yil oxirida SQL tilining yangi xalqaro standarti (SQL/92 yoki SQL2) qabul qilindi unda ham ba’zi kamchiliklar aniqlangan, biroq shunga qaramasdan SQL/89 ga nisbatan aniq va to’liqroq xisoblanadi. Хozirgi paytda ko’pgina MBBТ ishlab chiqaruvchilar o’z maxsulotlarini SQL2 standartini qanoatlantiradigan qilib o’zgartirdilar.
1999 yil SQL3 deb atalgan yangi standart paydo bo’ldi. Agar SQL1 va SQL2 standartlari biri –biridan miqdor jixati bilan farq qilgan bo’lsa, SQL3 standarti sifat jixatlari bilan farqlanadi. SQL3 ga murakkab strukturaga ega ma’lumotlar tipini ishlatish imkonini beradigan yangi ma’lumotlar tipi kiritilgan. Bu tipni ob’ektga mo’ljallanganlik darajasi yuqori xisoblanadi. SQL tilini tula qonli an’anaviy dasturlash tillari tarkibiga kiritib bo’lmaydi. Chunki unda dastur bajarilishini boshqaruvchi va boshqa ko’pgina an’anaviy operattorlar yo’q. Unda faqat ma’lumotlar bazasida saqlanayotgan ma’lumotilarga murojaat qiluvchi operatorlar mavjud.
SQL tili o’rganish uchun juda oson.
• bu noprotsedura til. Shuning uchun unda ma’lumotni qanday olish emas, balki qanday ma’lumot olish kerakligi ko’rsatiladi. Boshqacha aytganda, SQL tili ma’lumotlarga murojaat usulini ko’rsatishni talab etmaydi. Boshqa zamonaviy tillar kabi SQL tili operatorlarning mustaqil formatiga ega. Ya’ni operatorlarni yozishda operatorlarni aloxida elementlari ekrandagi ma’lum o’rinlarda joylashishi bilan bog’liq emas.
• buyruqlar ingliz tilining odatdagi so’zlaridan iborat kalit so’zlardan tashkil topgan, masalan, CREATE TABLE (jadval yaratish), INSERT (kiritish), SELECT (tanlash),
yoki:
• CREATE TABLE Staff (staffNo VARCHAR(S), IName VARCHAR(15), salary DECIMAL(7,2));
SQL tilining vazifasi
SQL tili foydalanuvchi relyatsion ma’lumotlar bazasi bilan muloqat qilishi uchun mo’ljallangan bo’lib, quyidagi 3 ta qismdan iborat:
• DDL (Data Definition Language) – ma’lumotlarni aniqlash tili. Ma’lumotlar bazasini (jadvallarini, indekslarini va x.k.) yaratish va uning sxemasini taxrirlash uchun mo’ljallangan..
• DCL (Data Control Language) – ma’lumotlarni boshqarish tili. Foydalanuvchilarning ma’lumotlar bazasi ob’ektlariga murojatini chegaralash operatorlaridan iborat.
• DML (Data Manipulation Language) – ma’lumotlarni qayta ishlash tili. Ma’lumotlar bazasi jadvallariga o’zgartirishlar kiritish uchun mo’ljallangan.
Ma’lumotlar bazasi bilan ishlovchi ixtiyoriy til ofoydalanuvchiga quyidagi imkoniyatlarni yaratishi lozim:
• strukturasini to’la tavsiflagan xolda ma’lumotlar bazasini va jadvallarini yaratish;
• ma’lumotlar ustida manipulyatsiya amallarini bajarish, masalan, jadvallardan ma’lumotlarni kiritish, taxrirlash, va o’chirish;
• oddiy va murakkab so’rovlarni bajarish.
Bundan tashqari, ma’lumotlar bazasi bilan ishlovchi til yuqoridagi amallarni bajarish uchun foydalanuvchilardan kam urinishlarini talab qilishi, hamda komandalarining sintaksisi va tuzilishi o’zganish uchun ososn va tushunarli bo’lishi kerak. Nixoyat bu til universal bo’lishi kerak. Bu bir MBBТ dan boshqasiga o’tganda komandalarni bir xil strukturasi va sintaksisidan foydalanishni ta’xminlaydi. SQL tili bu talablarni barchasini qanoatlantiradi.
SQL turlari yoki rejimlari
Yuqorida ta’kidlib o’tilganidek SQL3 tili tarkibida xisoblash jarayonini boshqarish imkonini beruvchi IF ... THEN ...ELSE, GO TO, DO ... WHILE kabi buyruqlar mavjud emas. Bunday masalalar dasturiy yo’l bilan (dasturlash tili yoki masalalarni boshqarish tili) yoki interaktiv xolda (foydalanuvchining so’rovlari asosida) amalga oshiriladi. Imkoniyati cheklanganligi sababli (xisoblash jarayonini boshqarish imkoniyati) SQL tili 2 ta usulda qo’llanilish mumkin. Birinchi usulda interaktiv ishlash nazarda tutiladi. Bunda foydalanuvchi SQL operatorlarini terminaldan beradi. Ikkinchi usulda protsedurali tildagi dasturga SQL tili operatorlari kiritiladi.
Bu usullar ba’zi adabiyotlarda ma’lumotlar bazasi bilan ishlash texnologiyasi yoki rejimi yoki SQLturlari deb ataladi.
Interaktiv rejimda ma’lumotlar bazasi bilan ishlashda foydalanuvchi muloqat rejimida ishlaydi, ya’ni SQL tilidagi so’rovni kiritadi va natijani oladi, yani so’rovni kiritadi va natijag ega bo’ladi va x.k.
Kiritilgan SQL rejimida boshqa dasturlash tillarida yaratigan dastur tarkibiga kiritiladi. Bu ma’lumotlar bazasi bilan boshqa algoritmik tillarda yaratilgan amaliy dasturlar orqali ishlashni ta’minlaydi. Biroq bu yerda qo’shimcha dasturiy vosita kerak bo’ladi. U dasturlash tili bilan SQL operatorlari o’rtasidagi interfeysni ta’minlab beradi.
SQL tili relyatsion ma’lumotlar bazasi bilan ishlashiga qaramasdan “munosabat” atamasi o’rniga “jadval” atamasi, “kortej” va “atribut” atamalari o’rniga “satr” va “ustun” atamalari ishlatiladi.
SQL tilida ma’lumotlar turlari
SQL tilida ma’lumotlarning quyidagi asosiy turlari ishlatilib, ularning formatlari har xil MBBТ lar uchun farq qilishi mumkin:
INTEGER
|
Butun son (odatda 10 tagacha qiymatli raqam va ishora).
|
SMALLINT
|
Qisqa butun (odatda 5 tagacha qiymatli raqam va ishora).
|
DECIMAL(p,q)
|
o’nli son, p raqam va ishoradan iborat (0
16).
|
FLOAT
|
haqiqiy son 15ta qiymatli raqam va butun darajadan iborat.
|
CHAR(n)
|
uzunligi o’zgarmas, n ga teng bo’lgan simvolli qator (0 |
VARCHAR(n)
|
uzunligi o’zgaruvchi, n simvoldan oshmagan simvolli qator.
|
DATE
|
sana (yy/mm/dd).
|
TIME
|
vaqt (hh.mm.ss).
|
DATETIME
|
sana va vaqt kombinatsiyasi.
|
MONEY
|
pul birligi simvoli ($, rub, ...)
|
SQL strukturasi yoki operatorlari
SQL tili 1 jadvalda tasvirlangan bo’limlardan iborat.
1 jadval. Ma’lumotlarni aniqlash operatorlari DDL(Data Definition Language — ma’lumotlarni aniqlash tili)
Operator
|
Ma’nosi
|
Amal
|
CREATE TABLE
|
Jadval yaratish
|
MB da yangi jadval yaratish
|
DROP TABLE
|
Jadvalni o’chirish
|
MB dan jadvalni o’chirish
|
ALTER TABLE
|
Jadvalni o’zgartirish
|
Mavjud jadval strukturasini o’zgartirish yoki joriy jadval uchun o’rnatilgan butunlik cheklanishlarini o’zgartirish
|
CREATE VIEW
|
Тasvir yaratish
|
Biror SQL –so’rovga mos virtual jadvalni yaratish
|
2 jadval. Ma’lumotlarni manipulyatsiyalash operatorlari Data Manipulation Language (DMP)
Operator
|
Ma’nosi
|
Amal
|
DELETE
|
Satrni o’chirish
|
Udalyayet odnu ili neskolko strok, sootvetstvuyuщix usloviyam filtratsii, iz bazovoy tablitsы. Primeneniye operatora soglasuyetsya s prinsipami podderjki selostnosti, poetomu etot operator ne vsegda mojet bыt vыpolnen korrektno, daje yesli sintaksicheski on zapisan pravilno
|
INSERT
|
Satrni qo’yish
|
Jadvalga bitta satrni qo’yish. Bu operatorning boshqa modifikatsiyalarida biror jadvalning bir necha stari yoki so’rov natijasi jadvalga qo’yilishi mumkin.
|
UPDATE
|
Satrni yangilash
|
Bitta yoki filtratsiya shartini qanoatlantiruvchi bir necha ustunlaridagi bitta yoki ko’proq ustunlardagi qiymatlarni almashtirish
|
3 jadval. Data Query Language (DQL) so’rov tili
Operator
|
Ma’nosi
|
Amal
|
SELECT
|
Satrni tanlash
|
Relyatsion algebraning barcha amallarini bajaruvchi operator bo’lib so’rovga mos natijaviy jadvalni xosil qiladi.
|
4 jadval. Тranzaksiyalarni boshqarish operatorlari
Operator
|
Ma’nosi
|
Amal
|
COMMIT
|
Тranzaksiyani tugatish
|
Тarnzaksiyani tashkil qiluvchi ma’lumotlarni qayta ishlovchi murakkab va o’zaro bog’langan amalarni tugatish
|
ROLLBACK
|
Тranzaksiyani bekor qilish
|
Тranzaksiya bajarilishi natijasida yuz bergan o’zgarishlarni bekor qilish
|
SAVEPOINT
|
Тarnzaksiya bajarilishida oraliq nuqta saqlash
|
MB ni oraliq xolatini saqlash. Bu keyinchalik shu xolatga qaytish uchun zarur bo’ladi.
|
5. Jadval. Ma’lumotlarni boshqarish operatorlari • DCL (Data Control Language) – ma’lumotlarni boshqarish
Operator
|
Ma’nosi
|
Amal
|
ALTER DATABASE
|
MB ni o’zgartirish
|
Butun ma’lumotlar bazasiga tegishli bo’lgan ob’ektlar va cheklanishlar to’plamini o’zgartirish
|
ALTER DBAREA
|
MB saqlash soxasin o’zgartirish
|
Avval yaratilgan saqlash soxasini o’zgartirish
|
ALTER PASSWORD
|
Parolni o’zgartirish
|
Butun ma’lumotlar bazasi parolini o’zgartirish
|
CREATE DATABASE
|
MB yaratish
|
Barcha parametrlarini ko’rsatgan xolda yangi ma’lumotlar bazasini yaratish
|
CREATE DBAREA
|
Saqdash soxasin yaratish
|
Yangi saqlash soxasiniyaratish va unda ma’lumotlar joylashtirishga ruxsat etishi
|
DROP DATABASE
|
MB ni o’chirish
|
Mavjud ma’lumotlar bazasini o’chirish (bunday amal bajarish vakolatiga ega bo’lgan foydalanuvchilar uchun)
|
DROP DBAREA
|
MB saqlash soxasin o’chirish
|
Mavjud saqlash soxasini o’chirish (agar unda joriy vaqtda faol ma’lumotlar joylashmagan bo’lsa)
|
GRANT
|
Vakolat berish
|
MB ba’zi ob’ektlari ustida bir qator amallarni bajarish xuquqini berish
|
REVOKE
|
Хuquqdan maxrum qilish
|
Biror yeb’ektga yoki ob’ekt ustida bajariladigan ba’zi amallarni bajarish xuquqidan maxrum qilish
|
Dostları ilə paylaş: |