5 Labaratoriya


Download 230.44 Kb.
Sana13.05.2023
Hajmi230.44 Kb.
#1457120
Bog'liq
MBBT 5 - labaratoriya


5 – Labaratoriya.

    1. Talaba bilan yo’nalish jadvalinining dekart ko`paytmasini uchun ko’rinish (view) yarating. Unga murojaatni amalga oshiring;



CREATE VIEW misol_1 AS SELECT talabalar.id AS talaba_id, yunalish.id AS yunalish_id FROM talabalar, yunalish



    1. Talaba, yo`nalish, guruh ma`lumotlari asosida quyidagi ko`rinishdadi ma`lumotlarni tanlash imkonini beruvchi (view) yarating. Unga murojaatni amalga oshiring. Talaba FIO, guruh nomi, yo`nalishi.

CREATE VIEW misol_2 AS SELECT talabalar.Familiya,talabalar.Ism, talabalar.Sharifi, yunalish.yunalish_name, guruh.guruh_name FROM talabalar JOIN guruh ON talabalar.id_guruh = guruh.id JOIN yunalish ON guruh.id_yun = yunalish.id




    1. Fanlar qaysi yo`nalishga tegishli ekanligini aniqlovchi view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_3 AS SELECT fanlar.fan_name, yunalish.yunalish_name FROM fanlar LEFT JOIN yunalish ON fanlar.id_yun = yunalish.id




    1. Yo`nalishlarga mos bo`lan fanlarni chiqarish view yarating. Unga murojaatni amalga oshiring. Bunda agar fan uchun mos yo`nalish bo`lmasa ham yo`nalish nomi NULL qiymatda chiqaring. (left join, right join)


CREATE VIEW misol_4 AS SELECT yunalish.yunalish_name, fanlar.fan_name FROM yunalish LEFT JOIN fanlar ON yunalish.id = fanlar.id_yun WHERE yunalish.yunalish_name



    1. Yo`nalishlarga mos bo`lan fanlarni chiqarish view yarating. Unga murojaatni amalga oshiring. Bunda agar yo`nalish uchun mos fan bo`lmasa ham FAN nomini NULL qiymatda chiqaring. (left join, right join)

CREATE VIEW misol_5 AS SELECT yunalish.yunalish_name, fanlar.fan_name FROM yunalish LEFT JOIN fanlar ON yunalish.id = fanlar.id_yun WHERE yunalish.yunalish_name


SELECT * FROM misol_5


    1. Yo`nalishlarga mos bo`lan fanlarni chiqarish view yarating. Unga murojaatni amalga oshiring. Bunda agar fan uchun mos yo`nalish yoki yo`nalish mos fan bo`lmasa ULARNI NULL qiymat to`ldirish bilan da chiqaring. (full join)

