RENESSANS TA’LIM UNIVERSITETI “MATEMATIKA VA IQTISOD” FAKULTETI “AXBOROT TEXNOLOGIYALARI” KAFEDRASI 60610200-Axborot tizimlari va texnologiyalari ta’lim yo‘nalishi “BERILGANLAR BAZASI” FANIDAN LOYIHA ISHI MAVZU: Dorixona ma’lumotlar bazasini yaratish va so’rovlar asosida boshqarish. Guruh: 2-kurs 60S-23 ATT Bajardi: ___________________ Qabul qildi:kat. o‘q. B.B.Saydaxmedova TOSHKENT-2025 MUNDARIJA: 1-AMALIY ISH. Dorixona ma’lumotlar bazasining predmet soha tahlili. Mohiyat aloqa modelini ishlab chiqish. (ER diagrammasi)......................3 2-AMALIY ISH. Dorixona ma’lumotlar bazasi uchun jadvallar ishlab chiqish.......................................................................................................6 3-AMALIY ISH. SQL tilida “Dorilar” va “Haridorlar” jadvallarini yaratish va ma’lumotlar kiritish...............................................................10 4-AMALIY ISH. SQL tilida “Firmalar” va “Xodimlar” jadvallarini yaratish va ma’lumotlar kiritish...............................................................14 5-AMALIY ISH. SQL tilida “Ombor” va “Buyurtmalar” jadvallarini yaratish va ma’lumotlar kiritish...............................................................10 6-AMALIY ISH. SQL Dorixona tilida ma’lumotlar bazasini boshqarishga oid so’rovlar yaratish.........................................................14 7-AMALIY ISH. Dorixona ma’lumotlar bazasini loyihalash va hisobot tayyorlash................................................................................................18 2 1-AMALIY ISH. Dorixona ma’lumotlar bazasining predmet soha tahlili. Mohiyat aloqa modelini ishlab chiqish. (ER diagrammasi) Ma`lumotlar bazasini boshqarishning asosiy tushunchalari bu obyekt, predmet soha va atributlar hisoblanadi. Elementdan, bit va baytdan tashkil topgan bo`lsa atribut deyiladi. Atributlar jamlanmasi obyekt deyiladi . Obyektlar jamlanmasi esa predmet soha deyiladi. Masalan, “Dorixona” ma’lumotlar bazasini ishlab chiqamiz. ER DIAGRAMMASI –Mohiyat-aloqa modeli Agar bizga qo’yilgan shartga ko’ra “Dorixona” ma’lumotlar bazasining mohiyat aloqa modelini yaratish talab etilsa, u holda quyidagilar o’rinlidir: Predmet soha - dorixona Obyektlar - dorilar, firmalar, haridorlar va h.k. Atributlar - dorining nomi, narxi, turi, firmasi va h.k. Yuqoridagi sxemadan ko’rinib turibdiki, dorilar, firmalar va haridorlar kabilar elementlar hisoblanib, ular ikkilamchi jadval asosini tashkil etadilar. Endi esa har bir obyektlarning bir biri bilan bog`lanishini ko`rib chiqamiz. Buning uchun avval bog`lanishning o`zi nima ekanligini ko`rib chiqamiz. Bog`lanish ma`lumotlar bazasining asosiy qismi hisoblanadi. Chunki biz bazada 3 jadvallar bilan ishlaymiz va bu ishlash davomida jadvallarni bir-biriga bog`laymiz. Agar noto`g`ri bog`lasak ma`lumotlar bazamiz hunuk va noto`g`ri shaklga kelishi mumkin. Ma`lumotlar bazasining ixchamligi ham aynan shu bog`lanishga bog`liq hisoblanadi. Bog`lanishning 4 ta turi mavjud va bular quyidagilar hisoblanadi: Birga – bir bog`lanish Birga – ko`p bog`lanish Ko`pga – ko`p bog`lanish Ko`pga – bir bog`lanish Loyihani bajarish uchun mavzular: 1. Kutubxona ma’lumotlar bazasi va so’rovlar yaratish 2. Universitet ma’lumotlar bazasi va so’rovlar yaratish 3. Supermarket ma’lumotlar bazasi va so’rovlar yaratish 4. O’quv markazi ma’lumotlar bazasi va so’rovlar yaratish 5. Kasalxona ma’lumotlar bazasi va so’rovlar yaratish 6. Restoran ma’lumotlar bazasi va so’rovlar yaratish 7. Avtosalon ma’lumotlar bazasi va so’rovlar yaratish 8. Aeroport ma’lumotlar bazasi va so’rovlar yaratish 9. Sport klubi ma’lumotlar bazasi va so’rovlar yaratish 10.Mehmonxona ma’lumotlar bazasi va so’rovlar yaratish 11.Sport musobaqalari ma’lumotlar bazasi va so’rovlar yaratish 12.Oziq-ovqat do’koni ma’lumotlar bazasi va so’rovlar yaratish 1-AMALIY ISH UCHUN TOPSHIRIQ: Har bir talaba yuqorida keltirilgan mavzulardan birini tanlab, ma’lumotlar bazasining predmet sohani tahlil qiladi. Mohiyat aloqa modelini ishlab chiqadi. (ER diagrammasi). ER diagrammasini chizishda online platformalardan foydalanishingiz mumkin. (Ma’lumotlar bazasi kamida 6 ta o’zaro bog’langan jadvallardan iborat bo’lishi kerak) 4 Online ER diagramma (Entity-Relationship Diagram) chizish uchun bir nechta mashhur vositalar mavjud. Mana, ulardan ba'zilari: 1. Lucidchart o URL: https://www.lucidchart.com o Lucidchart — juda qulay va intuitiv interfeysga ega diagramma chizish vositasi. Siz ER diagrammalari, ish jarayonlari va boshqa diagrammalarni osongina yaratishingiz mumkin. 2. Draw.io (hozirgi time Diagrams.net) o URL: https://app.diagrams.net o Draw.io — bepul va oson foydalanish mumkin bo‘lgan diagramma chizish vositasi. ER diagrammalarini yaratish uchun juda yaxshi. 3. dbdiagram.io o URL: https://dbdiagram.io o dbdiagram.io — ma'lumotlar bazasi diagrammalarini yaratishga mo‘ljallangan. Bu platforma ma'lumotlar bazasi uchun ER diagrammalarini oson yaratish imkonini beradi. 4. Creately o URL: https://creately.com o Creately — ER diagrammalarini va boshqa diagrammalarni yaratish uchun vizual platforma. Uning ko‘plab shablonlari mavjud. 5. Cacoo o URL: https://www.cacoo.com o Cacoo — onlayn diagramma chizish platformasi bo‘lib, ER diagrammalarini yaratish uchun juda qulay. 6. Gliffy o URL: https://www.gliffy.com o Gliffy — ER diagrammalarini yaratish va jamoaviy ishlash uchun onlayn vosita. Bu vositalar yordamida siz osonlik bilan ER diagrammasini yaratishingiz mumkin. Har biri o‘ziga xos imkoniyatlarga ega va ko‘plab shakllar va shablonlarni taqdim etadi. 5 2-AMALIY ISH. Dorixona ma’lumotlar bazasi uchun jadvallar ishlab chiqish Ma’lumotlarning relyasion modeli matematik munosabatlar tushunchasiga asoslanadi. Relyasion modelda ma’lumotlar va aloqalar jadval ko'rinishda taqdim etiladi va ularning har biri yagona nomga ega bo'lgan bir qancha ustunlardan iborat bo'ladi. Dorixona ma’lumlotlar bazasi quyidagi jadvallardan iborat: 1. Dorilar jadvali: Ustun nomi Ma’lumot turi Tavsif dori_id INT (PK) Dori identifikatori (Asosiy kalit) nomi VARCHAR(100) Dori nomi turi VARCHAR(50) Dori turi (tabletka, sirop, kapsula va h.k.) narxi INT (PK) Dori narxi (pul birligida) ishlab_chiqaruvchi VARCHAR(100) Ishlab chiqaruvchi nomi muddati DATE Amal qilish muddati dori_id nomi turi narxi ishlab_chiqaruvchi muddati 0001 Paracetamol Tabletka 12500 Farmatec 2026-05-01 0002 Ibuprofen Tabletka 15000 PharmaCo 2027-07-15 0003 Aspirin Tabletka 10000 AstraZeneca 2025-12-10 0004 Amoxicillin Kapsula 20000 BioPharma 2028-03-20 0005 Loratadine Tabletka 8750 HealthCorp 2025-08-30 0006 Cetirizine Tabletka 18300 Medica 2026-09-18 0007 Omeprazole Kapsula 25000 GoodHealth 2027-11-05 0008 Metformin Tabletka 5500 MediCare 2026-04-15 0009 Ciprofloxacin Kapsula 30000 Cipla 2029-02-10 0010 Paracetamol Sirop 10500 HealthPlus 2025-06-22 2. Haridorlar jadvali: Ustun nomi Ma’lumot turi Tavsif haridor_id INT (PK) Haridor identifikatori (Asosiy kalit) ism VARCHAR(50) Haridorning ismi 6 VARCHAR(50) VARCHAR(20) UNIQUE TEXT familiya telefon manzil Haridorning familiyasi Haridor telefon raqami (unikal) Haridor yashash manzili haridor_id ism familiya telefon manzil 01 Akbar Jumayev 998901234567 Toshkent, Yunusobod 02 Zarina Raxmatova 998933445566 Samarqand, Sharqiy kucha 03 Dilorom Abdullaeva 998905678901 Buxoro, Navoiy kuchasi 04 Jamshid Murodov 998912345678 Fargona, Bogdod mahallasi 05 Bekzod Husanov 998939876543 Namangan, Jambay kuchasi 06 07 Shaxzod Gulbahor Nazarov Sodiqova 998915678234 998933987654 Andijon, G'oliblar kuchasi Qarshi, Chorshanba kuchasi 08 Sardor Ruziev 998905678345 Nukus, Yashnobod tumani 09 Shokir Khusanov 998951234567 Toshkent, Olmazor tumani 10 Nodira Azizova 998937654321 Urganch, Bobur kuchasi 3. Firmalar jadvali: Ustun nomi Ma’lumot turi Tavsif firma_id INT (PK) Firma identifikatori (Asosiy kalit) nomi VARCHAR(100) Firma nomi kontakt_shaxs VARCHAR(100) VARCHAR(20) UNIQUE TEXT Aloqa uchun mas’ul shaxs telefon manzil Firma telefon raqami (unikal) Firma manzili firma_id nomi kontakt_shaxs telefon 01 PharmaCo Jamshid Karimov 998901234567 02 Medica Lobar Isroilova 998933445566 03 BioPharma 04 HealthCorp 05 MediCare Ali Akramov 998939876543 06 07 MedTech GoodHealth Sanjar Babadjanov Madina Urazova 998915678234 998933987654 Dilmurod Mahkamov Shahzoda Rahmatova 998905678901 998912345678 7 manzil Toshkent, Mirzo Ulug'bek ko'chasi Samarqand, Xo'ja Ahmad ko'chasi Buxoro, Mirobod ko'chasi Farg'ona, Milliy park ko'chasi Namangan, O'zbekiston ko'chasi Andijon, G'arbiy ko'cha Qarshi, Bog'ich ko'chasi 08 BioLife 09 MegaPharma 10 GlobalMed Sardor Yusupov Gulnora Tursunova Azizbek Rahmonov 998905678345 Nukus, Asaka ko'chasi Toshkent, Chilonzor tumani Urganch, Temiryo'l ko'chasi 998951234567 998937654321 4. Xodimlar jadvali: Ustun nomi Ma’lumot turi Tavsif xodim_id INT (PK) Xodim identifikatori (Asosiy kalit) ism VARCHAR(50) Xodimning ismi familiya VARCHAR(50) Xodimning familiyasi kasb VARCHAR(50) Xodimning kasbi (lavozimi) ishga_kirish_sana DATE Ishga kirish sanasi xodim_id ism familiya kasb ishga_kirish_sana 1 Asad Karimov Farmatsevt 2023-03-15 2 Zafar Tursunov Xodim 2022-11-10 3 Shaxzod Mirodov Kassir 2021-09-20 4 Madina Sodiqova Omborchi 2020-05-30 5 Doston Abduvokhidov Farmatsevt 2022-07-25 6 Anvar Iskakov Boshqaruvchi 2021-02-10 7 Gulbahor Raxmatova Xodim 2023-01-05 8 Sardor Nizomov Farmatsevt 2020-08-19 9 Shokir Shokirov Kassir 2021-12-25 10 Nuriddin Safarov Omborchi 2022-03-22 5. Buyurtmalar jadvali: Ustun nomi Ma’lumot turi Tavsif buyurtma_id INT (PK) Buyurtma identifikatori (Asosiy kalit) haridor_id INT (FK) Mijoz identifikatori (Tashqi kalit – Haridorlar jadvaliga bog‘langan) xodim_id INT (FK) Xodim identifikatori (Tashqi kalit – Xodimlar jadvaliga bog‘langan) sana TIMESTAMP Buyurtma sanasi va vaqti jami_narx DECIMAL(10,2) Buyurtmaning umumiy summasi 8 buyurtma_id haridor_id xodim_id sana jami_narx 0101 05 2 2025-03-07 30000 0102 04 10 2025-03-10 52500 0103 10 5 2025-03-12 17000 0104 01 1 2025-03-12 25000 0105 04 2 2025-03-15 15000 0106 02 8 2025-03-20 15000 0107 08 4 2025-03-22 20000 0108 09 1 2025-03-23 45000 0109 07 10 2025-03-25 25000 0110 05 7 2025-03-25 35000 6. Ombor jadvali: Ustun nomi Ma’lumot Tavsif turi ombor_id INT (PK) Ombor yozuvi identifikatori (Asosiy kalit) dori_id INT (FK) firma_id INT (FK) miqdor INT Dori identifikatori (Tashqi kalit – Dorilar jadvaliga bog‘langan) Firma identifikatori (Tashqi kalit – Firmalar jadvaliga bog‘langan) Ombordagi mavjud miqdor So‘nggi yangilangan sana va vaqt oxirgi_yangilangan TIMESTAMP ombor_id dori_id firma_id miqdor oxirgi_yangilangan 1001 0002 05 150 2025-03-21 1002 0010 02 250 2025-03-21 1003 0005 04 100 2025-03-21 1004 0001 10 200 2025-03-22 1005 0002 08 750 2025-03-23 1006 0008 01 183 2025-03-24 1007 0004 03 50 2025-03-24 1008 0001 03 550 2025-03-25 1009 0010 02 300 2025-03-26 1010 0007 06 105 2025-03-27 9 3-AMALIY ISH. SQL tilida “Dorilar” va “Haridorlar” jadvallarini yaratish va ma’lumotlar kiritish SQLning DDL tili foydalanuvchilarga ma’lumotlar turiga yo’l-yo’riq va ularning tuzilmasi, shuningdek ma’lumotlar bazasida saqlanayotgan axborotlar uchun cheklash vazifasi vositalarini taqdim etadi. DDL tilining asosiy komandalari: CREATE – yangi jadval hosil qilish uchun ishlatiladi. Quyidagi ko’rinishda yoziladi: CREATE TABLE <jadval_nomi>( ustun_nomi va toifasi, … ); ALTER – jadvalga o’zgartirish kiritish uchun ishlatiladi. Bu buyruq jadvalga yangi ustunlar qo'shish, ustunlarni o'chirish, ustunlar kattaligini o'zgartirish, hamda cheklanishlarni qo'shish va olib tashlash imkoniyatlariga ega. Bu buyruq ANSI standarti qismi emas, shuning uchun har xil tizimlarda har xil imkoniyatlarga ega. Misol uchun jadvalga ustun qo’shish buyrug’i sintaksisi quyidagicha: ALTER TABLE<jad_nomi> ADD <ustun_nomi><toifasi><o’lchami>; DROP - jadvalni o’chirish buyrug’i. Jadvalni o'chirish imkoniga ega bo’lish uchun, jadval egasi (ya’ni yaratuvchisi) bo’lishingiz kerak. Faqat bo‘sh jadvalni o'chirish mumkin. Qatorlarga ega bo’lgan, to’ldirilgan jadvalni o‘chirish mumkin emas, ya’ni jadval o‘chirishdan oldin tozalangan bo’lishi kerak. Jadvalni o'chirish buyrug'i quyidagi ko‘rinishga ega: DROP TABLE<jadval_nomi>; Ishni bajarish tartibi: Bizda Dorilar, Haridorlar, Firmalar, Xodimlar, Buyurtmalar, Ombor nomli 6 ta jadval mavjud edi. Endi o’sha jadvallarni SQL tilida https://sqliteonline.com/ online kompilyatorida yuqorida sintaksisini keltirib o’tganimiz komandalardan foydalanib yaratamiz: 1. CREATE TABLE buyrug’i yordamida Dorilar uchun jadval hosil qilamiz. Buning uchun brauzerimizda SQLite bo’limiga o’tib, quyidagi kodlarni teramiz va Run buyrug’ini bosamiz: 10 Table bo’limiga o’tib, qidiruv oynasiga jadvalimiz nomini yozamiz va yaratgan jadvalimizni ko’ramiz: Jadvalimizda mavjud ma’lumotlarni ko’rish uchun ushbu bo’limning Show table bandiga o’tamiz. Lekin hozircha jadvalimiz bo’shligi uchun This table contains no data – Bu jadvalning ma’lumotlari yo’q degan xabar chiqadi. 2. CREATE TABLE buyrug’i yordamida Haridorlar uchun jadval hosil qilamiz. Buning uchun brauzerimizda SQLite bo’limiga o’tib, quyidagi kodlarni teramiz va Run buyrug’ini bosamiz: 11 Table bo’limiga o’tib, qidiruv oynasiga jadvalimiz nomini yozamiz va yaratgan jadvalimizni ko’ramiz: INSERT – SQL da barcha satrlar ushbu buyruq yordamida kiritiladi. Sintaksisi esa quyidagicha: INSERT INTO <jad_nomi> VALUES (“ustun_info”, “ustun_info”, … ); Ishni bajarish tartibi Biz Dorilar va Haridorlar nomli 2 ta jadval yaratgan edik. Endi yuqorida o’rgangan buyruqlarimizdan foydalanib, ushbu jadvallarga ma’lumot kiritamiz. 1. Biz yuqoridagi komandalarni Dorilar jadvali ustida amalga oshiramiz. Avval unga INSERT INTO buyrug’idan foydalanib ma’lumot kiritamiz, so’ng Run va natijani ko’ramiz: 12 2. Biz yuqoridagi komandalarni Haridorlar jadvali ustida amalga oshiramiz. Avval unga INSERT INTO buyrug’idan foydalanib ma’lumot kiritamiz, so’ng Run va natijani ko’ramiz: 13 4-5-AMALIY ISH lar ham huddi shu tarzda davom ettiriladi. Har bir talaba o’zining ma’lumotlar bazasiga oid kamida 6 ta o’zaro bog’langan jadvallar yaratadi. Jadvallarga kamida 10 ta qatordan ma’lumot kiritadi. 14 6-AMALIY ISH. SQL tilida Dorixona ma’lumotlar bazasini boshqarishga oid so’rovlar yaratish Ma’lumotlar bazasiga axborotlar qo'shish, yangilash, o'chirish va chiqarib tashlash imkonini beradi, odatda ma’lumotlarni boshqarish tili (DML – Data Manipulation Language) yordamida amalga oshiriladi. Barcha ma’lumotlarning markazlashtirilgan saqlanishi mavjudligi va ularning tavsifi ba’zan so'rovlar tili (query language) deb ataluvchi so'rovlarda tashkil etilgan umumiy uskunasi sifatida DML tilidan foydalanish imkonini beradi. So'rovlar tilining mavjudligi o'ziga xos faylli tizimlarni cheklanishlardan yo'qotish imkoniyatini beradi, unda foydalanuvchilarning fiksirlangan so'rovlar to'plami ustida ish olib borishlari yoki dasturiy ta’minotni boshqarishda ko'proq murakkab muammolar uchun doimiy ravishda yaratilayotgan dasturlar sonining oshishi nazarda tutiladi. DML tilining ikki xil turi mavjud - protsedurali va protsedurali bo'lmagan tillar. Ular bir-biridan ma’lumotlardan ko'chirma olish usullari bilan farqlanadi. Ular o'rtasidagi asosiy farq, protsedurali tillar odatda MB da ketma-ket ravishda axborotlarni qayta ishlaydi, protsedurali bo'lmagan tillar butun yozuvlar to'plamiga birdan operatsiyaga kirishadi. DML tili so’rovlari: SELECT – Amal bajaradigan jadvalimizni tanlash, ekranga chiqarish komandasi. Sintaksisi esa quyidagicha: SELECT *FROM <jad_nomi> // jadvalni to’liq chiqarish SELECT <ustun_nomi> FROM <jad_nomi> // jadval ustunlarini chiqarish DELETE – satrlarni jadvaldan o’chirish buyrug’i. Sintaksisi esa quyidagicha: DELETE FROM <jad_nomi> WHERE qidiruv_sharti; UPDATE – Maydon qiymatlarini o’zgartirish buyrug’i. Sintaksisi esa 2 hil: UPDATE <jad_nomi> SET column=expression; UPDATE <jad_nomi> SET column=expression WHERE qidiruv_sharti; 15 Amaliy ish topshiriqlari: 1-so’rov. Kerakli dorini topish. (Tabletka turidagi dorilarni topish): 2-so’rov. Narxi 15000 dan yuqori bo’lgan dorilarni topish: 3-so’rov. Eng ko‘p harid qilgan haridorni topish: 16 4-so’rov. Dori narxini yangilash: 5-so’rov. Muddati o’tgan dorilarni ro’yxatdan o’chirish: 6-so’rov. Haridorlarning buyurtmalar ro‘yxatini chiqarish: 17 7-so’rov. Firma tomonidan yetkazib berilgan dorilar ro’yxatini chiqarish: 6-AMALIY ISH uchun topshiriq: Har bir talaba o’zining ma’lumotlar bazasiga oid kamida 6 tadan so’rovlar yaratib natijasini keltirib o’tadi. 7-AMALIY ISH uchun topshiriq: Har bir talaba o’zining ma’lumotlar bazasini loyihalaydi va 6 ta amaliy ishni mundarija asosida ketma-ketlikda umumlashtorib, hisobot tayyorlaydi. 18
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )