Ob`yektlar
1
|
Dekan
|
2
|
Dekan muovi
|
3
|
Talabalar
|
4
|
Xodimlar
|
|
|
Quyidagi rasmda aloqalar (ob`yektlar orasidagi munosabatlar)ning ko`rinishi keltirilgan
“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.
Quyida “Fakultet” nomli aloqa modelining obektlari, ularning atributlari bilan keltirilgan. Va bunda barcha obektlarga umumiy bo’lgan id atributi olingan
Dekan
ID
|
FIO
|
Maoshi
|
Ish staji
|
Ilmiy unvon
|
1
|
Azimov Jamol Sanatovich
|
2500000
|
8-yil
|
Oliy ma’lumotli
|
2
|
Olimov Kamol Hasanovich
|
4500000
|
9-yil
|
Texnik
|
3
|
Umidov Husan Karimovich
|
5500000
|
10-yil
|
Texnik
|
Dekan muovi
ID
|
FIO
|
Ilmiy unvon
|
Ish staji
|
Maoshi
|
1
|
Haydarov Oltin
Tursunov
|
Dotsent
|
5-yil
|
1500000
|
2
|
Sanoqulov Shaxboz G’ofirovich
|
Professor
|
7-yil
|
200000
|
Talabalar
ID
|
FIO
|
Fakulteti
|
Kursi
|
Iqtososligi
|
1
|
Muzaffarov Nuriddin
Muzaffarjon o’g’li
|
Iqtisodiyot va menejment
|
2 – kurs
|
Elektron tijorat
|
2
|
Sobirov Sohib Zokir o’g’li
|
|
3 – kurs
|
Kasb ta’lim
|
Xodimlar
ID
|
FIO
|
Mutaxasisligi
|
Lavozimi
|
Yashash manzili
|
Ish staji
|
1
|
Ibrohim Jumaniyozov
Otaxonovich
|
Texnik
|
O’qituvchi
|
Toshkent shahar
Yunusobod tuman Amir Temur shox ko’chasi
|
12-yil
|
2
|
Tolibov Ulug’bek Umidovich
|
Oliy ma’lumotli
|
O’qituvchi
|
Toshkent shahar
Yunusobod tuman Amir Temur shox ko’chasi
|
10-yil
|
|
|
|
|
|
|
Fakultet
ID
|
Nomi
|
Talabalar soni
|
Xodimlar soni
|
Joylashgan manzili
|
1
|
Axborot texnologiyalar sohasida iqtisodiyot va menejment
|
420 ta
|
53 ta
|
Toshkent shahar
Yunusobod tuman
Bodomzor Ko’chasi
|
2
|
Dasturiy injinering
|
500 ta
|
45 ta
|
|
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.
2. Relyatsion ma’lumotlar bazasini loyihalash.
Ma`lumotlar bazasini relyatsion modelini qurishda bog`lanish munosabatlari muhim ahamiyatga ega. Aslida ma`lumotlar bazasi munosabatlarga qarab ob`yektlari bog`laydi. Asosan 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.
Yuqoridagilarga tayangan holda ob`yektlarni yaratib olamiz (PS bo`yicha).
“Fakultet ” predmet sohasining ob`yektlari
№
|
Ob`yektlar
|
1
|
Dekan
|
2
|
Dekan muovi
|
3
|
Talabalar
|
4
|
Xodimlar
|
5
|
Fakultet
|
Bu ob`yektda boshqa bir ob`yekt bilan bog`lanishi uchun id ustuni mavjud.
Ob`yektlarni raqamlar orqali bog`lash maqsadga muvofiqdir.
Fakultet database
Dekan
ID
|
FIO
|
Maoshi
|
Ish staji
|
Ilmiy unvon
|
1
|
Azimov Jamol Sanatovich
|
2500000
|
8-yil
|
Oliy ma’lumotli
|
2
|
Olimov Kamol Hasanovich
|
4500000
|
9-yil
|
Texnik
|
3
|
Umidov Husan Karimovich
|
5500000
|
10-yil
|
Texnik
|
Dekan muovi
ID
|
FIO
|
Ilmiy unvon
|
Ish staji
|
Maoshi
|
1
|
Haydarov Oltin
Tursunov
|
Dotsent
|
5-yil
|
1500000
|
2
|
Sanoqulov Shaxboz G’ofirovich
|
Professor
|
7-yil
|
200000
|
Talabalar
ID
|
FIO
|
Fakulteti
|
Kursi
|
Iqtososligi
|
1
|
Muzaffarov Nuriddin
Muzaffarjon o’g’li
|
Iqtisodiyot va menejment
|
2 – kurs
|
Elektron tijorat
|
2
|
Sobirov Sohib Zokir o’g’li
|
|
3 – kurs
|
Kasb ta’lim
|
Xodimlar
ID
|
FIO
|
Mutaxasisligi
|
Lavozimi
|
Yashash manzili
|
Ish staji
|
1
|
Ibrohim Jumaniyozov
Otaxonovich
|
Texnik
|
O’qituvchi
|
Toshkent shahar
Yunusobod tuman Amir Temur shox ko’chasi
|
12-yil
|
2
|
Tolibov Ulug’bek Umidovich
|
Oliy ma’lumotli
|
O’qituvchi
|
Toshkent shahar
Yunusobod tuman Amir Temur shox ko’chasi
|
10-yil
|
|
|
|
|
|
|
Fakultet
ID
|
Nomi
|
Talabalar soni
|
Xodimlar soni
|
Joylashgan manzili
|
1
|
Axborot texnologiyalar sohasida iqtisodiyot va menejment
|
420 ta
|
53 ta
|
Toshkent shahar
Yunusobod tuman
Bodomzor Ko’chasi
|
2
|
Dasturiy injinering
|
500 ta
|
45 ta
|
|
Bu ob`yektda boshqa bir ob`yekt bilan bog`lanishi uchun id ustuni mavjud.
Ob`yektlarni raqamlar orqali bog`lash maqsadga muvofiqdir.
Fakultet jadvali.
ID
|
Dekan_id
|
Dekan_nomi
|
1
|
1
|
Qalandarov Samandar Umidovich
|
2
|
2
|
Sobirov Sohib Zokirovich
|
3
|
2
|
Haitov Jamshid Hasanovich
|
Bu ob`yekt “dekan_id” atributi orqali rastalar ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
Dekan jadvali
ID
|
Dekan_id
|
FIO
|
Ilmiy unvoni
|
maoshi
|
Ish_staji
|
1
|
2
|
Qalandarov Samandar Umidovich
|
Oliy ma’lumotli
|
3000000
|
9-yil
|
2
|
2
|
Sobirov Sohib Zokirovich
|
Dotsent
|
2800000
|
8-yil
|
3
|
2
|
Haitov Jamshid Hasanovich
|
Texnik
|
3500000
|
12-yil
|
Bu ob`yekt “dekan_id” atributi orqali mahsulotlar ob`yektiga bog`lanadi va boshqa bir ob`yektga “ID” atributi orqali bog`lanishi mumkin.
3. SQL tilida jadvallar yaratish, o’zgartirish va o’chirish.
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,q)
|
o‗nli son, p raqam va ishoradan iborat (0 < p
|
|
< 16). O‗nli nuqtadan so‗ng raqamlar soni q
|
|
orqali beriladi (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
|
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.
|
|
|
TIME
|
maxsus komanda orqali aniqlanuvchi
|
|
formatdagi vaqt (ko‗zda tutilgan bo‗yicha
|
|
hh.mm.ss).
|
DATETIME
|
sana va vaqt kombinatsiyasi.
|
|
|
MONEY
|
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а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 ;
Ishni bajarish tartibi
Avvalo 1 va 2 -laboratoriya 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:
Eski yaratilgan ma‘lumotlar bazasini ko‘ramiz:
So`rov: show databases; Natija :
3.1-rasm. Mavjud ma‘lumotlar bazalarining ro‘yxati.
Yangi foydali_qazilma_boyitish_zavodi nomli baza yaratamiz;
So`rov: create database dekanat;
Natija:
3.2-rasm. “Dekanat” – database
Dekan nomli jadval yaratamiz:
So`rov: create table dekan(id int not null, FIO varchar(100), maosh int not null,ish_staji varchar(100),ilmiy_unvoni varchar(100))
Natija:
3.3-rasm. Dekan nomli jadval yaratilishi.
Jadvalni ko‘ramiz:
So`rov: dekan;
Natija:
Jadvalga yangi ―yashash_manzili nomli satr qo‘shamiz:
So`rov: Alter table dekan add yashash manzil varchar(100);
Update dekan set yashash_manzili=’toshkent’ where id =1;
Natija:
AND, OR, NOT 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
|
>
|
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
Fakultet database ning dekan jadvallarini ko‘ramiz;
So`rov: SELECT *FROM dekan;
Natija:
So`rov: SELECT dekan_id, FIO, ilmiy_unvoni FROM
dekan WHERE maosh>2500000;
Natija:
So`rov: SELECT id, substr(FIO ,1,1)||‟.‟|| ilmiy_unvoni,
FIO, ish_staji, length(ish_staji), maosh FROM dekan WHERE id IN(1,2,3) AND maosh>2500000;
Natija:
So`rov: SELECT FIO, length(ilmiy_unvoni), ish_staji, maosh FROM dekan WHERE NOT id=3;
Natija:
So`rov: SELECT id, Lower(FIO), ilmy_unvoni, length(ilmy_unvoni), maosh
FROM dekan WHERE id BETWEEN 1 and 2;
Natija:
5.Xulosa
Xulosa qilib shuni aytishim mumkunki, SQL tilida jadval yaratish asosan SQL tilining buyruqlari orqali yaratilar ekan. Va bu buyruqlar asosan ingliz tilida ekan. Buyruqlarning tuzlishida vazifasiga qarab o’xshashliklar mavjud. Undan tashqari SQL tili ham boshqa dasturlash tillari bilan umumiy jihatlari(asosan buyruqlar orqali ishlash) borligi sababli , buyruqlar asosan ingliz tilidan to’g’ridan-to’g’ri (ba’zi buyruqlar mustasno) tarjima qilingani sababli SQL tilida jadval yaratish ingliz tilini bilganlar uchun ancha qulay. Undan tashqari, agar buyruqlar sintaktik xató yozilgan taqdirda yoki boshqa xatolar yuz berganda aynan qanday xatolik yuz bergani dastur tomonidan takidlanadi. Va bu xató aynan qayerda bo’lganini bilishga yordam beradi.
Foydalanilgan adabiyotlar
1. Usmonov J.T., Qosimova U., Pulatova Z. M., Abidova F.Sh., Ma’lumotlar bazasi. Uslubiy qo‘llanma. - Toshkent: TATU-2020.
Do'stlaringiz bilan baham: |