O„zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkеnt axborot tеxnologiyalari



Download 9,39 Mb.
bet48/48
Sana06.01.2022
Hajmi9,39 Mb.
#323871
1   ...   40   41   42   43   44   45   46   47   48
Bog'liq
10. Laboratoriya uchun uslubiy korsatma (1)

RIGHT JOIN kon_xodimlari

ON zavod_xodimlari.oyligi = kon_xodimlari.oyligi;
Natija:




12.6 – rasm. Right join qo‘llanishi natijasi.

73


  1. CROSS JOIN operatori

So`rov: SELECT *FROM zavod_xodimlari
CROSS JOIN kon_xodimlari
ON zavod_xodimlari.ish_staji =

kon_xodimlari.ish_staji;
Natija:




12.7– rasm. Cross join qo‘llanishi natijasi.


  1. FULL OUTER JOIN operatori:


So`rov: SELECT *FROM zavod_xodimlari FULL OUTER JOIN kon_xodimlari
ON zavod_xodimlari.FISH=kon_xodimlari.FISH;

Natija:








12.1– jadval. Full outer join

qo‘llanishi natijasi




Xod




FISH




manzili




lavozimi

Ish

oyligi

im_



















_st




id



















aji




1




Eshbotayev




Lalmikor




Tegirmon

10

7000000







Sardor










mashinisti







2




Abirov Dilshod




Marjonbuloq




Labaratoriya

15

9000000



















mudiri


































3




Narzullayev




Lalmikor




Boyitish ishlari

15

10000000







Oybek










boyich







4




Soliyev




Marjonbuloq




Xavsizlik ishlari

10

7000000







Elmurod











































5




Muhammadiye




Olmali




Gruz mashinisti

12

8000000










74
















v Begzod













6

Duvlonov

Lalmikor

Ekalogiya va

16

10000000




Bunyod




atrof muhitga
















javobgar







7

Shobotayev

Oqtosh

Loyiha ishlari

14

9000000




Shahzod




muhandis







1

Aliyev Sarvar

Lalmikor

Burgulash

10

7000000










mashinisti







2

Berdiyorov

Mullabuloq

Bosh loyihachi

15

9000000




Bunyod













4

Mamirov

Gobdin

Gruz mashinisti

12

8000000




Shahzod













5

Abirqulov

Moltob

Tashish

10

7000000




Alisher




mashinisti








Vazifalar


  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN, FULL OUTER JOIN va ON standat so`zilari bilan ishlang.




  1. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari

  1. SQL tilidagi qanday JOIN larni bilasiz?




  1. INNER JOIN qanday vazifani bajaradi?

  2. LEFT JOIN qanday vazifani bajaradi?

  3. RIGHT JOIN qanday vazifani bajaradi?

  4. CROSS JOIN qanday vazifani bajaradi?




  1. FULL OUTER JOIN qanday vazifani bajaradi?

75

13 - LABORATORIYA ISHI Mavzu: Murakkab so„rovlar yaratish. TOP, LIMIT yoki ROWNUM




Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib TOP, LIMIT yoki ROWNUM lardan foydalanishni o`rganish.
Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng undan unumli foydalanishni tashkil etish maqsadida TOP, LIMIT yoki ROWNUM lar orqali so`rovlar yaratish.
Uslubiy ko`rsatmalar: SQL LIMIT va SQL TOP operatorlarining vazifasi belgilangan satrlarni chaqirishdan iborat. SQL TOP operatori MS SQL Serverda ishlaydi, SQL LIMIT operatori esa MySQLda va Oracle da ROWNUM operatori ishlaydi ularnig vazifasi bir hil.
SQL Server / MS Access Syntax:

SELECT TOP number|percent column_name(s)

FROM table_name
WHERE condition;
MySQL Syntax:

SELECT column_name(s)


FROM table_name

WHERE condition

LIMIT number;
Oracle Syntax:

SELECT column_name(s)

FROM table_name

WHERE ROWNUM <= number;


Misol. MS SQL Serverda ishlash

SELECT TOP 3 * FROM Customers;

Misol. SQL da ishlash
SELECT * FROM Customers

LIMIT 3;


Misol. Oracleda ishlash
SELECT * FROM Customers

WHERE ROWNUM <= 3;

76

Ishni bajarish tartibi


Avvalgi bajargan korpus nomli jadvalni chaqirib olamiz. SELECT * FROM korpus;


  1. So`rov: SELECT * FROM korpus LIMIT 3; Buyrug`ini kiritamiz natijada birinchi uchta satr hosil bo`ladi


Natija:



13.1 – rasm. Limit operatori orqali 3 ta qatorni ekranga chiqarish.


  1. So`rov: Select * korpus_nomi FROM korpus LIMIT 2,3; Buyrug`ini yozamiz, natijada 2, 3 satrlar hosil bo`ladi.


Natija:



13.2 – rasm. Limit operatori orqali 2,3 qatorni ekranga chiqarish.


  1. So`rov: SELECT * korpus_nomi FROM korpus ORDER BY korpus_nomi DESC LIMIT 2,3;

77

Natija:






13.3 -rasm. Desc Limit operatori orqali 2,3 qatorni ekranga chiqarish.
Vazifalar


  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da murakkab so`rovlar yaratish.




  1. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari


  1. Murakkab so‗rovlar yaratish ushun qaysi operatorlardan foydalanish mumkin

  2. TOP operatorining vazifasi va u qaysi dasturda ishlaydi?

  3. LIMIT operatorining vazifasi va u qaysi dasturda ishlaydi?

  4. ROWNUM operatorining vazifasi va u qaysi dasturda ishlaydi?

78

14 - LABORATORIYA ISHI


Mavzu: SQL tilida INDEX yaratish
Ishdan maqsad: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanishni o`rganish.
Masalani qo`yilishi: Bu laboratoriya ishida MySQL indekslari, shu jumladan indekslarni yaratish, indekslarni o'chirish, jadvalning barcha indekslarini sanab o'tish va MySQLda boshqa muhim ko'rsatkichlar bilan ishlanadi.
Uslubiy ko`rsatmalar: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanadi. Indekssiz MySQL tegishli satrlarni topish uchun butun jadvalni skanerdan o'tkazishi kerak. Jadval qanchalik katta bo'lsa, u sekinroq qidiradi.
Indekslarni yaratish(creating indexes) - sizni indeks tushunchasi bilan tanishtiradi va jadvalning bir yoki bir nechta ustunlari uchun indeks qanday yaratilishini ko'rsatib beradi.
Indekslarni o'chirish(removing indexes)- jadvalning mavjud indeksini qanday olib tashlashni ko'rsatib beradi.
Jadval indekslarini ro'yxatlash(listing table indexes) - barcha indekslarni yoki jadvalning o'ziga xos indekslarini ro'yxat qilish to'g'risida ma'lumot beradi.
Noyob indekslar(unique indexes) - ustunlarda saqlanadigan aniq qiymatlarni ta'minlash uchun noyob indekslardan foydalanadi.
Prefiks indekslari(frefix indexses) - belgilar qatori ustuniga indeks yaratish uchun prefiks indeksidan qanday foydalanishni ko'rsatib beradi.
Ko'rinmas indekslar (invisible indexes) - indeks ko'rinishini qamrab oladi va indeksni ko'rinadigan yoki ko'rinmas qilib ko'rsatishni ko'rsatadi.
Kichik indekslar (descending indexes) - so'rov samaradorligini oshirish uchun pasayadigan indekslardan qanday foydalanishni ko'rsatib beradi.
Kompozit indekslar (composite indexes) - kompozit indekslarning qo'llanilishini tasvirlaydi va sizning so'rovlaringizni tezlashtirish uchun ularni qachon ishlatishingizni ko'rsatadi.
Klasterli indekslar (clustered indexes) - InnoDB jadvallaridagi klasterlangan indekslarni tushuntiradi.

79

Indeksning kardinalligi (index cardinatily) - indeksning kardiologiyasini tushuntiradi va shou indekslari buyrug'i yordamida uni qanday ko'rishni ko'rsatib beradi.


FOYDALANISH INDEX (use index hint) - jadvalda satrlarni topish uchun so'rovlar optimallashtiruvchisiga belgilangan indekslarning yagona ro'yxatidan foydalanishni ko'rsatishda USE INDEX maslahatini qanday ishlatishni ko'rsatib beradi.
FORCE INDEX hint - jadvaldan ma'lumotlarni tanlash uchun so'rov optimizatorini belgilangan indekslardan foydalanishga majbur qilish uchun FORCE INDEX ko'rsatmalaridan qanday foydalanishni ko'rsatib beradi.
Quyida bazi asosiy so‘rovlar sintaksisi bilan tanishamiz:
Index (ko‟rsatkich) yaratishning MySQLdagi umumiy sintaksisi:

CREATE INDEX indeks_nomi

ON jadval_nomi (ustun1, ustun2, ...);
Masalan:


  1. CREATE INDEX familiya ON shaxslar (familiya);

  2. CREATE INDEX FISH

ON shaxslar (familiya, ism, sharif);
Index (ko‟rsatkich)ni ko‟rsatishning MySQLdagi umumiy sintaksisi:

  1. Show indexes from jadval_nomi;




  1. Show keys from jadval_nomi in malumotlar_bazasi_nomi;


Index (ko‟rsatkich) o‟chirishning MySQLdagi umumiy sintaksisi:

  1. Oracle bazada:

DROP INDEX jadval_nomi.indeks_nomi;




  1. MySQL 5.6.16 da: ALTER TABLE jadval_nomi DROP INDEX indeks_nomi;

Kabi komandalar orqali amalga oshiriladi.




Ishni bajarish tartibi


  1. Bazamizdagi barcha jadvallarni ko‘ramiz:


So`rov: show tables from foydali_qazilma_boyitish_zavodi;

80

Natija:





14.1 – rasm. foydali_qazilma_boyitish_zavodi ma‘lumotlar bazasidagi barcha jadvallarning ro`yxati.


  1. Ishlatilishi” nomli jadvalni ko‟ramiz va “asosiy maxsulot” nomli indeks yaratamiz:


So`rov: Select * from ishlatilishi;
Create index Asosiy_maxsulot on ishlatilishi(maxsulot_id, ishlatilish_turi);
Natija:



14.2 – rasm. Ishlatilishi jadvali uchun indeks yaratish.


  1. Yaratgan indeksimizni ko‘ramiz:


So`rov: show indexes from ishlatilishi; Natija:



14.3 – rasm. Ishlatilishi jadvali uchun yaratilgan indekslar ro`yxati.

81


  1. Endi “Maxsulot” nomli jadvalga ham “Ruda” nomli indeks

yaratamiz:

So`rov: Select *from maxsulot;
Natija:



14.4 – rasm. Maxsulot jadvalidagi ma‘lumotlarni ko`rish.
So`rov: Create index ruda on maxsulot(id, maxsulot_nomi);
Natija:



14.5 – rasm. Maxsulot jadvali uchun ideks yaratish so`rovi.
So`rov: Show indexes from maxsulot;

Natija:



14.6 – rasm. Maxsulot jadvali uchun yaratilgan indekslarni ko‘rish.


  1. ―maxsulot‖ jadvalidan ―Ruda‖ nomli indeksni ko‘ramiz:


So`rov: Show keys from maxsulot in foydali_qazilma_boyitish_zavodi;
Natija: bu so`rov natijasi yuqoridagi so`rov natijasi bilan bir xil bo‘ladi.

82


  1. ―maxsulot‖ jadvalidan ―Ruda‖ nomli indeksni o‘chiramiz:


So`rov: Alter table maxsulot drop index ruda; Natija:



14.8 – rasm. Maxsulot jadvalidan Ruda nomli indeksni o‘chirish so`rovi.
Yuqorida ko‘rib turganingizdek maxsulot jadvalidagi indexlar ko‘rsatilganda ‖Empty set ‖ yani bo‘sh chiqdi;
Xulosa qilib aytganda index bu jadval ustunlarini ko‘rsatadigan ko‘rsatkichdir.


Vazifalar


  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da indekslar bilan ishlang.

  2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari

  1. Indeskslarni vazifasi nima?




  1. Indekslarni yaratish qanday amalga oshiriladi?

  2. Indekslarni o'chirish qanday amalga oshiriladi?

  3. Jadval indekslarini ro'yxatlash vazifasi nima?

  4. Noyob indekslar vazifasi nima?




  1. Prefiks indekslari vazifasi nima?

  2. Ko'rinmas indekslar vazifasi nima?

  3. Kichik indekslar vazifasi nima?

  4. Kompozit indekslar vazifasi nima?

  5. Klasterli indekslar vazifasi nima?

  6. Indeksning kardinalligi vazifasi nima?

  7. Foydalanish index vazifasi nima?

  8. Force index hint vazifasi nima?

83

15 - LABORATORIYA ISHI


Mavzu: Tasavvur (VIEW) yaratish va undan foydalanish
Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib tasavvurlar yaratish.
Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng ob`yektlarda tasavvurlarni yaratish va VIEW dan foydalanish.
Uslubiy ko`rsatmalar: Ba‘zi hollarda SELECT operatorini natijasi emas, tasavvur obyekti bo‗lganda edi, unga oddiy ma‘lumot bazasini oddiy jadvali kabi murojaat qilinar edi. Ko‗p hollarda esa MB uchta jadvaldan iborat ekanligini xisobga olmay, bitta tasavvur ob‘yekti bilan ishlanar edi. Shuning uchun ham MySQLda tasavvurlardan ya‘ni VIEWdan foydalaniladi.
Ma‘lumotlar bazasi jadvallardan tashkil topadi. Jadvallar aloxida fayl ko‗rinishida, yoki birorta faylni bo‗lagi bo‗lishi mumkin.
Ma‘lumki, SELECT operatori yordamida virtual jadvallar yaratish, ya‘ni vaqtinchalik jadvallar yaratish mumkin. Bunday jadvallar vaqtinchalik bo‗lib, yaratgan foydalanuvchi o‗zi undan foydalanishi mumkin.
Tasavvurlar ham vaqtinchalik jadvallar bo‗lib, ular ko`p foydalanuvchilarga murojaat qilishi mumkin va u ma‘lumot bazasidan majburan olib tashlanguncha mavjud bo‗ladi.
Tasavvurlar MB oddiy jadvallariga o‗xshash bo‗lib, ma‘lumotlar saqlovchi fizik obyekt hisoblanmaydi. Tasavvurlarda ma‘lumotlar jadvallardan tanlab olinadi.
Tasavvurlar foydalanuvchilardan jadvallarni ba‘zi ustunlarini yashirish yoki ko‗pincha foydalanuvchiga kerakli bo‗lgan bir nechta jadvaldan bitta yaratish kerak bo‗ladi.
VIEW yaratish va o‟chirishning so‟rovi sintaksisi CREATE VIEW tasavvur_nomi AS
SELECT ustun1, ustun2, ...

FROM jadval_nomi

WHERE shartli_tenglik;
DROP VIEW tasavvur_nomi;

Masalan:

84

CREATE VIEW Braziliya_xaridorlari AS



SELECT xaridor_familiyasi, xaridor_ismi

FROM xaridorlar


WHERE mamlakat = "Braziliya";

DROP VIEW Braziliya;


Ishni bajarish tartibi


  1. Maxsulot jadvalidan 4000 dan ko‘p maxsulotlarni aks ettiruvchi Viewni yaratamiz:


So`rov: Create view 4000_kg_kop_maxsulotlar as select maxsulot_nomi, ogirligi_kg, from maxsulot where ogirligi_kg>4000;
Natija:




15.1 – rasm. View yaratilishi.


  1. Tasavvur (view)ni ko‘ramiz:


So`rov: Select * from 4000_kg_dan_kop_maxsulotlar;
Natija:



15.2 – rasm. Yaratilgan Viewdagi ma‘lumotlarni ko‘rish.


  1. Tasavvurni o‘chirish:


So`rov: Drop view 4000_kg_dan_kop_maxsulotlar;
Natija:



15.3 – rasm. Viewni ma‘lumotlar bazasidan o‘chirish.
85


Vazifalar


  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da Tasavvur, VIEW yarating va undan foydalaning .




  1. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari

  1. Tassavurlar nima?




  1. Tassavurlarni yaratish qanday amalga oshiriladi?

  2. Tassavirlarni o'chirish qanday amalga oshiriladi?

86


  1. LABORATORIYA ISHI

Mavzu: SQLda protseduralar yaratish
Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasi uchun protsedura yaratish.
Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng ob`yektlarda proseduralarni yaratish va ulardan foydalanish.
Uslubiy ko`rsatmalar:
Protsedura bu ma'lumotlar bazasida saqlanadigan oddiy skript tilidagi kichik dastur hisoblanadi. (subprogram kabi). MySQL holatida protseduralar MySQL-da yoziladi va MySQL ma'lumotlar bazasida/serverda saqlanadi.


MySQl da protdedura bilan ishlashning umumiy sintaksisi:


Protsedura yaratish:
delimiter //
create procedure protsedura_nomi(protsedura prototipi) begin




{protsedura so‟rovlar amallar… maydoni} end//


protsedurani chaqirish:


call protsedura_nomi(@prototip)// protsedura natijasini ko‟rish: select @prototip;
Eslatma: delimiterning vazifasi shuki bu kodlarni bitta satrda emas bir necha satrlarda yozib birlashtirish imkonini beradi. Delimiter belgisi orasida proseduraning kodi yoziladi. Uning sintaksisi:


  1. Boshlanishi: Delimiter kalit_belgi




  1. Tugashi:

End kalit_belgi
Masalan:

Delimiter $$

……………………………
End$$

87

Ishni bajarish tartibi




  1. ―Qurilma‖ jadvalini chaqiramiz:


So`rov: select * from qurilma; Natija:




16.1 – rasm. Qurilma jadvalidagi ma‘lumotlarni ko‘rish.


  1. Qurilma jadvalini chiqaruvchi sodda protsedura tuzamiz:


So` rov: Delimiter //
Create procedure chiqarish() Begin
Select * from maxsulot; End//
Call chiqarish(); // Natija:



16.2 – rasm. Chiqarish() prosedurasini ishga tushirish natijasi.

88

Endi boshqacharoq protsedura hosil qilamiz, yani ―master‖ jadvalidan eng katta yoshning qiymatini aniqlovchi protsedura tuzamiz:


Master jadvalini ko‘ramiz:
So`rov: Select *from master;

Natija:



16.3 – rasm. Master jadvalidagi ma‘lumotlarni ko‘rsatuvchi so`rov.


  1. Protsedura yaratamiz:


So`rov: Delimiter //
Create procedure katta_yosh(out k integer) Begin
Select max(yoshi) into k from master; End//
Natija:




16.4 – rasm. Max() funksiyasi qatnashgan prosedura yaratish.


  1. Protsedurani chaqiramiz:


So`rov: Call katta_yosh(@eng_katta_yosh); //

Natija:




16.5 – rasm. Prosedurani chaqirish so`rovi.


  1. Natijani ko‘ramiz:


So`rov: Select @eng_katta_yosh;
89

Natija:






16.6 – rasm. Katta_yosh() prosedurasini chaqirish orqali olingan natija.
Xaqiqatdan ham eng katta yoshdagi master 22 yoshda edi. (2-misol 1 –so‘rov natijasiga qarang)
Eslatma: bu yerda ―//‖ belgi delimiter hisoblanadi u so‘rov tugaganda qo‘yiladi.


Vazifalar
1.Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da protseduralar yarating va undan foydalaning.
2.Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).
Nazorat savollari

  1. Protsedura nima?




  1. Protseduralarni yaratish qanday amalga oshiriladi?

  2. Protsedurani chaqirish qanday amalga oshiriladi?

  3. Delimiter belgisi nima uchun ishlanadi?

90


  1. - LABORATORIYA ISHI