CREATE VIEW misol_6 AS SELECT `fanlar`.`id` AS `fanlar_id`, `fanlar`.`fan_name`, `fanlar`.`id_yun` AS `fanlar_yunalish_id`, `yunalish`.`id` AS `yunalish_id`, `yunalish`.`yunalish_name` FROM `fanlar` LEFT OUTER JOIN `yunalish` ON `yunalish`.`id` = `fanlar`.`id_yun` UNION ALL SELECT `fanlar`.`id` AS `fanlar_id`, `fanlar`.`fan_name`, `fanlar`.`id_yun` AS `fanlar_yunalish_id`, `yunalish`.`id` AS `yunalish_id`, `yunalish`.`yunalish_name` FROM `yunalish` RIGHT OUTER JOIN `fanlar` ON `fanlar`.`id_yun` = `yunalish`.`id`


    1. taqsimot_kurs jadvali boshqa jadvallar bilan bog`lanadi bunga mos bo`lgan qiymatlar bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_7 AS SELECT `taqsimot_kurs`.`Id`, `fanlar`.`fan_name`, `taqsimot_kurs`.`semestr`, `taqsimot_kurs`.`soat`, `taqsimot_kurs`.`fan_turi`, `yunalish`.`id` as `yunalish_id`, `taqsimot_kurs`.`tartib` FROM `taqsimot_kurs` JOIN `fanlar` ON `fanlar`.`id` = `taqsimot_kurs`.`Id_fan` JOIN `yunalish` ON `yunalish`.`id` = `taqsimot_kurs`.`id_yun`




    1. taqsimot_amaliyot jadvali boshqa jadvallar bilan bog`lanadi bunga mos bo`lgan qiymatlar bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_8 AS SELECT `taqsimot_amaliyot`.`Id`,`amaliyotlar`.`amaliyot_name`, `taqsimot_amaliyot`.`semestr`,`taqsimot_amaliyot`.`soat`,`taqsimot_amaliyot`.`fan_turi`, `yunalish`.`yunalish_name`,`taqsimot_amaliyot`.`tartib` FROM `taqsimot_amaliyot`JOIN `amaliyotlar` ON `taqsimot_amaliyot`.`Id_amaliyot` = `amaliyotlar`.`id` JOIN `yunalish` ON `taqsimot_amaliyot`.`id_yun` = `yunalish`.`id`


    1. Talabalarning yo`nalishlar jadvalidagi yo`nalishi qiymatlari mos bo`lmaganlarni aniqlash view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_9 AS SELECT `talabalar`.`id`, `talabalar`.`Familiya`,`talabalar`.`Ism`,`talabalar`.`Sharifi`, `yunalish`.`yunalish_name` FROM `talabalar` LEFT JOIN `guruh` ON `guruh`.`id` = `talabalar`.`id_guruh` LEFT JOIN `yunalish` ON `guruh`.`id_yun` = `yunalish`.`id` WHERE `yunalish`.`id` IS NULL


    1. Har bir guruhda nechta talaba borligini guruh nomi bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_10 AS SELECT `guruh`.`id`,`guruh`.`guruh_name`,COUNT(`guruh`.`id`) FROM `guruh` JOIN `talabalar` ON `talabalar`.`id_guruh` = `guruh`.`id` GROUP BY `guruh`.`id`


    1. Yo`nalishda nechtadan guruh borligini yo`nalish nomi bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_11 AS SELECT yunalish.yunalish_name, COUNT(guruh.id) AS soni FROM yunalish LEFT JOIN guruh ON yunalish.id = guruh.id_yun WHERE yunalish.yunalish_name GROUP BY yunalish.yunalish_name


    1. Yo`nalishda nechtadan talabalar borligini yo`nalish nomi bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_12 AS SELECT yunalish.yunalish_name, COUNT(talabalar.id) AS talaba_soni FROM yunalish JOIN guruh ON yunalish.id = guruh.id_yun JOIN talabalar ON guruh.id = talabalar.id_guruh GROUP BY yunalish.yunalish_name


    1. Yo`nalishda tegishli guruhlarda nechtadan talabalar borligini yo`nalish nomi bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_13 AS SELECT `yunalish`.`yunalish_name`, `guruh`.`guruh_name`, COUNT(`talabalar`.`id`) FROM `yunalish` INNER JOIN `guruh` ON `yunalish`.`id` = `guruh`.`id_yun` LEFT JOIN `talabalar` ON `guruh`.`id` = `talabalar`.`id_guruh` GROUP BY `guruh`.`id`


    1. Yo`nalishda nechtadan fanlar borligini yo`nalish nomi bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_14 AS SELECT yunalish.yunalish_name, COUNT(fanlar.id) AS fan_soni FROM yunalish JOIN fanlar ON yunalish.id = fanlar.id_yun GROUP BY yunalish.yunalish_name


    1. Qaysi fanlarning id_yun sining yo`nalish jadvalida mavjud emasligini aniqlash view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_15 AS SELECT fanlar.id, fanlar.fan_name, fanlar.id_yun FROM fanlar LEFT JOIN yunalish ON fanlar.id_yun = yunalish.id WHERE yunalish.id IS NULL


    1. Har bir talabada qanday amaliyotlar boriligini nomi bilan view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_16 AS SELECT talabalar.Familiya, talabalar.Ism, talabalar.Sharifi, amaliyotlar.amaliyot_name FROM talabalar JOIN amaliyotlar ON talabalar.id_guruh = amaliyotlar.id




    1. Har bir talabada qanday kurs ishi borligini aniqlash so`rovini view yarating. Unga murojaatni amalga oshiring.


CREATE VIEW misol_17 AS SELECT `talabalar`.`Familiya`, `talabalar`.`Ism`, `fanlar`.`fan_name` FROM `talabalar` INNER JOIN `guruh` ON `talabalar`.`id_guruh` = `guruh`.`id` INNER JOIN `yunalish` ON `yunalish`.`id` = `guruh`.`id_yun` INNER JOIN `taqsimot_kurs` ON `yunalish`.`id` = `taqsimot_kurs`.`id_yun` INNER JOIN `fanlar` ON `fanlar`.`id` = `taqsimot_kurs`.`Id_fan`


    1. Talabalar qanday amaliyotlarga biriktirilmaganlarni aniqlash view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_18 AS SELECT talabalar.Familiya, talabalar.Ism, amaliyotlar.amaliyot_name FROM talabalar JOIN amaliyotlar ON talabalar.id_guruh = amaliyotlar.id


    1. Talabalar qanday kurs ishilarlarga biriktirilmaganlarni aniqlash view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_19 AS SELECT DISTINCT `talabalar`.`Familiya`, `fanlar`.`fan_name` FROM `talabalar` INNER JOIN `guruh` ON `talabalar`.`id_guruh` = `guruh`.`id` INNER JOIN `yunalish` ON `yunalish`.`id` = `guruh`.`id_yun` INNER JOIN `taqsimot_kurs` ON `yunalish`.`id` = `taqsimot_kurs`.`id_yun` INNER JOIN `fanlar` ON `fanlar`.`id` != `taqsimot_kurs`.`Id_fan`


    1. Talaba FIOsi, yo`nalish nomi, guruhi, pedagogic amaliyot ma`lumotlari bilan chiqarish view yarating. Unga murojaatni amalga oshiring.

CREATE VIEW misol_20 AS SELECT talabalar.Familiya, talabalar.Ism, talabalar.Sharifi, yunalish.yunalish_name, guruh.guruh_name, amaliyotlar.amaliyot_name FROM talabalar INNER JOIN guruh ON guruh.id=talabalar.id_guruh INNER JOIN yunalish ON yunalish.id=guruh.id_yun INNER JOIN amaliyotlar ON amaliyotlar.id_yun=yunalish.id WHERE amaliyotlar.amaliyot_name='Pedagogik amaliyot'



  1. Topshiriq INDEX yaratish

    1. fakultet jadvalidan fakultet_name uchun index yarating. Undan foydalanib qidiruvni amalga oshiring

    2. fanlar jadvalidan fan_name fan uchun index yarating. Undan foydalanib Qidiruvni amalga oshiring.

    3. Yunalish jadvalidan Yunalish _name fan uchun index yarating. Undan foydalanib Qidiruvni amalga oshiring.

    4. Talabalar jadvali uchun familiya, ism, shariflai uchun indexlar yarating. Undan foydalanib Qidiruvni amalga oshiring.




  1. Topshiriqlar qaysi birida create or replace asosida viewlar yaratish mumkin ekanligini aniqlang

Download 230.44 Kb.

Do'stlaringiz bilan baham:




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