O’ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI Amaliy ish Bajardi: Sa'dinov Sodiqjon Tekshirdi: Jurayev Tulqinjon Toshkent 2023 2- AMALIY ISH Mavzu: Ma`lumotlar bazasini loyihalash, SQL yordamida ma`lumotlar bazasini yaratish, ma’lumotlar ustida amallar, SQL yordamida Where standart so‘zidan foydalanish. Ishdan maqsad: Ma’lumotlar 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. Obyektlar, obyekt xususiyatlari, bog‘lanishlar (obyekt 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 tashkil etuvchisi faqat aniq bo’lmagan holda ishtirok etishi mumkin. Modelda vaqt, yil, sana va shunga o`xshash atributlar bilan tasvirlanadi. Modelni qurishda 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 yetarli kengroq tekshirish zarur va oldingisini to`ldiradigan lokal 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. Ishni bajarish tartibi 1. Tanlangan obyekt bo`yicha mohiyat-aloqa diagrammasini yaratish. 2. Quyida ―Oliy ta’lim bazasini yaratish uchun mohiyat – aloqa diagrammasi yaratilgan. Oliy ta’lim predmet sohasi uchun mohiyat – aloqa modeli nomi soni Id Xodi mlar soni Nomi Dekanat Fakultet Dekan Id Zamdek an Xodim/ soni Id Yo`nalish Oliy ta’lim soni nomi id Talaba/ soni talabalar ismi guruh i yonalish O`qituvchi Id ismi Vazif asi lavozimi ID 1. 2. 3. Dekanat KIF DIF TTF fakultet Lavozimi yo`nalish Ism,Familyasi Tel.nomeri Manzili talabalar o`qituvchilar Id Id Id Id Soni Nomi Ismi Nomi Soni Yo`nalishi Ism_familiy asi Xodimlari soni Fakultet id Guruhi Talaba/ soni Yonalish id Lavozimi Vazifasi Yonalish id Id Dekanat Nomi Xodimlar soni Dekan Zamdekan Fakultet id Oliy ta’lim ma’lumotlar bazasini va uning table larini yaratamiz mysql> use oliytalim; Database changed mysql> create table fakultetlar(id int not null auto_increment primary key, fakultet_soni int(5), fakultet_nomi varchar(44), xodimlar_soni int(15)); Query OK, 0 rows affected (0.03 sec) mysql> create table dekanat(id int not null auto_increment primary key, dekanat_xodimlari_soni int(6), dekan_ismi varchar(32), zamdekan_ismi varchar(45)); Query OK, 0 rows affected (0.14 sec) mysql> desc dekanat; shu tariqa qolga table larni ham yaratib olamiz; mysql> insert into dekanatlar values(0, 'Kompyuter injenering', 5, 'Kuchkarov Temur', 'Karimov Abdulatif'); Query OK, 1 row affected (0.01 sec) mysql> select * from dekanatlar; Shu tariqa jadvalni to`ldirib chiqamiz. mysql> insert into dekanatlar values(0, 'Dasturiy injenering', 6, 'Saitov Said', 'Keldibekov Bobomurod'),(0, 'Telekommunikatsiya texnologiyalari', 5, 'Sattorov Said', 'Umurzoqov Jahongir'),(0, 'Raqamli iqtisodiyor', 8, 'Valijonov Hikmatillo', 'Burxonov Bahodir'); Query OK, 3 rows affected, 1 warning (0.01 sec) Records: 3 Duplicates: 0 Warnings: 1 Select operatorini qo`llanilishi; mysql> select * from dekanatlar; Delete operatorini qo`llanilishi; delete from dekanatlar where id=1; Query OK, 1 row affected (0.04 sec)mysql> select * from dekanatlar; insert into fakultetlar values(0, 'KIF', 8, 'Soliyev Mavlon'),(0, 'DIF', 6, 'Kattabekov Kanol'),(0, 'AXF', 9, 'Shodiyev Mansur'),(0, 'KTF', 6, 'Egamberdiyev Karimberdi'); Query OK, 4 rows affected (0.02 sec) Records: 4 Duplicates: 0 Warnings: 0 alter table fakultetlar add column yili year; Query OK, 0 rows affected (0.05 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> select * from fakultetlar; Update operatorining qo`llanilishi; mysql> update fakultetlar set yili=20018 where id=1; Query OK, 1 row affected, 1 warning (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> update fakultetlar set yili=2009 where id=4; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from fakultetlar; mysql> select * from talabalar; quyida solishtirish amallaridan foydalanamiz mysql> select * from talabalar where id=2; mysql> select * from talabalar where id!=2; mysql> select * from talabalar where id<=2; mysql> select * from talabalar where yonalishi='robototexnika' and manzili='Qashqadaryo'; mysql> select * from talabalar where yonalishi='robototexnika' or yonalishi='Kompyuter injiniring'; mysql> select * from talabalar where id between 3 and 5; mysql> select * from talabalar where id between 1 and 4; mysql> select * from talabalar where manzili like 'S%'; mysql> select * from talabalar where yonalishi like '%a'; mysql> select * from talabalar having yoshi>20; mysql> select * from talabalar; mysql> select * from talabalar group by manzili; mysql> select * from talabalar order by manzili; mysql> select * from talabalar order by manzili desc; Xulosa: Men bu mavzuda oliytalim predmet sohasini tanlab u ustida amallar bajardi. Men birinchi navbatda o`zimning ma’lumotlar bazamni shakllantirdim va undan Where standart so‘zidan foydalanish(<, >, =<, >=, !=, between, like), Group by va Order by HAVING standart operatorlaridan foydalandim.