Mavzu: SQLda triggеrlar yaratish
MySQLda, trigger - bu bog'langan jadvalda sodir bo'lgan kiritish, yangilash yoki o'chirish kabi hodisaga javoban avtomatik ravishda chaqiriladigan saqlanadigan dastur. Masalan, jadvalga yangi qator qo'yilishidan oldin avtomatik ravishda ishga tushadigan tetikni belgilashingiz mumkin.
MySQL INSERT, UPDATE yoki DELETE voqealariga javoban ishga tushadigan triggerlarni qo'llab-quvvatlaydi.
SQL standarti triggerlarning ikki turini aniqlaydi: qator-darajali triggerlar va bayonot darajasidagi triggerlar. Qo'shilgan, yangilangan yoki o'chirilgan har bir satr uchun qator darajasidagi trigger faollashadi. Masalan, agar jadvalda 100 satr qo'shilgan, yangilangan yoki o'chirilgan bo'lsa, ta'sirlangan 100 ta satr uchun trigger avtomatik ravishda 100 martta chaqiriladi. Qancha qator qo'shilgan, yangilangan yoki yo'q qilinganidan qat'iy nazar, bayonot darajasidagi trigger har bir operatsiya uchun bir martta bajariladi.
MySQL da tiriggerlarning yaratilish umumiy sintaksisi:
CREATE TRIGGER trigger_nomi trigger_joylashishi trigger_buyrug‟i
ON jadval_nomi FOR EACH ROW trigger_tanasi;

Bu yerda trigger ishlatilishi turlari:




  1. Before (oldidan)




  1. After (oxiridan) va boshqalar. Trigger buyruqlari turlari:

  1. Insert (kiritish)




  1. Update (yangilash)

  2. Delete (o‘chirish) va boshqalar

91

Ishni bajarish tartibi


Bizda master jadvali bor edi. Triggerlar bilan ishlash uchun master0 degan jadval yaratamiz:



17.1 – rasm. Master0 jadvalining yaratilishi.

Endi triggerlarni yaratishni boshlaymiz:




  1. Before update trigger Master jadvaliga e‘tibor qilaylik.



17.2 – rasm. Master jadvalidagi ma‘lumotlarni ko`rish so`rovi.
1.1. Master_yangilash triggerini yaratamiz.



17.3 – rasm. Master_yangilash triggerini yaratish.

1.2.Master0 jadvalini ko‘ramiz.




17.4 – rasm. Master0 jadvalidagi ma‘lumotlarni ko`rish so`rovi.
1.3. Yaratgan triggerimizni ishlatamiz, yani ID 1ga teng xodim yoshiga 2 ni qo‘shib yangilaymiz;

92



17.5 – rasm. Master jadvali.
1.4. Master jadvaliga yana bir nazar solsak o‘zgarishni ko‘ramiz;




17.6 –rasm. Update operatorini ishlatgandan keyin Master jadvalidagi ma‘lumotlar.


  1. Master0 jadvalini ko`ramiz.




17.7 – rasm. Update opertaorini ishlatgandan keying master0 jadvali.

93

2.1. Master_yangilash1 triggerini yaratamiz;





17.8 – rasm. Master_yangilash triggerini yaratish.
2.2. Triggerni ishlatamiz; IDsi 3ga teng xodimning yoshiga 5 ni qo‘shamiz;

Eslatma: bu ma‘lumotni yuqorida master0 jadvaliga ham ko‘chirdik;






17.9 – rasm. Trigger yaratilgan jadvalda Update operatorini qo‘llash.
2.3. Master0 ni ko‘ramiz;



17.10- rasm. Update operatorini ishlatilganidan keyin master0 jadvalidagi ma‘lumotlarning o‘zgarishi.
2.4. Master jadvalidagi o‘zgarishni ham ko‘ramiz;



17.11– rasm. Master jadvalidagi Update operatorini qo`llagandan keying o`zgarishlar.
3. Before insert trigger:

3.1. master_kiritish_oldin triggerini yaratamiz.

94



17.12 – rasm. Master_kiritish_oldin triggerini yaratish so`rovi.
3.2. Yaratgan triggerimizni ishlatamiz va natijasini master0 jadvalida ko‘ramiz; ya‘ni biz trigger yordamida yangi satr kiritdik.




17.13 – rasm. Master_kiritish_oldin triggerni ishlashi natijasi.
4. After insert trigger

4.1. Master_kiritish_keyin triggerini yaratamiz.



17.14 – rasm. Master_kiritish_keyin triggerini yaratish so`rovi. 4.2. Yaratgan triggerimizni ishlatamiz va natijasini master0 jadvalida ko‘ramiz; ya‘ni biz trigger yordamida yana yangi satr kiritdik.

95



17.14 – rasm. Master_kiritish_keyin triggerining ishlash natijasi.
5. Before delete trigger

5.1. Master_ochirish_oldin triggerini yaratamiz;




17.15 – rasm. Master_ochirish_oldin triggerini yaratish.
5.2. Yaratgan triggerimizni ishlatamiz va natijasini master0 jadvalida ko‘ramiz; ya‘ni biz trigger yordamida ID 5 ga teng satrni o‘chirdik.



17.16 – rasm. Master0 jadvalidan satr o`chirish natijasi
6. After delete trigger

6.1. Master_ochirish_keyin triggerini yaratamiz;

96



17.17 – rasm. Master_ochirish_keyin triggerini yaratish
6.2. Yaratgan triggerimizni ishlatamiz va natijasini master0 jadvalida ko‘ramiz; yani biz trigger yordamida ID 1 ga teng satrni ham o‘chirdik.



17.18– rasm. Master0 jadvalidan satr o`chirish natijasi.
7. drop trigger:
7.1. Oldingi misollarda yaratgan master_ochirish_oldin triggerini o‟chiramiz;



17.19– rasm. Ma‘lumotlar bazasidagi triggerni o‘chirish.

97

Vazifalar


1.Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da protseduralar yarating va undan foydalaning.
2.Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).
Nazorat savollari

  1. Triggerni yaratish qanday amalga oshiriladi ?




  1. Protseduralarni yaratish qanday amalga oshiriladi?

  2. Protsedurani chaqirish qanday amalga oshiriladi?

  3. Delimiter belgisi nima uchun ishlanadi?

98

18 - LABORATORIYA ISHI



Mavzu: C++ va ma‟lumotlar bazasi yordamida oddiy

interfeys yaratish
Ishdan maqsad: C++ va ma‘lumotlar bazasi yordamida oddiy interfeys yaratishni o`rganish va ko`nikmaga ega bo`lish.
Masalani qo`yilishi: C++ builder 6 dasturining ma`lumotlar bazasi bilan ishlaydigan komponentalarni o`rganish va ular ishtirokida ma`lumotlar bazasi ma`lumotlari bilan oddiy interfeys yaratish. Ma`lumotlar bazasi sifatida MySQL va interfeys sifatida C++ builder 6 dasturlari o`rtasida aloqa o`rnatish.
Uslubiy ko`rsatmalar: C++ dasturlash tilida ma`lumotlar bazasi bilan ishlaydigan ADO, DataAccess, DataControl va dbExpress kabi komponenta bo`limlari mavjud. Ular orqali ma`lumotlar bazasi ustida amallar bajarilishi mumkin. Interfeysda ma`lumotlar bazasini chaqirish uchun ADOConnection, ADOQuery va DataSource komponentalaridan foydalanish kifoya. Ma`lumotlar bazasidagi ob`yektni aks ettirish uchun esa DBGrid komponentasidan foydalaniladi. DBGrid komponentasi jadvallarni aks ettiradigan komponenta hisoblanadi.
ADO Connection komponentasi ADO bo`limida joylashgan bo`lib, u ma`lumotlar bazasi bilan aloqa o`rnatishga
xizmat qiladi.
ADO Query komponentasi ham ADO bo`limida joylashgan bo`lib bog`langan ma`lumotlar bazasiga so`rovlar yozishda ishlatiladi.
DataSource komponentasi esa Data Access bo`limida joylashgan bo`lib, so`rovlarni dbGrid komponentasi, ya‘ni so`rovlarni jadvallarda aks ettiradi.
Yuqorida ko`rib chiqilgan komponentalar ma`lumotlar bazasi bilan aloqa o`rnatishda muhim komponentalar hisoblanadi. Ma`lumotlar bazasini boshqarish tizimining qaysi turi bo`lishidan qat`iy nazar bu komponentalardan foydalaniladi.

99

Ishni bajarish tartibi


Ma‘lumotlar bazasini forma bilan bog‘lashni boshlash uchun quyidagi vazifalarni bajaramiz:
1. Kompyuter menyusida boshqaruvlar paneli tanlanadi.




18.1 – rasm. Asosiy kompyuter oynasi.
2.Adminlashtirish bolimiga kiriladi va unda ma‘lumotlar manbalari tanlanadi



18.2 – rasm. ―Панель управления‖ oynasida ―Администрирование‖ bo`limini tanlash.

100




18.3 – rasm. ―Администрирование‖ ichidan ma‘lumot manbalari ―Источники данных‖ tanlash.


  1. Qo‘shish tugmasi bosiladi



18.4 – rasm. “Администратор источников данных‖ oynasi.

101


4. MySQL ODBC 5.2 ANSI Driver tanlanadi



18.5 – rasm. Ma‘lumotlar bazasi uchun mos drayver tanlash oynasi


  1. Bog‘lanishni oxiriga yetkazish uchun quydagi oyna ko‘rsatilganidek to‘ldiriladi va test tugmasi bosiladi.



18.6 – rasm. MySQL Connector oynasi ma‘lumotlarini to‘ldirish.
6. Test to`g`ri ishlasa, ―Connection successful‖ yozuvi chiqadi.

102




18.7 – rasm. Bog`lanish muvaffaqiyatli amalga oshirilgani haqidagi xabar oynasi.


  1. C++ builder 6 programma ishga tushuriladi va ishga tushganda Form1 oyna ochiladi.




18.8 – rasm. C++ builder 6 programmasi Form1 oynasi.
Bu oynada bizga kerakli funksiyali ―Icon‖lar tanlanadi ADO menusidan―Ado connection‖va―Table Data Access‖dan―Data Source―, ―Data Controls‖dan ―DB grid‖ va ―DB navigator‖larni tanlab olamiz. Natijada 18.10 - rasmdagi oyna xosil bo`ladi.
103



18.9 – rasm. ADO menyusidan tanlangan Iconlarning Form1 oynasidagi holati.


  1. ―Data connection‖ni ustiga bosib burchakdagi oynadan ―Connection String‖ni tanlab ―Build‖ni bosamiz, natijada 18.10 - rasmdagi oyna hosil bo`ladi.




18.10 – rasm. ADOConnection1 ConnectionString oynasi.

104




18.11 – rasm. ―Свойства канала передачи данных‖ oynasi.


  1. 18.11 - rasmdagi oynadan Microsoft OLE DB provider for ODBC drivers ni tanlaymiz va natijada 18.12 rasmdagi oyna hosil bo‘ladi undan avvaldan ochilgan MySQL obrazni tanlaymiz



18.13 – rasm. MySQL obrazni tanlash oynasi.

105

Keyingi qadam esa ADOQuery komponentasining SQL xususiyatga so`rov yozish bilan davom ettiriladi.



18.14 rasm. SQL xususiyati oynasi.
ADOQuery komponentasining Active xususiyatiga ―True‖ belgilanadi. Shundagina kiritilgan so`rovishga tushadi va tekshiriladi.
DataSource komponentasininng DataSet xususiyatiga ―ADOQuery1‖ belgilanadi. Bu bilan ikkita komponent o`rtasida aloqa o`rnatiladi.
Kiritilgan so`rovni aks ettirish uchun yana bir komponenta DBGrid komponentasi kerak bo`ladi. Bu komponenta Data Controls bo`limida joylashgan. U ishga tushirilgandan keyin esa Data Source xususiyatiga ―DataSource1‖ belgilanadi. Tayyor bo`lgan loyiha kompilyatsiya qilinadi. Bu jarayon 18.15 - rasmda aks ettirilgan.

106




18.15 - rasm. Kompilyatsiya jarayoni.

Bu loyiha har safar ishga tushirilganda ma‘lumotlar bazasi


logini

va paroli tizim


tomonida so`raladi.
Buni oldini olish
uchun

ADO
Connection


komponentasining
LoginPromt
xususiyatiga

―False‖ belgilanadi.





Vazifalar
1.Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun yaratilgan ma‘lumotlar bazasini forma bilan bog‘lang.
2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari


  1. Ma`lumotlar bazasi bilan aloqa bog`lashda qaysi komponentalardan foydalaniladi?




  1. ADO komponentalar bo`limida qanday komponentalar mavjud?

  2. ADOConnect komponentasi nima vazifani bajaradi?




  1. ADOQuery komponentasi xususiyatlari haqida ma`lumot bering. 5. DataSource komponentasi vazifasi.




  1. DBGrid qanday komponenta?




  1. Oracle bilan bog`lanishda C++ning o`ziga xos xususiyatlari nimada?




  1. Oracle bilan bog`lanishda server nomiga nima yoziladi?

  2. Kompilyatsiya jarayoni qanday amalga oshiriladi?

  3. Qanday komponentalar forma osti komponentalari hisoblanadi?

107


19 - LABORATORIYA ISHI
Mavzu: C++ da ADO va ODBC dan foydalanib qatorlarga

