Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
Axborot xavfsizligi fakulteti 714-20-guruh talabasi
Sulaymonov Bobomurodning Chiziqli algebra
fanidan tayyorlagan birinchi
MUSTAQIL ISHI
Mavzu: Ma’lumotlar bazasini loyihalash.
REJA:
1. Mohiyat – aloqa diagrammasini qurish.
2. Relyatsion ma’lumotlar bazasini loyihalash.
3. SQL tilida jadvallar yaratish, o‘zgartirish va o‘chirish.
4. AND, OR, NOR mantiqiy standart so‘zlardan foydalanish.
5.Xulosa.
Mohiyat – aloqa diagrammasini qurish.“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.
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.
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.
Viloyat nomi
Tuman nomi
Mahallalar nomi
Tuman masullari
Aholi soni
FISH
Lavozimi
Xodimlar
Masullar
Yashah manzili
FISH
Aholi
yashaydi
Tumandagi mahallalar
Bo`lingan
Tuman joylashgan Viloyat
joylashgan
Tuman
xodimlar
FISH
oyligi
Lavozimi
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.
|
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. Misol qilib, tuman malumotlar bazasini yaratishni olaylik. Tuman, mahallalardan tashkil topgan va har bir tuman uchun o`zining markazi sifatida qaysidir shaharcha olinadi.Bu yerda Tuman predmet sohasi sifatida olinadi. Mahallalar va shaharchalar obyekt sifatida olinadi. Obyektning atributlariga(xususiyatlari) esa mahallalar va shaharchalar nomi , aholisi va hakazolar kiradi.Bog`lanishlar esa malum bir obyektlarni birbiriga bo`lgan aloqalariga qarab bog`lovchi vazifasini bajaradi.
Relyatsion ma’lumotlar bazasini loyihalash.
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
Mohiyat - aloqa diagrammasi uchun relyatsion bog`lanish o`rnatamiz.
Tuman ma`lumotlar bazasini yaratishning relyatsion modeli jadvallarini tuzib chiqamiz.
ID
|
Tumanlar
|
1
|
Shayxontoxir tumani
|
2
|
Paxtachi tumani
|
3
|
Sardoba tumani
|
4
|
Navbahor tumani
|
Ma`lumotlar bazasining Mahallalar jadvali.
ID
|
Tuman_ID
|
Mahallalar
|
1
|
2
|
Bog`i eram
|
2
|
2
|
Tadbirkor
|
3
|
2
|
Yobu
|
4
|
1
|
Amir Temur
|
5
|
1
|
Chinor
|
6
|
3
|
Bahor
|
7
|
4
|
Umid
|
Ma`lumotlar bazasining Aholi jadvali.
ID
|
Tuman_ID
|
Mahalla_ID
|
FISH
|
Manzil
|
1
|
2
|
2
|
Toshtemirov Shuhrat
|
Jo`yimahmud ko`chasi
|
2
|
4
|
7
|
Pirnazarov Bahodir
|
Xalqlar do`stligi ko`chasi
|
3
|
1
|
4
|
Sayimov Farrux
|
Mahmud Tarobiy ko1chasi
|
4
|
2
|
3
|
Haqberdiyeva Sevinch
|
Hamza ko`chasi
|
5
|
1
|
5
|
Mingberdiyev Fozil
|
Shodlik ko`chasi
|
6
|
2
|
2
|
Somatov Dilshod
|
Jo`yimahmud ko`chasi
|
7
|
4
|
7
|
Mahkamova Oygul
|
Xalqlar do`stligi ko`chasi
|
Ma`lumotlar bazasining Viloyatlar jadvali.
ID
|
Tuman_ID
|
Viloyat
|
1
|
1
|
Toshkent
|
2
|
2
|
Samarqand
|
3
|
3
|
Sirdaryo
|
4
|
4
|
Navoiy
|
Malumotlarning relyatsion bazasi - bu o‘zaro bog‘langan munosabatlar,yani jadvallar to‘plamidir. Har qanday munosabat(jadval) kompьyuterlarning xotirasida fayl ko‘rinishda joylashtiriladi.
Relyatsion MB kuchli nazariy fundamentga ega bo‘lib, u matematik munosabatlar (otnosheniya) nazariyasiga asoslangan. Ma‘lumotlarning relyatsion modeli kontseptsiyasi 1970 yilda Ye.F.Kodd tomonidan taklif qilingan bo‘lib, u ma‘lumotlarni tavsiflash va tasvirlashning amaliy dasturlaridan bog‘liq bo‘lmasligini ta‘minlash masalasini hal qilish uchun xizmat qiladi. Masalan, Xodim obyekti olamiz.”Xodim” mazmunini saqlash uchun, XODIM munosabatidan foydalanamiz.
FISH
|
Lavozimi
|
Oyligi
|
Qodirov Boltaro`zi
|
Tuman hokimi
|
10000000
|
Sobirov Jamshid
|
Hokim o`rinbosari
|
7500000
|
Munosabat ustunlari atributlar deb ataladi va ularga nomlar beriladi. Munosabat atributlarining nomlaridan iborat ro‘yxatini munosabatlar sxemasi deyiladi.
SQL tilida jadvallar yaratish, o‘zgartirish va o‘chirish.
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аsаvirlа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 ( 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 ADD ;
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 ;
Eski yaratilgan ma’lumotlar bazasini ko’ramiz uchun biz show databases; so`rovini kiritishimiz talab etiladi. Agar biz yangi malumotlar bazasini yaratmoqchi bo`lsak, masalan Tumanlar malumotlar bazasini yaratmoqchi bo`lsak:
CREATE databases Tumanlar; so`rovidan foydalanamiz.
Natija:
Biz o`zimiz yaratgan malumotlar bazasiga o`zgarishlar va yangi jadvallar kiritishimiz uchun biz use ; dan foydalanishimiz kerak.Masalan, o`zimiz yaratgan Tumanlar malumotlar bazasinga o`zgarishlar kiritish uchun use tumanlar; so`rovidan foydalanamiz va shu malumotlar bazasiga paxtachi_tumani nomli jadvalni:
Create table Paxtachi_tumani(id int, mahallalar varchar(20)); so`rovidan foydalanib kiritamiz. Bu yerdagi mahallalar va id esa Paxtachi_tumani atributlaridir.
Natija:
Malumotlar bazasidagi barcha jadvallarni ko`rish uchun show tables from so`rovidan foydalanamiz. Demak biz tumanlar malumotlar bazasidagi jadvallarni ko`rish uchun show tables from tumanlar; so`rovini kiritar ekanmiz.Kiritgan jadvalimiz atributlari turini ko`rish uchun esa desc Paxtachi_tumani; so`rovi ishlatiladi.
Natija:
Jadval yaratilgandan so`ng agar yana qo`shimcha ustun qo`shishga to`g`ri kelib qolsa alter table add varchar(20) dan va aksincha o`chirmoqchi bo`lsak add o`rniga drop kiritamiz va malumot turini kiritish kerak emas: alter table add varchar(20); foydalanamiz.paxtachi_tumani jadvaliga aholi_soni nomli ustun qo`shamiz:
Alter table paxtachi_tumani add Aholi_soni varchar(10);
Natija:
Jadvalga yangi hududga_masul_xodim nomli satr qo’shamiz:
So`rov: Alter table paxtachi_tumani add Hududga_masul_xodim varchar(10);
Natija:
AND, OR, NOR mantiqiy standart so‘zlardan foydalanish. 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
|
>
|
Kata
|
<
|
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
|
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%'
Jadvaldagi malumotlarni ko`rishimiz uchun biz SELECT*FROM dan foydalanamiz. O`zimiz yaratgan jadvalni ko`ramiz:
SELECT * FROM Paxtachi_tumani; Bu yerda (*) belgisi shu jadvaldan barcha ustunlarini ko`rsatishi kerak ekanligi bildiradi.
Natija:
Endi biz o`zimiz yaratgan tablelar ustida bir nechta funksiyalarni ko`ramiz.
Aholi_soni 300 tadan ko`p bo`lgan mahallalarni kata harflar bilan chiqarishda
SELECT id, UPPER(mahallalar) FROM paxtachi_tumani WHERE aholi_soni>300; so`rovini kiritamiz va xuddi shu mahallalarni kichik harflar bilan chiqarish kerak bo`lsa upper o`rniga lower funksiyasidan foydalanamiz.
Natija:
length() funksiyasi xohlagan ustun uchun o`sha ustunga kiritilgan malumotlarni uzunligini chiqaradi:
So`rov: SELECT id,mahallalar, length(mahallalar), aholi_soni FROM paxtachi_tumani WHERE aholi_soni>300;
Natija:
So`rov: SELECT id, LOWER(mahallalar) FROM paxtachi_tumani
WHERE aholi_soni BETWEEN 400 AND 500;
Natija:
WHERE bilan ishlovchi operatorlarni ham ko`ramiz.
So`rov: SELECT id, LOWER(mahallalar) FROM paxtachi_tumani
WHERE NOT id BETWEEN 1 AND 4;
Natija:
So`rov: SELECT id,mahallalar, aholi_soni FROM paxtachi_tumani WHERE id IN(1,3,5) And aholi_soni>320;
Natija:
So`rov: SELECT id, mahallalar FROM paxtachi_tumani
WHERE mahallalar like’T%’;
Xulosa.
SQL (server query language) malumotlar bazasi bilan ishlash uchun qulay va malumotlar bazasida barcha ma`lumotlar jadval tarzda saqlanar ekan.Yangi malumotlar bazasi ustida ishlar ekanmiz Moyiyat-aloqa diagrammasini qurishdan boshlash ancha samarali va vaqtni tejaydi.
FOYDALANILGAN ADABIYOTLAR
В.П. Базы данных. Книга 2 распределенные и удаленные базы данных: учебник.// Москва ИД «ФОРУМ» - ИНФРА-М. – 2018. – С 261.
Голицына О.Л. Базы данных: учеб. Пособие // – 4-е изд., перераб. И доп. – М.: ФОРУМ: ИНФРА-М, 2018. – 400 с.
Мартишин С.А. Базы данных. Практическое применение СУБД SQL –и NoSQL – типа для проектирования информационных систем: учеб. Пособие // - Москва: ИД «ФОРУМ» - ИНФРА-М, 2019, – 368 с.
Rahul Batra. SQL Primer An Accelerated introduction to SQL Basics.// Gurgaon, India. 2019. –P 194.
Поликов А.М. Безопасность Oracle глазами аудиториа: нападение и защита. –Москва. 2017. –336 с.
Usmonov J.T., Xujaqulov T.A. Ma’lumotlar bazasini boshqarish tizimi// o`quv qo`llanma. - Т. : Aloqachi, 2018. – 96 b.
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.
Eric Redmond, Jim R. Wilson. A Guide to Modern Databases and the NoSQL MovementAQSH, 2015. – 347 с.
Elmasri, R., S. B. Navathe: Fundamentals of Database Systems (5th Ed.)// Addison Wesley, 2015. – 671 р.
Fundamentals of database systems sixth edition. Ramez Elmasri. Department of Computer Science and Engineering The University of Texas at Arlington. 2011. – 261 с.
Введение в Oracle 10g. Перри Джеймс, Пост Джеральд. 697 стр 2013
Диго С.М. Базы данных Проектирование и использование. издательство "Финансы и статистика". 2005 г. – 592 с.
Конноли Т., Брегк К. Базы данных, проектирование, реализация и сопровождения, теория и практика, Университет Пейсли, Шотландия, изд. М.- СПБ.- Киев. 2003. – 264 с.
www.intiut.ru;
www.oracle.com
www.library.tuit.uz;
www.intuit.ru;
www.w3school.com;
www.ziyonet.uz;
www.fayllar.org.
Do'stlaringiz bilan baham: |