O'ZBEKISTON RESPUBLIKASI ALOQA, AXBOROTLASHTIRISH VA TELEKOMUNIKASIYA TEXNOLOGIYALARI DAVLAT QO’MITASI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
KOMPYUTER INJINIRING FAKULTETI
“Ma’lumotlar banki va bazasi”
fanidan
Laboratoriya ishlari bo'yicha
USLUBIY KO'RSATMA
Toshkent- 2014
Mualliflar: E.Sh.Nazirova, J.T.Usmonov “Axborot texnologiyalar”. TATU. 44 bet, Toshkent, 2014 yil.
«Ma’lumotlar banki va bazasi» - Shaxsiy kompyuterlarda, hisoblash tizimlarida, kompleks va tarmoqlarda ma’lumotlar bazasini tashkil qilish yo‘llari, ma’lumotlar bazasini boshqarish tizimlarini tuzish prinsiplari, ma’lumotlar, bazasini loyixalashtirish yo‘llari va uslublarini o‘rganish, taqsimlangan ma’lumotlar bazasini yaratish prinsiplari hamda ular asosida zamonaviy avtomatlashtirilgan axborot tizimlarni loyihalash va yaratish masalalarini qamraydi..
Fanni o‘qitishdan maqsad – talabalarda ma’lumotlar bazasini nazariy va amaliy bilimlarini, ularni yaratish va ma’lumotlar bazasini boshqarish tizimini tanlash bo‘yicha bilim, ko‘nikma va malakalarini shakllantirish.
Fanning vazifasiga - ma’lumotlar banki va bazasini nazariy asoslari, ularni tuzilishi va ma’lumotlar bazasini boshqarish tizimlari dasturiy vositalarida yaratilishi, qayta ishlanishi, hamda yaratilgan ma’lumotlar banki va bazasini avtomatlashtirilgan axborot tizimlarida tatbiq etishni o‘rgatishdan iborat.
Taqrizchilar:
TTESI,
“Informatika va AT” kafedrasi dotsenti f.m.f.n. A.Ne’matov.
TATU,
“Axborot texnologiyalari” kafedrasi professori t.f.d. M.S.Yakubov
Toshkent Axborot Texnologiyalari Universiteti, 2014
MUNDARIJA
|
Kirish………………………………………………………………….. |
4 |
1 |
Predmet sohasinni tahlili. Mohiyat – aloqa modelini ishlab chiqish (Entity-Relation modeli)…………………………………………….. |
6 |
2 |
Ma’lumot modellari. Ierarxik tarmoqli, relyasion ma’lumot modeli…. |
12 |
3 |
Ma’lumot baza sxemasini normallashtirish. Normal formalar 1NF, 2NF, 3NF……………………………………………………………… |
17 |
4 |
SQL tili. SQL tili yordamida ma’lumot bazasini yaratish……………. |
25 |
5 |
SQL tilidan foydalanib so‘rovlar tizimini yaratish…………………… |
29 |
6 |
Berilgan predmet soha ma`lumotlar bazasidan foydalanib forma va hisobot tayyorlash…………………………………………………….. |
36 |
7 |
Laboratoriya ishlarini bajarishga topshiriq variantlari………………... |
43 |
8 |
Foydalanilgan adabiyotlar…………………………………………….. |
44 |
Kirish
Ko‘pgina masalalarni echish asosida axborotlarni qayta ishlash yotadi. Axborotlarni qayta ishlashni engillashtirish maqsadida axborot tizimlari yaratiladi. Avtomatlashgan axborot tizimlar (AT) deb, shunday tizimlarga aytamizki, ularning tarkibida texnik vositalar, jumladan shaxsiy kompyuterlar ishtrok etadi. ATlarni keng ma’noda axborotni qayta ishlaydigan ixtiyoriy tizimni tushunish mumkin. Tadbiq etish sohasiga qarab, ATlar ishlab chiqarish sohasida, talim sohasida, sog‘liqni saqlash sohasida, harbiy sohada va boshqa sohalarda ishlatiladigan tizimlarga ajratish mumkin.
ATlarni maqsadli ishlatilishiga qarab bir qancha kategoriyalarga ajratishimiz mumkin. Jumladan boshqariluvchi, axborot qidiruv, axborot ma’lumotnoma va boshqa tizimlarga ajratiladi.
Atlarni tom ma’noda ba’zi bir amaliy masalalarni echishga ishlatiladigan apparat dasturiy vositalari majmuasi sifatida ham tushunamiz. Masalan tashkilotlarda ishlatiladigan kadrlarni hisobga olish va kuzatish, omborxona material va tovarlarni hisobga olish va nazorat qilish, buxgalter masalarini echish va boshqalar.
ATlarni asosida ma’lumotlar bazasi yotadi. MB degenda, ma’lumotlarni shunday o‘zaro bog‘langan to‘plamini tushunamizki, u mashina xotirasida saqlanib, maxsus ma’lumotlar bazasini boshqarish tizimni to‘ldirilishi, o‘zgartirilishi, takomillashtirilishi mumkin.
Aniq ma’lumotlarni (masalani) hal qilishda inson real dunyoni u yoki bu sohasi bilan cheklanadi. Bunday hollarda faqat ba’zi bir ob’ektlarni o‘rganishgina qiziqish o‘yg‘otadi. Bunday ob’ektlarni majmuasini predmet soha deyiladi.
Ob’ektlarni sinflarga ajratish deyilganda, barcha ob’ektlar to‘plamini birorta norasmiy belgi bo‘yicha qism to‘plamlarga ajratishni tushunamiz. MB ni ko‘pligini hisobga olib, uni sinflarga ajratish belgilari xilma – xil. Hozirgi kunda MB ni quyidagi sinflari ko‘p ishlatiladi:
1. MB ma’lumotlarni tasvirlash shakliga qarab: video, audio, mulütimedia guruxlariga ajratish mumkin.
2. Video MB ma’lumotlarini ko‘rinishiga qarab o‘z navbatida matnli va grafik tasvirli bo‘ladi.
3. Matnli MB ma’lumotlarni strukturalashganiga qarab strukturalashgan, qisman strukturalashgan va strukturalashmagan MB ga bo‘linadi.
4. Strukturalashgan MB o‘z navbatida ma’lumotlarni modeliga qarab: ierarxik, tarmoqli, relyasion, ob’ektli relyasion, ob’ektga yo‘naltirilgan MB ga bo‘linadi. Bundan tashqari strukturalashgan MBlari strategik va dinamik shuningdek, markazlashgan va taqsimlangan MBga bo‘linadi. MBni foydalanuvchilar soniga qarab: bitta va ko‘p foydalanuvchili MBga bo‘lamiz va ular ma’lumotlarni saqlanishiga qarab operatsion va analitik bo‘ladi.
Tayyorlangan uslubiy ko'rsatma oltita laboratoriya ishini o'z ichiga oladi.
1-laboratoriya ishi |
2 soat |
2-laboratoriya ishi |
2 soat |
3-laboratoriya ishi |
2 soat |
4-laboratoriya ishi |
4 soat |
5-laboratoriya ishi |
4 soat |
6-laboratoriya ishi |
4 soat |
1 Laboratoriya ishi
Mavzu: Berilgan predmet sohasining tahlili. Mohiyat–aloqa modelini ishlab chiqish (ER modeli).
Ishdan maqsad: ma`limotlar bazasini ishlab chiqish uchun predmet sohani tekshirish bo`yicha ko`nikmalarni egallash.
Masalani qo`yilishi: ko`rsatilgan predmet sohani tahlil qilib, uni “Mohiyat–aloqa” modelini ishlab chiqish.
Uslubiy ko`rsatmalar: predmet sohani(PS) tahlili uni quyidagi tashkil etuvchilarini o`rganishni taqazo etadi. Ob`yektlar, ob`yekt xususiyatlari, bog`lanishlar (ob`yekt munosabatlari), vaqt oralig`i va hokazolar.
Bu erda predmet soha sifatida “SUPER MARKET” olingan bo`lib, ma`lumotlar quyidagi ob`yektlarda saqlanadi:
1.1 jadval.
“SUPER MARKET” predmet sohasining ob`yektlari
¹ |
Ob`yektlar |
1 |
Rastalar |
2 |
Mahsulot turi |
3 |
Mahsulotlar |
4 |
Xodimlar |
5 |
Etkazib beruvchilar |
6 |
Omborxona |
1.2 jadval.
Rastalar ob`yektining xususiyatlari.
ID |
Rastalar |
|
|
|
|
1 |
|
|
|
|
|
2 |
|
|
|
|
|
1.3 jadval.
Mahsulot turi ob`yektining xususiyatlari.
ID |
Rasta_id |
Mahsulot turi |
|
|
|
1 |
|
|
|
|
|
2 |
|
|
|
|
|
1.4 jadval.
Mahsulotlar ob`yektining xususiyatlari.
ID |
Mahsulot_t_id |
Mahsulot nomi |
miqdori |
Ombodagi miqdori |
Buyurtma miqdori |
Saqlash muddati |
Mahsulot narxi |
1 |
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
1.5 jadval.
Xodimlar ob`yektining xususiyatlari.
ID |
F.I.Sh |
Lavozimi |
Telefon raqami |
Manzili |
Ish vaqti |
Staji |
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
1.6 jadval.
Etkazib beruvchilar ob`yektining xususiyatlari.
ID |
Mahsulot_id |
Etkazib beruvchilar |
Keltirilgan sana |
Miqdori |
Etkazib berilgan narxi |
|
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
1.7 jadval.
Omborxona ob`yektining xususiyatlari.
ID |
Mahsulot_id |
Omborxona |
Mahsulot keltirilgan sana |
Mahsulot miqdori |
Saqlash muddati |
|
1 |
|
|
|
|
|
|
2 |
|
|
|
|
|
|
Quyidagi rasmda aloqalar (ob`yektlar orasidagi munosabatlar)ning ko`rinishi keltirilgan
“Mohiyat – aloqa” modeli predmet sohani tashkil etuvchi uchta asosiy komponentalardan foydalanib quriladi: mohiyat, atribut, aloqa. Konstruktiv elementlar tarkibida “VAQT” tashkil etuvchisi faqat oshkormas holda ishtirok etishi mumkin. Modelda vaqt, yil, sana va shunga o`xshash atributlar bilan tasvirlanadi.
1.1 rasm. “Supermarket” obyektli modeli elementlari orasidagi ob`yektli munosabatlar.
Modelni quirishda “aloqa” mavjud ob`yektni, jarayonni yoki hodisani, abstraksiyasi sifatida keladi. Atribut mahiyatni xarakterlaridan bo`lib, nom bilan belgilanib, birorta qiymatlar to`plamidan qiymatlar qabul qilinadi.
“Mohiyat – aloqa” modelidagi bog`lanishlarga, ikki mohiyat o`rtasidagi har bir bog`lanish turiga tegishli munosabatlarni kiritish zarur (binar, ternar.., n-nar).
Loyiha haqidagi axborot diagramma ko`rinishida rasmiylashtiriladi, buning uchun quyidagi belgilar kiritiladi: mohiyat turlari – to`rtburchak bilan, atributlar-ovallar bilan tasvirlanadi va ular mos mohiyatlar bilan yo`nalishsiz qirralar bilan bog`lanadi.
“Mohiyat – aloqa” modeli predmet sohani (PS) faqat aniq bir qismini akslantiradi. Bu holda uni lokal model deyiladi. PS haqida to`la axborotga ega bo`lish uchun uni etarli kengroq tekshirish zarur va oldingisini to`ldiradigan local modellar qurish kerak. Shundan so`ng lokal modellar birlashtirilib PS haqida bir butun kompozitsion tasvirga ega bo`lamiz.
Misol tariqasida supermarket PSining mohiya – aloqa modeli qurilgan.
1.2. rasm. Supermarket predmet sohasi uchun mohiyat – aloqa modelini qurilishi
Bu model diagramma ko‘rinishda bo‘lib, unda quyidagi belgilashlar ishlatiladi.
|
Yordamida ob’ektlar belgilanadi. |
|
Yordamida ob’ekt atributlari belgilanadi. Ular ob’ektlar bilan yo‘nalishsiz chiziqlar yordamida birlashtiriladi. |
|
Yordamida ob’ektlar orasidagi aloqalarni belgilaymiz. |
|
Bunda birga ko‘p bog‘langan A va V orasida V ga qaratib yo‘nalgan yo‘nalishli chiziq bilan ko‘rsatiladi. Agar A va V ob’ektlar o‘rtasida N:1 bog‘lanish bo‘lsa, strelka A ga qarab yo‘naltiriladi. |
|
A va V orasida 1:1 bog‘lanish bo‘lsa, yo‘nalishsiz chiziq bilan bog‘laymiz. |
|
A va V ob’ektlar o‘rtasida M: N bo‘lsa, ularni ulovchi chiziq orqa li bog‘lanadi. |
Nazorat savollari
1. Predmet soha tushunchasiga tarif bering.
2. Mohiya-aloqa modeli deganda nimani tushunasiz?
3. Mohiyat-aloqa modelida asosiy elementlar tushunchasini aniqlang.
4. Mohiyat-aloqa modeli ma`lumot bazasi strukturasi qanday aniqlanadi?
5. Mohiyat-aloqa modeli diagrammasi qanday tasvirlanadi?
2 LABORATORIYA ISHI
Mavzu: Ma`lumot modellari. Ierarxik tarmoqli, relyatsion ma`lumot modeli.
Ishdan maqsad: Ma`lumotlar bazasini relyatsion modeli uchun jadvallar tizimini ishlab chiqishni o`rganish va ob`yektlarni bog`lanish munosabatlarini tahlil qilish.
Masalani qo`yilishi: Berilgan predmet soha ma`lumotlar bazasidagi barcha ob`yektlani ierarxik tarmoqli modelini va relyatsion modelini ishlab chiqish
Uslubiy ko`rsatmalar: Ma`lumotlar bazasini relyatsion modelini qurishda bog`lanish munosabatlari muhim ahamiyatga ega. Aslida ma`lumotlar bazasi munosabatlarga qarab ob`yektlari bog`laydi. Quydagi munosabatlar mavjud:
1. Birga – bir (1:1)munosabat. A va V ob’ektlar to‘plami orasida 1:1 munosabat o‘rnatilgan deyiladi, agarda A ob’ektning har bir nusxasiga V ob’ektning bitta nusxasi mos kelsa, va aksincha, V ob’ektning har bir nusxasiga A ob’ektning bitta nusxasi mos kelsa.
2. Birga – ko‘p (1:n) munosabat. A va V ob’ektlar to‘plamida A ob’ektning har bir nusxasiga V ob’ektning bir nechta nusxasi mos kelsa, shu bilan birga V ob’ektning har bir nusxasiga A ob’ektning bittadan ko‘p bo‘lmagan nusxasi mos kelsa shunday munosabat hosil bo‘ladi.
3. Ko‘pga – bir (n:1) munosabat A va V ob’ektlar to‘plami orasida o‘rnatilsa, unda A ob’ektning har bir nusxasiga V ob’ektning ko‘pi bilan bitta nusxasi mos keladi. V ob’ektning nushalari orasida shundaylari mavjudki, ularga A ob’ektning bir nechta nusxasi mos keladi.
4. Ko‘pga – ko‘p (m: n) munosabat. A va V ob’ektlar orasida shunday munosabat o‘rnatilgan deyiladi, agarda A ob’ektning har bir nusxasiga V ob’ektni bir nechta nusxasi mos kelsa va aksincha.
Yuqoridagilarga tayangan holda obyektlarni yaratib olamiz (PS bo`yicha).
2.1. jadval.
Rastalar jadvali.
ID |
Rastalar |
1 |
1 rasta |
2 |
2 rasta |
3 |
3 rasta |
4 |
4 rasta |
Bu ob`yektda boshqa bir ob`yekt bilan bog `lanishi uchun id ustuni mavjud. Ob`yektlarni raqamlar orqali bog`lash maqsadga muvofiqdir.
2.2. jadval.
Mahsulot turi jadvali.
ID |
Rasta_id |
Mahsulot turi |
1 |
1 |
Qandolatlar |
2 |
2 |
Mevalar |
3 |
2 |
Ko`katlar |
4 |
2 |
Sabzavotlar |
5 |
4 |
Poliz ekinlari |
6 |
3 |
Go`sht mahsulotlari |
7 |
1 |
Non mahsulotlari |
8 |
1 |
Sut mahsilotlari |
Bu ob`yekt “rasta_id” atributi orqali rastalar ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
2.3. Jadval.
Mahsulotlar jadvali.
ID |
Mahsulot_t_id |
Mahsulot nomi |
Ombodagi miqdori |
Buyurtma miqdori |
Saqlash muddati |
Mahsulot narxi(so`m) |
1 |
2 |
Olma |
150 kg |
130 kg |
4 oy |
5500 |
2 |
2 |
Anor |
100 kg |
90 kg |
4 oy |
4500 |
3 |
2 |
Nok |
100 kg |
20 kg |
4 oy |
6200 |
4 |
8 |
Sut |
25 litr |
30 litr |
2 kun |
2100 |
5 |
6 |
Kolbasa |
50 kg |
55 kg |
3 oy |
16500 |
6 |
6 |
Mol go`shti |
250 kg |
10 kg |
3 kun |
22000 |
7 |
4 |
Karam |
100kg |
10kg |
15 kun |
500 |
8 |
7 |
Non |
500 dona |
90 dona |
1 kun |
550 |
Bu ob`yekt “Mahsulot_t_id” atributi orqali mahsulot turi ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
2.4. Jadval.
Etkazib beruvchilar jadvali.
ID |
Mahsulot_id |
Etkazib beruvchi |
Keltirilgan sana |
Miqdori |
Etkazib berilgan narxi |
1 |
2 |
Saxovat M.Ch.J |
12.09.2013 |
500 kg |
4000 |
2 |
1 |
Yulduz M.Ch.J |
16.08.2013 |
450kg |
5000 |
3 |
5 |
Halol M.Ch.J |
25.08.2013 |
200kg |
15000 |
4 |
3 |
Oila M.Ch.J |
20.08.2013 |
300kg |
5000 |
5 |
4 |
Turna M.Ch.J |
21.08.2013 |
150litr |
1700 |
Bu ob`yekt “Mahsulot_id” atributi orqali mahsulotlar ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
2.5. Jadval.
Omborxona jadvali.
ID |
Mahsulot_id |
Mahsulot keltirilgan sana |
Mahsulot miqdori |
Saqlash muddati |
1 |
2 |
12.09.2013 |
500 kg |
4 oy |
2 |
1 |
16.08.2013 |
450kg |
4 oy |
3 |
5 |
25.08.2013 |
200kg |
3 oy |
4 |
3 |
20.08.2013 |
300kg |
4 oy |
5 |
4 |
21.08.2013 |
150litr |
2 kun |
6 |
6 |
25.08.2013 |
600kg |
2 kun |
Bu ob`yekt “Mahsulot_id” atributi orqali mahsulotlar ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
Nazorat savollari
1. Relyatsion bog`lanish nima?
2. 1:1 munosabatning mohiyati.
3. 1:n munosabat bog`lanishda nimalarga e`tabor qaratish zarur?
4. m:n munosabat bog`lanishga misol keltiring.
5. Ierarxik ma`lumotlar tuzilishi nima?
3 Laboratoriya ishi
Mavzu:Ma’lumot bazasini normallashtirish. 1NF, 2NF, 3NF normal formalar.
Ishdan maqsad: predmet soha ob`yektlari orasida yangi aloqalar yoki bog‘lanishlar o‘rnatish va ularni qayta ishlashni yangi usullarini qo‘llash va normal formalarni o`rganish.
Masalani qo`yilishi: Mavjud normal formalarnni o`rganib chiqib ma`lumotlar bazasini normal formalar asosida shakllantirish.
Uslubiy ko`rsatmalar: MB uzluksiz o‘zgarib turadi. Unda yangi ma’lumot elementlari qo‘shiladi. Ular orasida yangi aloqalar yoki bog‘lanishlar o‘rnatiladi va ularni qayta ishlashni yangi usullari qo‘llaniladi. Bu jarayonda imkoni boricha foydalanuvchi yaratgan MB bilan ishlash uchun yaratilgan dastur ilovasini kam o‘zgartirishga harakat qiladi. Bu muammoni hal qilish uchun ma’lumot elementlarini asosli ravishda guruxlarga birlashtirish va ular uchun kalitlarni aniqlash yo‘li bilan hal qilinishi mumkin. Hozirgi kunda axborot tizimlarini ishlab chiqaruvchilar ma’lumotlarni 3–normal formada tasvirlab ishlatishni taklif etadilar.
Funksional bog‘lanish tushunchasi. Relyasion MB da ma’lumotlarni strukturasidan tashqari ularni sxematik informatsiyasiga ham etibor beriladi. MB ni strukturasi haqidagi informatsiya munosabat sxemasi yordamida beriladi. Sxematik informatsiyalar esa atributlar orasidagi funksional bog‘lanishlar orqali ifodalanadi. MB munosabatlarida atributlarni tarkibini quyidagi talablarga javob beradigan qilib guruxlash kerak:
v Atributlar orasidagi zaruriy bo‘lmagan takrorlanishlar bo‘lmasligi kerak.
v Atributlarni guruxlaganda ma’lumotlar takrorlanishi minimal darajada qilib ta’minlanishi kerak. Bu bevosita ma’lumotlarni tez qayta ishlash imkonini beradi. Bunga normallashtirish jarayoni yordamida erishiladi.
Normallashtirish deganda berilgan munosabatni bir necha marta oddiy va kichik munosabatlarga ajratish tushuniladi. Bu jarayonda mumkin bo‘lgan barcha funksional bog‘lanishlar aniqlanadi.
1–normal forma: Biror bir ob`yekt boshqa ob`yektga bog`lanishi uchun uning hech bo`lmaganda bitta atributi kalit sifatida xizmat qilishi shart. Aslida bu atribut PRIMARY KEY deyiladi. Shunday ekan barcha kalit bo‘lmagan atributlar kalit atributga funksional bog‘langan bo`lishi shart.
2–normal forma: Biror bir ob`yekt kalit atributi orqali boshqa bir ob`yektning bitta atributiga mos ravishda bog`lanadi. Demak PRIMARY KEY va FOREIGN KEY mavjud bo`lishi sharti bor.
3–normal forma: Agar V ob`yekt A ob`yektga, S ob`yekt esa V ob`yektga bog‘langan bo‘lsa, ya’ni , A → V va V→S bunda teskari bog‘linishlar bo‘lmasa, unda S ob`yekt A ob`yektga tranzitiv bog‘langan bo`ladi. Demak 2 ta ob`yektning bog`lanishida 3 ob`yekt vositachi bo`ladi. (3.1 rasm)
3.1 rasm. PS ob`yektlarining bog`lanish strukturasi
3.2 rasm. 1–NFga misol.
Boshqa ob`yekt bilan bog`lanishi uchun id atributi PRIMARY KEY bo`lib xizmat qiladi. Har bir munosabatga ega bo`lgan ob`yektning o`zi alohida 1–NFni tashkil eta oladi. Chunki unda kalit atribut mavjud va kalit bo`lmagan atributlar kalit atributga funksional bog`langan. Qolgan ob`yekt elementlari atamar ya`ni bo`linmas bo`lishi kerak. (3.2 rasm)
3.3 rasm. 2–NFga misol.
Mahsulot turi ob`yektining kalit (ID) atributi orqali “Mahsulotlar” ob`yektining “Mahsulot_t_id” atributiga mos ravishda bog`langan. Demak PRIMARY KEY sifatida mahsulot turi ob`yektining “ID” atributi va FOREIGN KEY sifatida Mahsulotlar ob`yektining “Mahsulot_t_id” atributi xizmat qiladi. (3.3 rasm). Mahsulot turi ob`yekti Mahsulotlar ob`yektiga bog`langan. Mahsulotlar ob`yekti esa etkazib beruvchi ob`yektiga bog`langan. Mahsulot turi ob`yekti etkazib beruvchi ob`yekti bilan bog`lanishida mahsulotlar ob`yekti tranzitiv bog`lovchi vazifasini bajaradi va bir vaqtning o`zida u ham bog`langan hisoblanadi. Agar bir nechta jadval ketma-ket bog`langan bo`lsa u ham 3–NF bo`la oladi. (3.4 rasm) Quydagi rasmda fikrimizni asoslaymiz. (3.5 rasm)
Ushbu bog`lanishlar ham 3–NFdir. Chunki birinchi va to`rtinchi ob`yektlar bog`lanishida ikkita ob`yekt yordamchi bog`lovchi hisoblanadi. Bog`lovchi vazifasini bajaruvchi ob`yektlar nechta bo`lishi ahamiyatsizdir.
Normal formalar orqali barcha savollarga so `rovlar orqali javob topishimiz mumkin. PS ob`yektlaridan foydalanib so`rovlar yaratamiz.
3.4 rasm. 3–NFga misol.
Misollar:
3.5 rasm. PSning barcha ob`yektlari bog`lanishi.
1 misol: “Mevalar” mahsulot turiga tegishli mahsulotlar chiqarilsin.
Bajarish:
Natija:
2 misol: “Sut mahsulotlari” mahsulot turini qaysi firmalar etkazib beradi.
Bajarish:
Natija:
3 misol: Nok qaysi rastada joylashgan?
Bajarish:
Natija:
Nazorat savollari
1 Normal formalar haqida tushuncha bering.
2 Normal formalarining asosiy maqsadi nimalardan iborat?
3 Birinchi normal forma nima?
4 Ikkinchi normal formaga misol keltiring.
5 Uchinchi normal formani ikkinchi normal forma bilan farqini ayting.
6 FOREIGN KEY nima uchun xizmat qiladi?
7 PRIMARY KEY nima?
8 INNER JOIN operatorining qanday ko`rinishlari bor?
9 LEFT JOIN nima?
4 Laboratoriya ishi
Mavzu: SQL tili. SQL tili yordamida ma’lumot bazasini yaratish.
Ishdan maqsad: predmet soha ma`lumotlar bazasini so`rovlar orqali yaratishni va so`rovlar orqali oddiy jarayonlarni bajarishni o`rganish, hamda ko`nikmaga ega bo`lish.
Masalani qo`yilishi: Predmet soha ma`lumotlar bazasini SQL so`rovlari orqali yaratish. Mavjud ob`yektlarni so`rovlar orqali ma`lumotlar bilan to`ldirish, o`zgartirish va keraksiz ma`lumotlarni o`chirishni ko`rib chiqish.
Uslubiy ko`rsatmalar: SQLda so'rovlar orqali ma'lumotlar omboriga ma'lumotlar kiritish, ularni o'zgartirish yoki o'chirish mumkin. Bularning barisi quyidagi komandalar orqali amalga oshiriladi:
- SELECT : ombordan ma'lumotlarni chaqiradi;
- DELETE : omborgi ma'lumotlarni o'chiradi;
- INSERT : omborga ma'lumotlarni kiritadi;
- REPLACE : agar omborga shunaqa yozuv bo'lsa uni yangilaydi, aks holda qo'shib qo'yadi;
- UPDATE : ombordagi ma'lumotni o'zgartiradi.
SQL ning boshqa komandalari ma'lumotlar omborini strukturasini tashkil qilishda ishlatiladi, ya'ni ular ma'lumotlar bilan ishlamaydi.
- CREATE : ma'umotlar ombori, jadval yoki indeks yaratadi;
- ALTER : jadval strukturasini o'zgartiradi;
- DROP : ma'lumotlar omborini yoki jadvalni o'chiradi.
Endi har bir komanda strukturasi ko`rib chiqamiz.
CREATE TABLE `Mahsulotlar` (
`ID` INT(7) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`Mahsulot_t_id` INT(7) NOT NULL,
`Mahsulot nomi` VARCHAR(25),
`Ombordagi miqdori` VARCHAR(12) DEFAULT NULL,
`Saqlash muddati` VARCHAR(12) NOT NULL,
`Mahsulot narxi` INT(6) NOT NULL);
Yuqoridagi misolda “Mahsulotlar” nomli ob`yekt yaratiladi. Unda barcha ustunlar keltirilgan va ularda yacheykalar bo`sh qolish yoki qolmasligi NOT NULL va DEFAULT NULL orqali belgilangan. Qaysiki NUT NULL bo`lgan atribut har bir yacheykasi ma`lumot bilan to`ldirilishi hahrt. Agar DEFAULT NULL bo`lsa atribut yacheykasi bo`sh qoldirilishi ham mumkin.
INSERT INTO Mahsulotlar (Mahsulot_t_id,
Mahsulot nomi, Ombordagi miqdori, Saqlash muddati, Mahsulot narxi)
VALUES (`2` `Olma` `50 kg` `4 oy ` `5000`);
Yaratilgan “Mahsulotlar” obyektining barcha ustunlariga ma`lumot kiritiladi. Etibor bergan bo`lsangiz “ID” ustuniga ma`lumot kiritilmadi. Chunki u ustun yaratilayotganda AUTO_INCREMENT ishlatilgan. Shuning uchun ma`lumot avtomatik tarzda kiritiladi
UPDATE Mahsulotlar SET Ombordagi miqdori= `25`, Mahsulot narxi = `6500` WHERE Mahsulot nomi=`Olma`;
Bu erda “Mahsulotlar” ob`yektiga o`zgartirishlar kiritilmoqda, ya`ni olma mahsulotining ombordagi miqdori va narxi o`zgartirilmoqda.
DELETE * FROM Mahsulotlar WHERE ID=2;
“Mahsulotlar” ob`yektidan id ustuniga “2” bo`lgan satr o`chiriladi.
SELECT * FROM Mahsulotlar;
“Mahsulotlar” ob`yektidagi barcha ma`lumotlar chiqariladi. (*) o`rniga bironta atribut yozilsa o`sha atribut ma`lumotlari chiqariladi.
“Super market” predmet soha uchun so`rovlar yaratishga misollar.
1 Super market predmet sohasining barcha ob`yektlarini sql so`rov orqali yarating.
2 PS barcha ob`yektlari so`rovlar orqali ma`lumotlar bilan to`ldirilsin.
3 Mahsulot ob`yektidan nonni narxi o`zgartirilsin.
4 Mahsulot ob`yektidan nokning Mahsulot_t_id atributi ma`lumoti o`zgartirilsin.
5 Mahsulot ob`yektidan nonning saqlash muddati o`zgartirilsin.
6 Mahsulot ob`yektidan go`shtning narxi va saqlash muddati o`zgartirilsin.
7 Etkazib beruvchilar ob`yektidan ikkinchi qatordagi etkazib beruvchi nomi boshqasiga o`zgartirilsin.
8 Etkazib beruvchilar ob`yektidan Sarbon MChJ ga tegishli bo`lgan barcha malumotlar o`chirilsin.
9 Xodimlar ob`yektidan lavozimi sotuvchi va ismi Alisher bo`lgan xodim ma`lumotlari o`chirilsin.
10 Xodimlar ob`yektidan Sanjarning lavozimi sotuvchidan boshqaruvchiga o`zgartirilsin.
11 Mahsulot turi ob`yektiga sut mahsulotlari obyekti qo`shilsin.
12 Rastalar ob`yektiga yangi rasta qo`shilsin.
13 Xodimlar ob`yektidan Oybek haqida ma`lumot chiqarilsin.
14 Mahsulotlar ob`yektidan narxi 2500 dan kam bo`lgan mahsulotlar chiqarilsin.
15 Mahsulotlar ob`yektidan narxi 1200 va saqlash muddati 4 oy bo`lgan mahsulotlar chiqarilsin.
16 Non mahsulotlariga tegishli bo`lgan mahsulotlar haqida ma`lumot chiqarilsin.
17 Olmani qaysi etkazib beruvchidan olib kelinganligi chiqarilsin.
18 Mahsulotlar ob`yektidan omborda bor va buyurtma berilgan atributlaridan foydalanib super marketda qolgan mahsulot haqida ma`lumot chiqarilsin.
19 Xodimlar ob`yektiga yangi ustun qo`shilib har bir xodimning ish staji yozilgin.
20 Xodimlar ob`yektidan Lolani barcha ma`lumotlari o`chirilsin.
Nazorat savollari
1 SELECT buyrug`iga misol keltiring.
2 (*) nima vazifani bajaradi.
3 DELETE buyrug`ining strukturasini ko`rsating.
4 INSERT buyrug`ining barcha imkoniyatlarini ko`rsating.
5 AUTO_INCREMENT bo`lgan atribut INSERT buyrug`iga e`lon qilinishi shartmi?
6 UPDATE buyrug`i imkoniytalari.
7 WHERE buyrug`idan nima uchun foydalaniladi?
8 CREATE buyrug`ining vazifalari nimalardan iborat?
9 ALTER buyrug`iga misol keltiring.
10 DROP va DELETE buyruqlarining farqi nimada?
5 Laboratoriya ishi
Mavzu: SQL tilidan foydalanib so‘rovlar tizimini yaratish.
Ishdan maqsad: Ma`lumotlar bazasiga so`rovlar tizimini yaratishni o`rganish va ko`nikmaga ega bo`lish.
Masalani qo`yilishi: Loyihalanayotgan ma`lumotlar bazasiga so`rovlar tizimini tuzish va uni relyatsion sxema ko`rinishida tasvirlash. So`rovlar tizimi orqali kerakli ma`lumotlarni aks ettirish.
Uslubiy ko`rsatmalar: Ma`lumotlar bazasi(MB) buyurtmachisi bilan birgalikda, ma`lumotlar bazasiga so`rovlar tizimini ishlab chiqish zarur. Ishlab chiqilgan so`rovlar tizimi relevant yaratilgan “Mohiyat-aloqa” modeliga va buyurtmachi talablarini maksimal darajada qondirish kerak. Agar buyurtmachi qo`ygan talablarga qurilgan “Mohiyat-aloqa” modeli so`rovlar tizimi to`la qanoatlantirmasa, unda predmet sohani qo`shimcha o`rganib va tahlil qilib, “Mohiyat-aloqa” modeli kerakli elementlar, bog`lanishlar va munosabatlar bilan to`ldiriladi.
So`rovlar tizimini ma`lumotlar bazasidan foydalanuvchiga beriladigan aborot bo`yicha standart va nostandart so` rovlarga sinflanadi. Ma`lumotlar bazasiga reglamentlanmagan so`rovlar deb foydalanuvchilarni joriy ehtiyojlariga qarab, lekin qurilgan model imkoniyatlari chegarasida va bu so`rovlarni unga relevantligini saqlangan holda o`zini ta`rifini o`zgartirish imkonini beradigan so`rovlarga aytiladi.
“SUPERMARKET” predmet sohasi ma`lumotlar bazasidan foydalanib bir nechta so`rovlar tizimini ko`rib chiqamiz.
1. Mevalardan tashqari narxlari 500 va 2000 orasida bo`lgan barcha mahsulotlar haqida ma`lumot chiqariladi.
SELECT * FROM Mahsulotlar WHERE [mahsulot narxi] BETWEEN 500 AND 2000;
2. Mahsulotlar soni sanaladi
SELECT COUNT(id) FROM Mahsulotlar;
3. Eng yuqori narxga ega bo`lgan mahsulot narxi chiqariladi.
SELECT MAX([Mahsulot narxi]) as [eng qimmat mahsulot narxi]
FROM Mahsulotlar;
4. Eng arzon bo`lgan mahsulot narxi chiqariladi.
SELECT MIN([Mahsulot narxi]) as [eng arzon mahsulot narxi]
FROM Mahsulotlar;
5. Mahsulotlar narxining o`rta arifmetigini topish.
SELECT AVG([Mahsulot narxi]) FROM Mahsulotlar;
6. Go`sht mahsuloti haqida ma`lumot chiqarish.
SELECT * FROM Mahsulotlar WHERE [Mahsulot nomi] IN (Sut);
7. Mahsulot turi va nomini bitta atributga birlashtirish.
SELECT [Mahsulot nomi] FROM Mahsulotlar
UNION
SELECT [Mahsulot turi] FROM [Mahsulot turi];
8. Birinchi xodim manzili haqida ma`lumot olish.
SELECT FIRST(manzili) FROM Xodimlar;
9. Barcha xodimlarni bir oylik maoshlarini yig`indisini topish.
SELECT SUM(Maosh) FROM Xodimlar;
10. Xodimlar familyalarining bosh harflarini sh
SELECT LEFT(F_I_Sh,1) AS [Familya bosh harflari] FROM Xodimlar;
“SUPERMARKET” predmet soha uchun so`rovlar tizimiga misollar.
1. Xodimlar jadvalidan eng ko`p maosh oladigan xodim haqida ma`lumot chiqarilsin.
2. Berilgan predmet sohaning uchta jadvali INNER JOIN orqali birlashtirilsin va har biridan bittadan ushtun chiqarilsin
3. Xodimlar jadvalidan eng kam maosh oladigan xodim haqida ma`lumot chiqarilsin.
4. Mahsulotlar jadvalidan mahsulot narxi ustuniga narxlarni 10 %ga kamaytirib yozing.
5. Mahsulot jadvalining omborda mavjud mahsulotlar va buyurtma berilgan mahsulotlotlar ustunidan foydalanib omborxonada mavjud mahsulotlar haqida ma`lumot chiqarilsin.
6. Mahsulot jadvalining omborda mavjud mahsulotlar va buyurtma berilgan mahsulotlotlar ustunidan foydalanib omborxonada keltirilishi mumkin bo`lgan mahsulotlar nomi chiqarilsin.
7. Mahsulotlar jadvalidan narxi 20 ming yoki 18 minga teng bo`lgan mahsulotlar chiqarilsin
8. Barcha mahsulotlarning bosh harflari chiqarilsin.
9. Mahsulotlar jadvalidan go`sht mahsulotidan tashqari barcha mahsulotlar chiqarilsin.
10. Supermarketda nechta mahsulot borligi topilsin.
11. Eng qimmat mahsulot topilsin.
12. Xodimlarga bir oyda beriladigan o`rta maosh topilsin.
13. Mahsulot nomlari va mahsulot turlari bitta atributga birlashtirilsin.
14. Xodimlarga beriladigan yillik maosh hisoblansin.
15. Mahsulot nomlari alfavit bo`yicha chiqarilsin.
16. Mahsulot nomlari mahsulot turi bo`yicha guruhlansin.
17. Oxirgi mahsulot haqida ma`lumot chiqarilsin.
18. Mahsulotlar ob`yektidan foydalanib nomlari “g” bilan boshlanadigan mahsulot narxlari va nomlari chiqarilsin.
19. Mahsulot turi ob`yektidan foydalanib birinchi mahsulot turi chiqarilsin.
20. Rastalar va Mahsulot nomi ob`yektlaridan foydalanib birinchi rastaga turgan mahsulotlar haqida ma`lumot berilsin.
21. Eng arzon mahsulot topilsin.
22. Mahsulotlar ob`yektidan foydalanib saqlash muddati tugagan mahsulotlar ma`lum qilinsin.
23. Non mahsulotlariga tegishli barcha mahsulotlar chiqarilsin.
24. Mahsulotlar ob`yektidan foydalanib “Karam” qaysi etkazib beruvchi tomonidan keltirilganligi topilsin.
25. Mahsulot turi va mahsulotlar ob`yektlaridan foydalanib poliz ekinlarining bir kg miqdordagilarining umumiy narxi topilsin.
Nazorat savollari
1. Ma`lumotlar bazasiga qilinadigan so`rovlarni qanday ko`rishlarini bilasiz?
2. Ma`lumotlar bazasiga so`rovlar tuzishda qanday tillardan foydalaniladi?
3. Foydalanuvchi ma`lumotlar bazasiga so`rovlar orqali murojat qilganda nima natijalar beradi?
4. MBBTni qanday toifa funksiyalarini bilasiz?
5. MBBTni asosiy tashkil etuvchilari nimalardan iborat?
6. MB ishlab chiqish uchun MBBT tanlash qanday mezonlar bilan aniqlanadi?
7. So`rovlar tizimini yaratayotganda nimalarga e`tibot berish zarur?
8. FIRST komandasini yana qanday ko`rinishlari bor?
9. BETWEEN nima va u qanday so`rovlar uchun qo`llaniladi?
10. AS komandasinig vazifasi va qo`llanilishi haqida ayting?
6 Laboratoriya ishi
Mavzu: Berilgan predmet soha ma`lumotlar bazasidan foydalanib forma va hisobot tayyorlash.
Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib forma va hisobot tayyorlash ko`niklamalriga ega bo`lish.
Masalani qo`yilishi: Berilgan predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng foydalanuvchiga qulay bo`lishi uchun uni formasini yaratish. Foydalanuvchi barcha ma`lumotlardan to`liq foydalana olishi uchun esa ma`lumotlar bazasini hisobotini tayyorlash.
Uslubiy ko`rsatmalar: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng foydalanuvchiga qulay bo`lishi uchun uni formasini yaratish zarur bo`ladi. Chunki foydalanuvchi baza bilan ishlayotganda barcha o`zgarishlarni forma orqali amalga oshiradi. Bu esa foydalanuvchiga qulaylik yaratadi. Administrator ma`lumotlar ustida ishlayotganda va amallar bajarayotganda yaratilgan formadan foydalanishi maqsadga muvofiqdir.
Foydalanuvchi barcha ma`lumotlarni bir vaqtning o`zida to`liq ko`ra olishi uchun esa ma`lumotlar bazasini hisobotini tayyorlash muhim hisoblanadi. Hisobotda esa barcha ma`lumotlar aks etishi muhim hisoblanadi. Avvalo hisobotda boshqa dasturlar bilan aloqani bog`laydigan(eksport qiladigan) tugmalar mavjud bo`lishi shart. Bu orqali ma`lumotlar bazasida o`z aksini topgan ma`lumotlarni boshqa dasturlarga eksport qilsih imkonini mavjud bo ladi. Quyida forma va hisobot tayyorlashni ko`rib chiqamiz.
Bunda “sozdanie” menyusidan “Master form” bo`limi tanlanadi va yuqoridagi tasvir hosil bo`ladi. (6.1 rasm) Asosan formalar jadvallar va so`rovlar orqali yaratiladi. Mahsulotlar ob`yektidan foydalanib forma yaratamiz.
Forma yaratish.
6.1 rasm. Supermarket PSga forma yaratish.
6.2 rasm. Forma ko`rinish.
Forma yaratishda uning to`rt xil ko`rinishi taqdim etiladi va istalgan bittasi tanlanib “Dalee” tugmasi bosiladi. “Gotov” tugmasi bosilganda quyidagi forma hosil bo`ladi. (6.2 rasm)
6.3 rasm. Mahsulotlar formasining ko`rinishi.
Mavjud formaga tugmalar joylashtirgan holda forma imkoniyatini kengaytirishimiz maqsadga muvofiq. Har bir tugma qandaydr vazifa bajarish uchun joylashtiriladi. Asosan tugma bajaruvchi vazifalar makroslar, opratorlar va VB dasturi orqali amalga oshiriladi. Tugma va boshqa komponentalar “Konstruktor” orqali joylashtiriladi. (6.4 rasm)
6.4 rasm. Formaga tugma qo`yish.
Yuqorida ko`rsatilgan rasmdan formaga qo`yilgan tugmaga buyruqni joylashtirishimiz mumkin. Bu tayyor makrolar hisoblanadi. Masalan bu erda keyingi ma`lumotga o`tqazuvchi tugma joylashtiramiz.
6.5 rasm. Formaga tugma joylashtirilgan holat.
Shunday qilib barcha zarur tugmalar joylashtiriladi. Bundan tashqari tugma “svoystva” bolimiga kirib “Najatie knopki” buyrug`i tanlanadi.
6.6 rasm. Tugmaga dastur va makros orqali buyruq joylashtirish.
6.6 rasmda ko`rsatilganidek makros tanlanib kerak makros ishga tushiriladi. Makroslarning bir nechta ko`rinishi mavjud. Undan tashqari formaga “svoystva” bo`limi orqali dizayn berish imkoniyati ham mavjud bo`ladi.
Hisobot tayyorlash
Hisobot tayyorlashda forma yaratish kabi “sozdanie” menyusiga kirib “Master otchetov” buyrugi` tanlanadi. Keyingi ishlar esa xuddi foy=rma yaratishga o`xshab ketadi.
6.7 rasm. Mahsulotlar1 jadvalining hisoboti.
6.8 rasm. Microsoft Excel dasturiga export qilish.
Hisobotda ham komponentalar joylashritish imkoniyati mavjud. Tugma yaratayotganda forma buyruqlaridan mustasno buyruqlar joylashtiriladi. Masalan eksport, import, pechatga berish, qidiruv, hisobotni yopish va boshqa buyruqlar. Ushbu buyruqlar ham tugma svoystvasiga kirib joylashtiriladi. Quyida ma`lumotlarni Micrisoft Excel dasturiga eksport qiluvchi tugma joylashtirilishi ko`rsatilgan. (6.8 rasm)
Boshqa buyruqlar ham shunday ko`rinishda aks ettiriladi. Hisobotlarga formalar kabi dizayn berish imkoniyati mavjuddir.
Nazorat savollari
1. Ma`lumotlar bazasiga forma qanday o`rin tutadi?
2. Ma`lumotlar bazasiga hisobotlarqanday tayyorlanadi?
3. Foydalanuvchi ma`lumotlar bazasiga forma orqali qanday amallar bajarishi mimkin?
4. Forma va hisobotlar qanday farqlanadi?
5. Qanqay buyruqlarni hisobotga berib bo`lmaydi?
6. Formada qanday buyruq tugmalarini joylashtirish mumkin?
7. So`rovlar tizimini orqali ham forma yaratish minkinmi?
8. Hisobotga qanday komponentalarni joylashtirish maqsadga muvofiq?
9. Eksport qanday omalga oshiriladi?
10. Ma`lumotlar bazasida hisobotlar qanday o`ringa ega?
LABORATORIYA ISHLARINI BAJARISHGA TOPSHIRIQ VARIANTLARI
1. Kutubxona.
2. Avtopark.
3. Maktab.
4. Korxona.
5. Oliy o`quv yurti.
6. Minimarket.
7. Do`kon.
8. Kichik korxona.
9. Futbol klub.
10. Vokzal.
11. Aeroport.
12. Kafedra.
13. Dekanat.
14. Sport kompleksi.
15. Kasb hunar kolleji.
16. Avto salon.
17. Tuman.
18. Shahar.
19. Telefon Tarmoq shaxobchasi(TTSH).
20. Go`zallik saloni.
21. Omborxona.
22. Vazirlik.
23. Hokimiyat.
24. Asaka zavodi.
25. Dorixona.
26. Kasalxona.
27. Web sayt.
28. Dastur.
29. O`quv kursi
FOYDALANILGAN ADABIYOTLAR
1. CHetverikov V.N. i drugie «Bazû i banki dannûx» Moskva, VSH, 1987g.
2. Klivert CH. Ensiklopediya polüzovatelya Delphi2 DiaSoft, Kiev, 1996g.
3. A.YA.Arxangelüskiy Delphi 7, Moskva, izd. «Binom», 2003 g.
4. T. Konnolli, K. Bregg. Bazû dannûx. Universitet Peysli, SHotlandiya, izd M SPB Kiev, 2003g.