ma‟lumot kiritish, o`zgartirish va o`chirish
Ishdan maqsad: C++ da ADO va ODBC dan foydalanib qatorlarga ma‘lumot kiritish, o`zgartirish va o`chirishni o`rganish va ko`nikmaga ega bo`lish.
Masalani qo`yilishi: C++ dasturlash tilining ma`lumotlar bazasi bilan ishlashga mo`ljallangan komponentalardan foydalanib
ma`lumotlar bazasiga ma`lumotlarni kiritish, o`zgartirish va o`chirish amallarini bajarish. Bu amallarni DBNavigator komponentasi va so`rovlar orqali hosil qilish maqsadga muvofiqdir.
Uslubiy ko`rsatmalar: C++ da ADO va ODBC dan foydalanib qatorlarga ma‘lumot kiritish, o`zgartirish va o`chirish uchun kerakli komponentalarni ishga tushirish zarur. Bu komponentalarni asosini 18 laboratoriyada ko`rilgan komponentalar
tashkil qiladi. Bu laboratoriya mashg`uloti yuqoridagi laboratoriya mashg`uloti davomi sifatida qaraladi. ADO va ODBC dan foydalanib qatorlarga ma‘lumot kiritish, o`zgartirish va o`chirishni tashkil qilish uchun birinchi navbatda BDNavigator komponentasi ishga tushuriladi(Boshqa asosiy komponentalar 18


  • laboratoriyada ishlatilgan. Bu uning davomi sifatida ishlatiladi).


Ishni bajarish tartibi


    1. ―ADOConnection‖da ―connected‖ni truega va ―Login Prompt‖ni falsega o`zgartiramiz va ―ADOTable1‖ da rejimni

―Active‖da truega o‘zgartirib Connectionda ADOConnection1 ni tanlaymiz va ADOTabledan ―Table name‖dan kerakli jadval nomini tanlaymiz. Natija ko‘rinishi uchun Data Source1 dan ADOtable1 ni


DataSet menyusida tanlaymiz. Buni bajarilishi 19.1-rasm va 19.2-rasmda ko`rsatilgan.

108




19.1-rasm. Ma‘lumotlar bazasini C++ ga bog‘lashda amalga oshiriladigan amallar.



19.2 – rasm. Object inspector qismida ADOTable1ni tanlash amali.


  1. Shunda quydagi natijaga erishamiz va Data Navigatorni ham Data table 1 ga bo‘glaymiz. Bu bizga element qo`shish, o`chirish,

109


yangilash uchun kerak bo‘ladi.(19.3-rasm)




19.3 - rasm. Data Navigatorni Data table1ga bog‘lanishi.


  1. Form1ni ishlatib ko‘ramiz va bir nechta ustun qo‘shib o‘chirib ko`ramiz. (19.4 rasm)



19.4 – rasm. Form1 oynasini ishga tushirish natijasi.



19.5 - rasm. C++ Builder 6 dasturining komponentalari.

110


19.5 – rasmda ko`rsatilgan komponentalardan foydalanib interfeys orqali ma`lumotlar bazasiga ma`lumot kiritish, o`zgartirish va o`chirish amallari bajariladi.
Endi o`zimizning bazamizda bu jarayonlarni amalga oshiramiz.


  1. DBNavigator komponentasidan foydalanib ma`lumotlar ustida amallar bajarishni ko`rib chiqamiz. DBNavigator komponentasi Data Control komponentalar bo`limida joylashgan.



19.6 - rasm. Dastur oynasi.
19.6-rasmda interfeys keltirilgan bo`lib, unda DBNavigator komponentasi ishga tushirilgan. U komponentani o`lchamlarini

o`zgartirish imkoniyati mavjud.


Ma`lumotlar ustida amallar bajarish uchun DBNavigator komponentasining DataSourc komponentasi DataSource komponentasi nomiga moslashtiriladi (19.7 rasm).



19.7 - rasm. DBNavigator xususiyati.

111

19.7 - rasmda DBNavigator komponentasining xususiyatlari keltirilgan.
Bu xususiyatlar orqali komponentani o`lchamlarini o`zgartirish, formada joylashgan o`rnini aniqlash, DataSourceni tanlash kabi xususiyatlarini ko`rish mumkin.
Barcha sozlamalarni o`rnatib bo`lgandan keyin loyixa ishga tushiriladi va DBNavigator bilan Data Source bog`langanligi tekshirib ko`riladi (19.8 rasm).




19.8 - rasm. Loyixaning kompilyatsiya jarayoni.
Interfeys orqali ma`lumotlar ustida amal bajarish uchun boshqa usullardan ham foydalanish imkoniyati mavjud. Buning uchun Edit va Button komponentalaridan foydalaniladi.Qidirilayotgan mahsulot nomi Editda yoziladi va Button orqali qidiruvni amalga oshirishni ko`rib chiqamiz.



19.9 - rasm. Edit va Button komponentasidan foydalanish.

19.9 – sichqonchani


rasmda ko`rsatilgan chap tugmasi ikki
Button marta
komponentasi ustiga bosiladi va dasturning

112


kod qismiga o`tiladi. Button komponentasining kod qismiga o`tilgandan keyin quyidagi C++ operatorlari ketma ketligi yoziladi.
void __fastcall
TForm1::Button1Click(TObject *Sender) {

// Edit komponentasidan ma`lumotni o`qish


String s=`SELECT * FROM MAHSULOT WHERE MAHSULOT_NOMI='`+Edit1-

>Text+`'`;

//ADOQuery1 komponentasi

bilan ishlash ADOQuery1-


>Close();
ADOQuery1->SQL-

>Clear();

ADOQuery1->SQL-
>Add(s);

ADOQuery1-

>Open();
}
Kod yozilgandan keyin dastur kompilyatsiya qilinadi va qidirilayotgan mahsulot nomi yoziladi.



19.10 - rasm. Interfeys asosiy oynasi.
19.10 – rasmda interfeysning asosiy oynasi keltirilgan bo`lib, unda ―Oltin‖ so`zi qidirilgan. Bu qidiruvni amalga oshirish uchun Edit komponentasiga qidirilayotgan mahsulot nomi yoziladi va ―Qidir‖ tugmasi bosiladi. Qaysidir ma`noda bu qidiruv deyiladi.

113


Aslida esa tanlash deb yuritiladi, ya`ni bir nechta qatorlar ichidan kerakli bo`lganlarini ajratib olishdir. Bu vazifa tugmani bosgandagina amalga oshadi. Chunki SQL so`rovlar va C++ kod belgilangan tugmaning Click xossasi ichiga yozilgan. Interfeys orqali ma`lumotlarni o`zgartirish va o`chirish imkoniyatlari ham mavjud.
Vazifalar

1.Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga

muvofiq mavzu uchun yaratilgan forma bilan MBni bog‗lash.
2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).
Nazorat savollari
1. Ma`lumotlar bazasibilanaloqa bog`lashda qaysi

komponentalardan foydalaniladi?




  1. Ma`lumotlarni intefeys orqali kiritishning qanday usullari bor?

  2. DBNavigator qanday komponenta?

  3. DataSource komponentasi vazifasi.

  4. DBGrid va DBNavigatorni qanday qilib bog`lash mumkin?




  1. Oracle bilan bog`lanishda C++ning o`ziga xos xususiyatlari nimada?




  1. Qanday komponentalar forma osti komponentalari hisoblanadi?




  1. C++da kod orqali ma`lumotlarni kiritish, o`zgartirish va o`chirish mumkinmi?




  1. C++ dasturlash tilida SQL so`rovlarni aks ettirish mumkinmi?

  2. Interfeys orqali ma`lumotlarni o`zgartirib ko`ring.

114


20LABORATORIYA ISHI
Mavzu: C++da Windows Forms Data Controldan foydalanish
Ishdan maqsad: C++da Windows Forms Data Controldan foydalanishni o`rganish va ko`nikmaga ega bo`lish.
Masalani qo`yilishi: C++ dasturlash tilining Data Controls komponentalar bo`limida mavjud bo`lgan barcha komponentalarni amalda qo`llashdan iborat. Bundan tashqari komponentalarning xususiyatarini o`rganib chiqish ham ko`zda tutilgan.
Uslubiy ko`rsatmalar: C++ dasturlash tilida Data Controls komponentalar bo`limi bo`lib, unda 15 ta komponenta joylashtirilgan. Bular bajaradigan vazifalariga qarab ajratiladi. Asosan bu komponentalar ma`lumotlar bazasi ma`lumotlari bilan ishlash uchun mo`ljallangan.



20.1 - rasm. Data Control komponentalar bo`limi.
Data Controls komponentalar bo`limida mavjud bo`lgan komponentalar haqida quyida keltirilgan.

- DBGrid – bu ma`lumotlar bazasi ob`yektlarini intefeysda to`liqligicha aks ettira oladigan yagona komponenta hisoblanadi. BDGrid jadval ko`rinishi shakllantiriladi. U har


bir yacheykada joylashgan ma`lumotlarni ‖ADOQuery‖ komponentasining ―SQL‖ xususyatiga yozilgan so`rov orqali oladi.

- DB Navigator – bu komponenta orqali ma`lumotlar bazasi ob`yektlariga to`g`ridan–to`g`ri murojaat qilish mumkin. Komponenta ma`lumotlarni kiritish, o`zgartirish, o`chirish kabi amallarni bajarishga yordam beradi.

- DBText – bu komponenta ―Label‖ komponentasiga o`xshash, lekin buning text xossasi yo`q. U
ma`lumotlarni ma`lumotlar bazasidan oladi. DBText komponentasining ―DataSource‖ va ―DataField‖ xususiyatlari bo`lib,
115

unda yaratilgan datasource va belgilangan ob`yekt atributi ko`rsatiladi.





  • DBEdit – bu ma`lumotlar bazasidagi ob`yektning belgilangan taributi elementini aks ettiradi.




  • DBMemo - Memo matnlarni bir necha qator qilib

chiqarish uchun ishlatiladi. Bu matn chiqarish maydoni dasturda

natijalarni chiqarishda qo`l keladi.Natijani chiqarishda u dastur ichida quyidagicha ishlatiladi. Memo1.Lines.add('Echim='+S); Memo maydonini tozalash esa


natijani chiqarishdan oldin modulda Memo1.Clear buyrug`ini berish bilan amalga oshiriladi.



  • DBListBox - komponenti ro`yxat va bir o`lchamli massiv ko`rinishdagi ma‘lumotlarni ekranga aks ettirishda ishlatiladi. Ma‘lumotlarni kiritishda esa Edit komponentasidan foydalaniladi. DBListBox komponentasi Standart komponentalar palitrasida joylashgan.

- DBComboBox - komponenti ro`yxat va bir o`lchamli massiv ko`rinishdagi ma‘lumotlarni ekrandan kiritish uchun ishlatiladi. U DBListBox va DBEdit komponentalarining birgalikdagi ishini bir o`zi bajaradi. Tashqi ko`rinishdan bu komponent oddiy DBEdit kiritish qatorini eslatadi. Uning o`ng qismida pastga belgisi bo`lib, kiritilayotgan ma‘lumotlarni ko`rib borish mumkin.





  • DBCheckBox - bog`liq bo`lmagan tanlash tugmalarini

yaratadi.

116

Bundan tashqari Data Control komponentalar bo`limida DBImage,DBRadioGroup,DBLookupListBox, DBLookupComboBox, DBRichEdit, DBCtrGrid va DBChart komponentalari ham mavjud.


Quyida Data Control komponentalaridan bir nechta misollar keltiriladi. DBrid va DBNavigator komponentlalaridan yuqoridagi
laboratoriya ishlarida misollar keltirilgan. DBText va DBEdit komponentalaridan foydalanish ko`rib chiqilgan.



20.2 - rasm. DBText komponentasining ishlatilishi.
20.2 - rasmda keltirilgan DBText komponentasini ishlatish ko`rsatilgan bo`lib, uning xususiyatiga murojaatni amalga oshirish zarur. Bu komponentaning DataSource va DataField xususiyatlari asosiy hisoblanadi. Bu xususiyatlar yordamida ma`lumotlar bazasidan ma`lumotlarni o`qish imkoni mavjud bo`ladi. Buning uchun DataSource xususiyati datasource nomiga va DataField xususiyati esa ma`lumotlar bazasining ob`yekti atributi nomiga tenglashtiriladi. Bu ikki xususiyat DBText komponentasini Label komponentasidan farqlab turadi. Chunki bu xususiyatlar orqali ma`lumotlar bazasi bilan bog`lanish imkoniyati mavjud.

117




20.3 - rasm. DBText komponentasini ma`lumotlar bazasi bilan bog`lash.

20.3 - rasmda DBText komponentasini ajratib ko`rsatilgan. Ma`lumotlar bazasi bilan xususiyatlar muhim hisoblanadi.


ikkita xususiyati bog`lanishda bu


Vazifalar
1.Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun yaratilgan ma‘lumotlar bazasini forma bilan bog‘lang.

2.Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).


Nazorat savollari


  1. Data Control komponentalar bo`limida qanday komponentalar aks ettirilgan?

  2. DBGrid komponentasining vazaifasi?

  3. Data Control bo`limining asosiy komponentalari.

  4. DBText komponentasining vazifalari va xususiyatlari.




  1. Ma`lumotlar bazasi bilan bog`lashda qaysi xususiyatlar muhim hisoblanadi?




  1. DataSource ma`lumotlar bazasi bilan bog`lashda qanday ahamiyatga ega?




  1. Komponentalarning DataField xususiyati orqali qanday amallarni bajarish

