O’ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALARI VAZIRLIGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI Ma’lumotlar bazasi fanidan 1-VA 2- AMALIY ISHI Bajardi: Cho‘lliyev Muxsin 018-23 SRIo‘ gruh talabasi. Toshkent-2025 1-AMALIY MASHG‘ULOT Mavzu: Ma’lumotlar bazasi dasturlarini o‘rnatish va sozlash 1. mysql-installer-community-8.0.28.0.msi dasturini o’rnatish. MySql ni kompyuterga o’rnatish uchun dastlab mysql-installercommunity-8.0.28.0.msi deb nomlanuvchi o’rnatish paketini yuklab olamiz. Shu bilan birga biz Microsoft Visual C++ 2015-2022 Redistributable (x64) deb nomlangan o’rnatish paketini ham yuklab olib, kompyuterimizga o’rnatishimiz kerakbo’ladi. Quyida mysql-installer-community-8.0.28.0.msi dasturini o’rnatish jarayoni ko’rsatilgan. 1.1-rasm. “Choosing a Setup Type” (O’rnatish turini tanlash) oynasi. Default (odatiy) holatda “Developer Default” tanlangan bo’ladi. Biz uni o’zgartirmasdan “Next” tugmasini bosamiz. 1.2-rasm. “Check Requirements” (Talablarni tekshirish) oynasi. “Next” tugmasinibosamiz. 1.3-rasm. “Check requirements” (Talablarni tekshirish) oynasi. “Next” tugmasinibosamiz. 1.4-rasm. Ushbu muloqot oynasidagi “Yes” tugmasini bosamiz. 1.5-rasm. “Installation” (O’rnatish) oynasi. Undagi “Execute” (Bajarmoq)tugmasini bosamiz. 1.6-rasm. “Execute” tugmasi bosilgandan so’ng, ushbu muloqot oynasida berilgan barcha dastur va yordamchi dasturlar o’rnatiladi. 1.7-rasm. O’rnatish jarayoni nihoyasiga yetdi. Barcha dasturlar o’rnatilib bo’lindi. Endi “Next” tugmasini bosamiz. 1.8-rasm. “Product Configuration” oynasi. Undagi “Next” tugmasini bosamiz. 1.9-rasm. “Type and Networking” (Turi va tarmoq) oynasi. Undagi “Next” tugmasini bosamiz. 1.10-rasm. “Authentication Method” (Autentifikatsiya usuli) oynasi. Undagi “Next” tugmasini bosamiz. 1.11-rasm. “Accounts and Roles” (Hisoblar va rollar) oynasi. Undagi “MySql Root Password” (MySql asosiy paroli) deb nomlangan kiritish paneliga parol yaratib kiritamiz va “Repeat Password” (Parolni takrorlash) deb atalgan kiritish qutisiga parolimizni takroran kiritamiz. So’ngra “Next” tugmasini bosamiz. 1.12-rasm. “Windows Service” (Windows xizmati) oynasi. Unga hech qandayo’zgartirish kiritmay, “Next” tugmasini bosamiz. 1.13-rasm. “Apply Configuration” (Konfiguratsiyani qo'llash) oynasi. Unda “Configuration steps” (Konfiguratsiya bosqichlari) berilgan. “Execute” (Bajarmoq) tugmasini bosamiz. 1.14-rasm. “Apply Configuration” (Konfiguratsiyani qo'llash) oynasi. “Execute”(Bajarmoq) tugmasini bosganimizdan so’ng, “Configuration steps” (Konfiguratsiya bosqichlari) ketma-ketlikda bajariladi. 1.26-rasm. MySQL Workbench dasturi dastlabki oynasi. Bu oyna bizga hozirchakerak bo’lmaydi. Shuning uchun uni yopamiz. 1.26-rasm. MySQL Workbench dasturi dastlabki oynasi. Bu oyna bizga hozircha kerak bo’lmaydi. Shuning uchun uni yopamiz. 2.1 - AMALIY MASHG‘ULOT Mavzu: Ma’lumotlar bazasini loyihalash. Mohiyat – aloqa diagrammasini qurish (ER modeli) Ishdan maqsad: ma`limotlar bazasini loyihalash uchun mohiyat – aloqa modelini ishlab chiqish bo`yicha ko`nikmaga ega bo`lish. Masalani qo`yilishi: ma`lumotlar bazasini lohiyalash va “Mohiyat–aloqa” modelini ishlab chiqish. Uslubiy ko`rsatmalar: ma`lumotlar bazasini lohiyalash quyidagi tashkil etuvchilarini o`rganishni taqazo etadi. Ob`yektlar, ob`yekt xususiyatlari, bog`lanishlar (ob`yekt munosabatlari), vaqt oralig`i va hokazolar. “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. 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. Ma`lumotlar bazasida quyidagi 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. 1.1 jadval. Ulman-Chen notasiyasining mohiyat-aloqa modeli elementlari. 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, ya’ni 1:N. Agar A va V ob’ektlar o`rtasida N:1 bog`lanish bo`lsa, strelka A ga qarab yo`naltiriladi. Ko`pga – ko`p bog`lanish N:M A va V ob’ektlar o`rtasida M: N bo`lsa, ularni ulovchi chiziq orqa li bog`lanadi. A va V orasida 1:1 bog`lanish bo`lsa, yo`nalishsiz chiziq bilan bog`laymiz. Ishni bajarish tartibi Tanlangan ob’yekt bo`yicha mohiyat-aloqa diagrammasini yaratish. 1.1 - rasm. Aeroport ma’lumotlar bazasini mohiyat – aloqa diagrammasi. 2 .2- AMALIY MASHG‘ULOT Mavzu: Relyatsion ma’lumotlar bazasini loyihalash Ishdan maqsad: jadvallar tizimini Ma`lumotlar ishlab chiqishni bazasini relyatsion o`rganish va modeli ob`yektlarni uchun bog`lanish munosabatlarini tahlil qilish. Masalani qo`yilishi: Berilgan predmet soha ma`lumotlar bazasidagi barcha ob`yektlarni relyatsion modelini ishlab chiqish. Uslubiy ko`rsatmalar: Ma`lumotlarni relyatsion modeli asosida munosabat tushunchasi yotadi. Munosabatni 2 o`lchamli jadvallar yordamida tasvirlash qulay. Jadval ko’rinishidagi ma’lumotlar tushunarli, ko`rimli va inson uchun oddiy hisoblanadi. Munosabatlar to`plami ma`lumotlarni saqlash uchun ishlatilishi mumkin. Shu bilan birga ular orasidagi bog`lanishlarni modellashtirish imkonini beradi. Relyatsion yondashuv asosiy tushunchalari: Ma’lumotlar toifasi – relyasion MB saqlanadigan ma’lumot qiymatlari; Domen – domenlar ma’lumotlarni ayrim asosiy turlarini aniqlash orqali o‘rnatiladi; Atributlar – jadval ustunlar nomlari; Bog‘lanish – relyation so‘zidan olinib munosabatni bildiradi; Birlamchi kalit – bu kalit tashqi MB bilan bog‘lanishni o‘rnatish uchun xizmat qiladi. Relyatsion MB munosabatlarni o`zaro bog`langan to`plamidir. Har bir munosabat kompyuterda fayl ko`rinishida tasvirlanadi. Ishni bajarish tartibi 1-Amaliy ishida qurilgan mohiyat - aloqa diagrammasi uchun relyatsion bog`lanish o`rnatamiz. Aeroport ma’lumotlar bazasi relyatsion modeli jadvallarini tuzib chiqamiz. 2.1 - jadval. Ma’lumotlar bazasining Aviakompaniyalar jadvali ID Aviakompaniya kodi Aviakompaniya nomi Bosh ofis manzili 1 1A Amadeus IT Group S.A Global 2 1E Travelsky China 3 1H Sirena Travel Russia 4 4D Air Sinai Egypt 2.2 - jadval. Ma’lumotlar bazasining Parvozlar jadvali ID Aviakompaniyalar_ID Qayerdan Leave Qayerga Arrive 1 Tashkent 29.04.2022 Dubai 29.04.2022 1 13:00 2 1 Tashkent 30.04.2022 15:00 London 10:00 3 1 Tashkent 30.04.2022 14:00 Budapest 15:00 4 2 Beijing 6.05.2022 2 Hong Kong 8.05.2022 Manchester 3 Saint-Pt 13.05.2022 6.05.2022 13:50 Helsinki 5:00 6 30.04.2022 17:30 9:00 5 30.04.2022 8.05.2022 9:00 New York 13.05.2022 4:00 7 4 Cairo 10:00 14.05.2022 Delhi 14.05.2022 19:00 21:50 2.3 – jadval. Ma’lumotlar bazasining Yo’lovchi jadvali Yo’lovchi ismi ID Parvozlar_ID Pasport seriyasi va raqami familiyasi 1 7 Passanger XXX XYZ001 2 6 Passanger XXX1 XYZ002 3 6 Passanger XXX2 XYZ003 4 6 Passanger XXX3 XYZ004 2.4 - jadval. Sayohat agentligi ID Nomi Adres Kontakt raqami 1 Express1 Grave1 +998000000001 2 Express2 Grave2 +998000000002 3 Express3 Grave3 +998000000002 4 Surprise Unlimited Grave +998000000003 motherfather 3 - AMALIY MASHG‘ULOTI Mavzu: SQL tilida jadvallar yaratish, o‘zgartirish va o‘chirish 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. Talabalarda DDL komandalaridan foydalanish va shu orqali relyasion MB yaratish ko’nikmasini hosil qilish. 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: SQL tilida quyidagi asosiy ma’lumotlar turlari ishlatilib, ularning formatlari har xil MBBT lar uchun farq qilishi mumkin: INTEGER butun son (odatda 10 tagacha qiymatli raqam va ishora). SMALLINT «qisqa butun» (odatda 5 tagacha qiymatli raqam va ishora). DECIMAL(p, o‘nli son, p raqam va ishoradan iborat (0 < p < 16). O‘nli nuqtadan so‘ng raqamlar soni q orqali beriladi q) (q < p, agar q = 0 bo‘lsa, tashlab yuborilishi mumkin). FLOAT haqiqiy son 15 ta qiymatli raqam va butun darajadan iborat. Daraja MBBT tipi bilan aniqlanadi (masalan, 75 yoki 307). CHAR(n) uzunligi o‘zgarmas, n ga teng bo‘lgan simvolli qator (0 < n < 256). VARCHAR(n) uzunligi o‘zgaruvchi, n simvoldan oshmagan simvolli qator (n > 0 va har xil MBBT larda turlicha, lekin 4096 dan kam emas). DATE TIME maxsus komanda orqali aniqlanuvchi formatdagi sana; sana maydonlari bizning eramizdan oldin bir necha mingyilliklardan boshlanuvchi va bizning eramiz beshinchi-o‘ninchi mingyilligi bilan cheklangan haqiqiy sanalarni o‘z ichiga olishi mumkin. maxsus komanda orqali aniqlanuvchi formatdagi vaqt (ko‘zda tutilgan bo‘yicha hh.mm.ss). DATETIME MONEY sana va vaqt kombinatsiyasi. maxsus komanda orqali aniqlanuvchi formatdagi pul birligi. SQL tili quyidagi tarkibiy qismlardan iborat: DDL ( Mа’lumоtlаrni Tа’riflаsh Tili ) - ANSI dа ma’lumotlar sxemаsini tа’riflаsh tili, оb’ektlаrni (jаdvаllаr, indekslаr, tаsvirlаr vа hоkаzо) yarаtuvchi buyruqlar to’plamidan ibоrаt. DML (Mа’lumоtlаrni O‘zgаrtirish Tili) - bu iхtiyoriy dаqiqаdа jаdvаllаrdа qаndаy qiymаtlаr sаqlаnishini аniqlоvchi buyruqlar mаjmuаsidir. DCL (Mа’lumоtlаrni Bоshqаrish Tili) fоydаlаnuvchigа aniq оb’ektlаrga tа’sir o‘tkаzishgа ruхsаt berish yoki bermаslikni аniqlоvchi buyruqlardаn ibоrаt. 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’lshingiz 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’lshi kerak. Jadvalni o'chirish buyrug'i quyidagi ko‘rinishga ega: DROP TABLE <jadval_nomi>; Ishni bajarish tartibi Avvalo 1 va 2 -Amaliy ishida tuzgan jadvallarimizni esga olamiz. Bizda 5 ta jadval mavjud edi. Endi o’sha jadvallarni MYSQL da yuqorida sintaksisini keltirib o’tganimizday komandalardan foydalanib yaratamiz: 1. Eski yaratilgan ma’lumotlar bazasini ko’ramiz: So’rov: SHOW DATABASES; Natija: 2. Aeroport nomli baza yaratamiz; So’rov: CREATE DATABASE aeroport; Natija: 3. aviakompaniyalar nomli jadval yaratamiz: So’rov: CREATE TABLE aviakompaniyalar (id INT, aviakompaniya_kodi VARCHAR(20), aviakompaniya_nomi VARCHAR(20)); Natija: 4. Jadvalni ko’ramiz: So’rov: DESC aviakompaniyalar; Natija: 5. Jadvalga yangi “bosh_ofis_manzili” nomli satr qo’shamiz: So’rov: ALTER TABLE aviakompaniyalar ADD bosh_ofis_manzili VARCHAR(30); Natija: 6. “bosh_ofis_manzili” nomli satrning o’lchamini o’zgartiramiz: So’rov: ALTER TABLE aviakompaniyalar MODIFY bosh_ofis_manzili VARCHAR(50); Natija: 7. “bosh_ofis_manzili” atributini “manzili” nomi bilan o’zgartiramiz: So’rov: ALTER TABLE aviakompaniyalar CHANGE bosh_ofis_manzili manzili DOUBLE; Natija: 4- AMALIY MASHG‘ULOTI Mavzu: Ma’lumotlarni tanlash va ular ustida amallar. AND, OR, NOT mantiqiy standart so‘zlardan foydalanish Talabalarda DML komandalaridan foydalanish va shu orqali relyatsion MB da ishlash ko’nikmasini hosil qilish. Masalaning qo’yilishi: Avvalgi Amaliy mashg’ulotida yaratilgan futbol klubining MB ustida amallar bajarish. Uslubiy ko`rsatmalar:Ma’lumotlar bazasiga axborotlar qo'shish, yangilash, o'chirish va chiqarib tashlash imkonini beradi, odatda ma’lumotlami boshqarish tili (DML – Data Manipulation Language) yordamida amalga oshiriladi. Barcha ma’lumotlarning markazlashtirilgan saqlanishi mavjudligi va ulaming tavsifi ba’zan so'rovlar tili (querylanguage) 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 INSERT – SQL da barcha satrlar ushbu buyruq yordamida kiritiladi. Sintaksisi esa quyidagicha: INSERT INTO <jad_nomi> VALUES (“ustun_info”, “ustun_info”, … ); 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; Ishni bajarish tartibi 1.Jadval ob’yektlariga qiymatlar beramiz: So`rov: insert into aviakompaniyalar values (1,'1A','Amadeus_IT_Group_SA','Global'); select*from aviakompaniyalar; Natija: 2.MB ga yangi jadval qo’shamiz va UPDATEdan foydalanib maydonga qiymat beramiz. So`rov: update aviakompaniyalar set aviakompaniya_kodi='--1A--' where id=1; Natija: Masalaning operatoridan qo’yilishi: AND, OR, NOT, IN, BETWEEN, LIKE foydalanib avvalgi mashg’ulotlarda yaratilgan jadvallar ustida amallar bajarish. Uslubiy ko`rsatmalar: SQL tilida shart ifodalarini tuzish uchun solishtirish va mantiqiy operatorlardan tashqari yana bir qator maxsus operatorlar qo‘llaniladi. Bu operatorlar dasturlash tillarida mavjud emas. Bu operatolar: Operator Ta`rifi = teng > katta < kichik >= katta yoki teng <= kichik yoki teng <> teng emas IN biror qiymatlar to‘plamiga tegishliligini tekshirish BETWEEN biror qiymatlar diapozoniga tegishliligini tekshirish LIKE namuna bilan mosligini tekshirish IS NULL qiymat mavjudmasligini tekshirish NOT Mantiqiy inkor operatori AND VA mantiqiy operatori OR YOKI mantiqiy operatori 5.1-jadval. WHERE buyrug`i bilan ishlovchi operatorlar Misol: Imtihonlarda kamida bitta 2 yoki 3 baho olgan talabalarni identifikatorini tanlab chiqarish so`rovi. SELECT id_st, mark FROM mark_st WHERE mark IN (2,3) BETWEEN amali maydon qiymatini berilgan intervalga kirganligini tekshirish uchun ishlatiladi. Yuqoridagi natijani BETWEEN operatoridan foydalanib olish mumkin: SELECT id_st, mark FROM mark_st WHERE mark BETWEEN 2 AND 3 Birorta xam 2, 3 olmagan talaba haqidagi ma’lumotlar olish uchun NOT IN yoki NOT BETWEEN ishlatiladi. Misol: Familiyalari A xarfi bilan boshlanuvchi talabalar ro‘yxatini tanlab olish. Bunday xolatda LIKE operatoridan foydalanish qulay hisoblanadi. LIKE operatori faqat simvolli maydonlar uchun qo‘llaniladi va maydon qiymati operatorda ko‘rsatilgan namunaga mosligini tekshirish imkonini yaratadi. Namuna quyidagi maxsus simvollardan tashkil topadi: • _ (tagiga chizish belgisi) – bitta ixtiyoriy simvolni bildiradi; • % (foiz belgisi) – ixtiyoriy miqdordagi simvollar ketma – ketligini bildiradi. SELECT id_st, surname FROM student WHERE surname LIKE 'A%' Ishni bajarish tartibi 1. So`rov: SELECT *FROM zavod xodimlari; Natija: So`rov: SELECT id, parvozlar_id, UPPER(Passanger_ismi_va_familyasi) FROM passanger where id>7; Natija: 2. So`rov: SELECT id, parvozlar_id, length(Passanger_ismi_va_familyasi), Passanger_ismi_va_familyasi, Passport WHERE id IN(1.3,5,7,9) AND parvozlar_id>6; Natija: FROM passanger 3. So’rov: SELECT id, parvozlar_id, length(Passport) FROM passanger WHERE NOT id=7; Natija: 4. So`rov:SELECTid,parvozlar_id,LOWER(Passanger_ismi_va_familyasi ), Passport FROM passanger WHERE id BETWEEN 2 and 8; Natija: Xulosa Men bu Amaliy ishlarida ma’lumotlar bazasini yaratishni, jadvallar yaratishni, ustida amallar bajarishni va SHOW, DESC, CREATE, ALTER, DELETE, UPDATE, INSERT buyruqlaridan foydalanishni o’rgandim. 5 - AMALIY ISHI Mavzu: Ma’lumotlarni saralash. Where standart so‘zidan foydalanish Ishdan maqsad: Ma`lumotlar bazasiga so`rovlar tizimini yaratish, saralash va WHERE standart so`zidan foydalanishni 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 ajratib olish va saralash. Uslubiy ko`rsatmalar: Ma`lumotlar bazasi(MB) buyurtmachisi bilan birgalikda, ma`lumotlar bazasiga so`rovlar tizimini ishlab chiqish zarur. Ishlab chiqilgan modeliga so`rovlar tizimi relevant yaratilgan “Mohiyat-aloqa” 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 axborot 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. Ishni bajarish 1. Avvalgi Amaliyda yaratgan bazamizning jadvallarini ko’ramiz; So`rov: show tables from aeroport; Natija: 2. Bu jadvallarning har birini desc buyrug’i yordamida ko’rib chiqamiz ( batafsil 34-Amaliyda ko’rgan edik); So`rov: desc aviakompaniyalar; desc parvozlar; desc passanger; desc travel_agency; Natija: 3. Jadvallarni SELECT * FROM orqali ko’rib chiqamiz. So’rov: SELECT*FROM aviakompaniyalar; SELECT*FROM parvozlar; SELECT*FROM passanger; SELECT*FROM travel_agency; Natija: 4. “travel_agency” jadvalidan birinchida turgan kontakt va ID sini chiqaramiz; So`rov: Select min(id) as ‘first embassy’, _contact from travel_agency; Natija: 5. “travel_agency” jadvalidan oxirida turgan qurilma IDsini chiqaramiz; So`rov: select max(id) as ‘last embassy’ from travel_agency; Natija: 6. “ travel_agency ” jadvalidan id si 2 va 4 oralig’ida bo’lgan ma’lumotlarni chiqaramiz; So`rov: select *from travel_agency where id between 2 and 4; Natija: 7. “ travel_agency ” jadvalidagi embassylar sonini aniqlaymiz: So`rov: select count(*) as ‘how many?’ from travel_agency; Natija: 8. “ travel_agency ” jadvalidagi id larning o’rta arifmetigini aniqlaymiz. So`rov: select avg(id) as ‘average id’ from travel_agency; Natija: 9. “Surprise MotherFather” maxsuloti haqida ma’lumotlarni chiqaramiz; So’rov: select *from travel_agency where _name=’Surprise MotherFather’; Natija: 10. “travel_agency” jadvalida barcha id lar yig’indisini topamiz; So`rov: select sum(id) as ‘ the sum of id ’ from travel_agency; Natija: 11. “travel_agency” jadvalidagi _name larni bosh harflarini va nomini chiqaramiz; So`rov: select mid(_name, 1, 1) as ‘bosh harflar’, _name from travel_agency; Natija: 6 - AMALIY ISHI Mavzu: Group by va Order by standart so‘zlaridan foydalanib so‘rov yaratish Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib GROUP BY va ORDER BY standart so`zlaridan foydalanishni o`rganish. Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng undan unumli foydalanishni tashkil etish maqsadida GROUP BY va ORDER BY standart so`zlaridan foydalanib so`rovlar yaratish. Ma`lumotlar bazasidan kerakli ma`lumotlarni yuqoridagi standart so`zlar orqali ajratib olishni tashkil etish. Uslubiy ko`rsatmalar: Ma`lumotlar bazasi ustida so`rovlar tashkil etishda guruhli funktsiyalar bilan xam ishlash mumkin. Guruhli funksiyalar jadvaldan yigilgan axborotlarni olish uchun xizmat qiladi. Bu funksiyalari jadvaldagi satrlar guruxi bilan amal bajarib, 1 ta natija chiqaradi. Guruxli funksiyalar uchun quyidagi amallarni ishlatamiz. Select komandasida group by parametr ham ishlaydi. Bu paramet bir maydon o`xshash parametrlari (aniqlanayotgan qiymati) boyicha guruhlaydi va agregat funksiyalar ishlatilsa, ular shu guruhga bo`ladi. Misol: Select student_ID Max (mark) from exam_marks Group by student_ID Guruhlashni bir nechta maydon bo`yicha ham bajarish mumkin. Select student_ID, subject_ID Max (mark) From exam-marks group by Student_ID, subject_ID Ba’zi hollarda jadvalidagi ma’lumotlarni tartiblash talab etiladi. Buning uchun ORDER BY parametri ishlatiladi. Bu parametri ko`rsatilgan maydonning barcha yozuvlarni o`sib borishi tartibida tartiblab beradi. Order by desc yozilsa kamayish tartibida yoziladi. Order by (ASC) bo`lsa o`sish tartibida yoziladi. Agar o‘quvchilar ro‘yxatini alifbo tartibida yoki mahsulotlarlar narxini kamayish tartibida chiqarish zarur bo‘lsachi? Buning uchun SELECT operatori tarkibida ORDER BY ifodasi ko‘zda tutilgan. ORDER BY ifodasida ustunlar nomlari va nomerlari hamda DESC, ASC predikatlarini qo‘llab, murakkab tartiblash shartlarini hosil qilish mumkin. Misol: 1. Select* from Subject Order by Subj_name 2. Select*from Subject Order by Subj-name desc Tartiblash bir nechta maydon uchun bajarilishi xam mumkin. Bunda avval tartiblash 1-maydon bo`yicha keyin 2-maydon bo`yicha bajariladi. SHuningdek order by parametri group by parametri bilan birga ishlatilishi mumkin. Bunda order by so`rovda oxiri keladi va unda guruxni ichidagi yozuvlarni tartiblaydi. Misol: 1. Select * from SUBJECT Order by Semester, Subj-name; 2. Select subj-name, Semester, subj-name Order by semester SQL tili 1 ta so`rov ichiga 2-so`rovni joylashtirib ishlatish imkonini beradi. Misol: birorta talabani familiyasi bo`yicha uning ID sini topish talab etilsa, va bu talabani barcha baxolari xaqidagi ma’lumotni ko`rmoqchi bo`lsak quyidagi so`rovni yozish mumkin. Select*; from exam_marks Where student_ID (select student_I) From student where surname= „Petrov‟ Jadvallar bilan ishlaganda, ba’zan ustun va jadval nomlarini qayta aniqlashga yoki qayta nomlashga to`gri keladi. Bunday masalalar ko`pincha birorta ifodalarni xisoblaganda, virtual ustunga joylashganda unga nom qo`yish ba’zan natija jadvali ustunini nomlashda kerak bo`ladi. Faculty Name Stipend Select name AS Axmedov 150 Name_ talaba, Pozilov 2* stipend AS yangi St 200 Faculty Name Stipend yangi st Select name Axmedov 300 Name_ talaba, Pozilov 400 2 * stipend yangi st Xuddi shundek biz ustun nomlarini ham uzunligini o`zgartirishimiz mumkin. Ishni bajarish tartibi 1. Qaysi davlatlardan reyslar uyushtirilishi topilsin. So’rov: select aviakompaniyalar_id, qayerdan from parvozlar group by qayerdan; Natija: 2. Max id ni chiqarish. So’rov: select id, aviakompaniyalar_id, max(id) from parvozlar group by aviakompaniyalar_id; Natija: 3. Alfavit bo’yicha tartiblash; So’rov: select*from parvozlar order by qayerdan; Natija: 4. Alfavitga teskari tartiblash: So’rov: select*from parvozlar order by qayerdan desc; Natija: 7 - AMALIY ISHI Mavzu: Having standart so‘zi orqali so‘rovlar yaratish Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib HAVING standart so`zidan foydalanishni o`rganish. Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng undan unumli foydalanishni tashkil etish maqsadida HAVING standart so`zlaridan foydalanib so`rovlar yaratish. Ma`lumotlar bazasidan kerakli ma`lumotlarni yuqoridagi standart so`z orqali ajratib olishni tashkil etish. Uslubiy ko`rsatmalar: HAVING parametri qator guruhlari uchun tanlov shartini belgilashga imkon beradi. U WHERE parametriga o'xshaydi, lekin GROUP BY parametridan keyin aniqlanadi va birlashtirilgan qatorlarga qo'llaniladi. HAVING parametrini tanlash shartida, so'rov bo'yicha ustunlar qiymatlarini, shu jumladan agregat funktsiyalarining qiymatlarini ishlatishingiz mumkin. Guruxlar ichidan kerakli yozuvlarni ajratib olish uchun HAVING ishlatiladi. HAVING=WHERE, faqat HAVING guruxlar ichiga tegishli Select Subj_name, max (hour) From SUBJECT; Group by Subj_name Having max (Hour)>= 34; Ishni bajarish tartibi 1. So’rov: select*from passanger; Natija: 2. So’rov: select*from passanger having id>15; Natija: 3. So’rov: select parvozlar_id, count(Passport) from passanger group by parvozlar_id having count(Passport)>6; Natija: XULOSA Men ushbu Amaliy ishlarida mantiqiy amallar AND, OR, NOT va BETWEEN buyruqlaridan foydalanishni, SUM, AVG, COUNT amallridan foydalanishni va GROUP BY, ORDER BY, HAVING buyruqlaridan foydalanishni o’rgandim.
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 )