mumkin?


  1. Data Control bol`imida nechta komponenta mavjud?

118


LABORATORIYA ISHLARINI BAJARISHGA TOPSHIRIQ VARIANTLARI

  1. Aeroport ma`lumotlar bazasini yaratish.




  1. Avto salon ma`lumotlar bazasini yaratish.

  2. Dekanat ma`lumotlar bazasini yaratish.

  3. Do`kon ma`lumotlar bazasini yaratish.

  4. Futbol klub ma`lumotlar bazasini yaratish.

  5. Hokimiyat ma`lumotlar bazasini yaratish.

  6. Asaka zavodi ma`lumotlar bazasini yaratish.

  7. Dorixona ma`lumotlar bazasini yaratish.

  8. Kafedra ma`lumotlar bazasini yaratish.

  9. Kasalxona ma`lumotlar bazasini yaratish.

  10. Kasb hunar kolleji ma`lumotlar bazasini yaratish.

  11. Internet magazin ma`lumotlar bazasini yaratish.

  12. Kutubxona ma`lumotlar bazasini yaratish.

  13. Avtopark ma`lumotlar bazasini yaratish.

  14. Maktab ma`lumotlar bazasini yaratish.

  15. O`quv kursi ma`lumotlar bazasini yaratish.

  16. Oliy o`quv yurti ma`lumotlar bazasini yaratish.

  17. Minimarket ma`lumotlar bazasini yaratish.

  18. Omborxona ma`lumotlar bazasini yaratish.




  1. Web sayt ma`lumotlar bazasini yaratish.

  2. Shahar ma`lumotlar bazasini yaratish.

  3. Sport kompleksi ma`lumotlar bazasini yaratish.




  1. Telefon tarmoq shaxobchasi(TTSH) ma`lumotlar bazasini yaratish.

  2. Go`zallik saloni ma`lumotlar bazasini yaratish.

  3. Tuman ma`lumotlar bazasini yaratish.

  4. Vokzal ma`lumotlar bazasini yaratish.

119


FOYDALANILGAN ADABIYOTLAR


  1. В.П. Базы данных. Книга 2 распределенные и удаленные базы данных: учебник.// Москва ИД «ФОРУМ» - ИНФРА-М. – 2018. –

С 261.



  1. Голицына О.Л. Базы данных: учеб. Пособие // – 4-е изд., перераб. И доп. – М.: ФОРУМ: ИНФРА-М, 2018. – 400 с.




  1. Мартишин С.А. Базы данных. Практическое применение СУБД SQL –и NoSQL – типа для проектирования информационных систем: учеб. Пособие // - Москва: ИД

«ФОРУМ» - ИНФРА-М, 2019, – 368 с.




  1. Rahul Batra. SQL Primer An Accelerated introduction to SQL Basics.// Gurgaon, India. 2019. –P 194.




  1. Поликов А.М. Безопасность Oracle глазами аудиториа: нападение и защита. –Москва. 2017. –336 с.




  1. Usmonov J.T., Xujaqulov T.A. Ma‘lumotlar bazasini boshqarish tizimi// o`quv qo`llanma. - Т. : Aloqachi, 2018. – 96 b.




  1. Usmonov J. T., Xo'jaqulov T. A. Ma'lumotlar bazasini boshqarish tizimi fanidan laboratoriya ishlarini bajarish bo'yicha uslubiy ko'rsatma - Т. : TATU, 2016. – 55 b.




  1. Eric Redmond, Jim R. Wilson. A Guide to Modern Databases and the NoSQL MovementAQSH, 2015. – 347 с.




  1. Elmasri, R., S. B. Navathe: Fundamentals of Database Systems (5th Ed.)// Addison Wesley, 2015. – 671 р.




  1. Fundamentals of database systems sixth edition. Ramez Elmasri. Department of Computer Science and Engineering The University of Texas at Arlington. 2011. – 261 с.




  1. Введение в Oracle 10g. Перри Джеймс, Пост Джеральд. 697

стр 2013


  1. Диго С.М. Базы данных Проектирование и использование. издательство "Финансы и статистика". 2005 г. – 592 с.




  1. Конноли Т., Брегк К. Базы данных, проектирование, реализация и сопровождения, теория и практика, Университет Пейсли, Шотландия, изд. М.- СПБ.- Киев. 2003. – 264 с.




  1. www.intiut.ru;

  2. www.oracle.com

  3. www.w3school.com

  4. www.ziyonet.uz;

120


1- ilova. ―Ma‘lumotlar bazasi‖ fanidan laboratoriya ishlari bo'yicha hisobot titul varag`ini rasmiylashtirish misoli
O'ZBЕKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKЕNT AXBOROT TЕXNOLOGIYALARI UNIVЕRSITЕTI

―Axborot texnologiyalari‖ kafedrasi


Laboratoriya ishi bo`yicha
HISOBOT

Bajardi:________________________


__ Familiya
Tekshirdi:______________________

__ Familiya

Sana_____________

TOSHKENT 2020 yil

2-ilova. Ma‘lumotlar bazasi fanidan tayyorlangan uslubiy ko‘rsatmadagi laboratoriya ishlarining hisobotini tayyorlash uchun ko‘rsatmalar.
1-2 laboratoriya ishlarini bajarishdagi hisobotga talablar

Bajarilgan ishlar to'g'risidagi hisobotda quyidagilar bo'lishi kerak:




  1. Laboratoriya ishi mavzusi.

  2. Laboratoriya ishining maqsadi.

  3. Mavzu bo'yicha qisqacha nazariy ma'lumotlar

  4. Vazifa.

  5. Tanlangan predmet sohasining tavsifi.

  6. Ob‘yektlar ro'yxati.

  7. Korxona atributlari ro'yxati.

  8. Ob‘yektlar o`rtasidagi bog`lanishni aniqlash.




  1. Mohiyat aloqa diagrammasini yaratish va chizib ko`rsatish. 2-laboratoriya uchun relyatsion bog`lanishni o`rnatish va grafik ko‘rinishda tasvirlash.


3-20 laboratoriya ishlarini bajarishdagi hisobotga talablar

Bajarilgan ishlar to'g'risidagi hisobotda quyidagilar bo'lishi kerak:




  1. Laboratoriya ishi mavzusi.




  1. Laboratoriya ishining maqsadi.

  2. Mavzu bo'yicha qisqacha nazariy ma'lumotlar

  3. Vazifaning variant bo‘yicha bajarilishi.

  4. Xulosa.

122


Ma‟lumotlat bazasi” fanidan laboratoriya ishlari bo'yicha uslubiy ko'rsatma barcha bakalavr yo`nalishida tahsil oluvchi talabalar uchun
AT kafedrasi majlisida ko`rib

chiqildi
va nashr etishga ruxsat etildi,

20__yil______ ______________

―_____‖- sonli bayonnoma


KI fakulteti IUK majlisida ko`rib

chiqildi nashr etishga ruxsat etildi,


20__yil______ ______________

―_____‖- sonli bayonnoma


TATU ilmiy – uslubiy kengashi

majlisida ko`rib chiqildi va nashr

etishga ruxsat etildi,
20__yil______ ______________

―_____‖- sonli bayonnoma


Tuzuvchilar:


J.T. Usmonov
U.Z. Qosimova
Z. M.Pulatova

F.Sh Abidova


Taqrizchilar:


E.SH. Nazirova
SH.R.Ubaydullayev

a

Mac‘ul muharrir:
U.Z. Qosimova

Musahhihlar:


Z.M.Pulatova
F.Sh.Abidova

123




124
Download 9,39 Mb.

Do'stlaringiz bilan baham:
1   ...   40   41   42   43   44   45   46   47   48




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish