O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARI RIVOJLANTIRSH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
MA'LUMOTLAR BAZASI FANIDAN
ORALIQ NAZORAT
BAJARDI:
TEKSHIRDI:
GURUH:
Ташкент 2020
1. MA'LUMOTLAR BAZASIDA BOSHQARISH TIZIMLARI DEGANDA NIMANI TUSHUNASIZ?
Ko‘pchilik, terminlarni tushunish bo‘yicha biroz qiynalishadi, lekin aynan terminlarni bilish, qo‘yilgan vazifalarni yechishda yoki paydo bo‘lgan xatoliklarni bartaraf etishda juda kerak bo‘ladi. Misol uchun, biror muammo paydo bo‘lsa, biz darhol Google’ni yordamga chaqiramiz, agar Google qidiruv tizimiga terminlar orqali so‘rov bersangiz, muammo yechish qiyinchilik tug‘dirmaydi, agar terminlarsiz oddiy so‘zlar bilan qidirishni amalga oshirsangiz, muammoni yechishga ancha vaqt ketib qoladi.
Bu maqolada ma’lumotlar bazasiga oid juda kerakli va ko‘pchilik(!) adashtiradigan ikki terminni tushuntirishga harakat qilaman: Ma’lumotlar bazasi va Ma’lumotlar bazasini boshqarish tizimi (MBBT).
Ma’lumotlar bazasi bu — tartiblangan ma’lumotlarni saqlovchi va qayta ishlovchi axborot modeli hisoblanadi. Soddaroq qilib aytganda, bir hil turdagi axborotlarni o‘zida saqlovchi va berilgan so‘rovlar orqali ularni taqdim etuvchi model. Misol uchun, kitoblar javoni, bu ma’lumotlar bazasi hisoblanadi, ya’ni bir hil turdagi (kitoblarni) ob’yektlarni o‘zida saqlaydi, yoki bo‘lmasa telefon raqamlar yozilgan kitobcha, bu yerda ism, telefon raqam kabi bir hil tipdagi ma’lumotlar saqlanadi, bu ham ma’lumotlar bazasi.
Ma’lumotlar bazasini boshqarish tizimi — bu ma’lumotlar bazasini hosil qiluvchi, ma’lumotlarni qayta ishlovchi va qidiruvchi tizim hisoblanadi. Qisqa qilib aytganda, MBBT barcha jarayonlarni amalga oshiradi. Ma’lumotlar bazasi faqat ma’lumotlarni saqlaydi, qolgan barcha ishlarni MBBT bajaradi.
Ma’lumotlar bazasidagi ma’lumotlar, SQL so‘rov tillari orqali boshqariladi, bu tilda MBBT’ga so‘rov beriladi, bu so‘rov u yerda qayta ishlanib, natija olish uchun ma’lumotlar bazasiga murojaat qiladi, u yerdan so‘rovga mos ma’lumotni olib, so‘rovga javob beradi:
So‘rov berish:
SQL so‘rov -> MBBT -> Ma’lumotlar bazasi
natija olish:
Ma’lumotlar bazasi -> MBBT — > So‘rovga javob
Quyidagi dasturlar MBBT’ga misol bo‘la oladi:
— Oracle;
— MySQL;
— Microsoft Office Access;
— MariaDB;
— Microsoft SQL Server;
Hulosa shuki, siz o‘ylagan bu dasturlar, ma’lumotlar bazasi emas, balki MBBT hisoblanadi.
Ma’lumotlar bazasi MBBT’ning bir qismidir, demak bu dasturlarni ishlatganda «ma’lumotlar bazasi sifatida Oracle’ni tanladim» emas, balki «Ma’lumotlar bazasini boshqarish tizimi sifatida Oracle’ni tanladim» to‘g‘ri bo‘ladi
2. INTERAKTIV VA QURILGAN SQL BU....
SQL tili erkin formatga ega bo‘lgani uchun, SQL aloxida operatorlari va
ularning ketma-ketligini, aloxida ajratib yozish va tekislab yozishni ishlatish
mumkin. Quyidagi qoidalarga bo‘ysunish talab etiladi:
-operatordagi xar bir konstruksiya yangi satrdan boshlanishi kerak;
-xar bir konstruksiya boshlanishida tashlab ketladigan bo‘sh pozitsiyalar, boshqa
operator konstruksiyalari xam bo‘lishi kerak;
-agar konstruksiya bir necha qismdan iborat bo‘lsa, ularning xar biri qism yangi
satrlardan bo‘sh o‘rinlarni oldingi konstruksiyaga nisbatan siljitib yoziladi.
Amaliyotda ma’lumot bazasi tuzilishini (asosan uni jadvallarini) aniqlash
uchun DDL operatorlari ishlatadi, bu jadvallarni ma’lumotlar bilan to‘ldirish uchun
va ulardan axborotlarni so‘rovlar yordamida ajratib olish uchun - DML operatorlari
ishlatiladi.
Ma’lumotlar bilan manipulyasiyalash SQL tilini DML peratorlarini ko‘llaymiz.
Interaktiv va qurilgan SQL. SQL tilini ikkita shaklida mavjud va ishlatiladi.
-interaktiv SQL
- qurilgan (kiritilgan) SQL
Interaktiv SQLda foydalanuvchi SQL- so‘rovlar va natija interaktiv rejimda
olinadi.
Qurilgan SQL, SQLkomandalaridan tashkil topib, u boshqa birorta tilga
(S++S, Delphi) yozilgan dastur ichiga joylashtiriladi. Bu shunday tillarni
ishlatadigan dasturlarni samarador, quvvatli qiladi. Ularga relyasion ma’lumotlar
bazasi bilan ishlash imkonini beradi.
SQL ma’lumot toifalari. Simvollar satr ma’lumot toifasi SQL standartida
matnlarni faqat bitta tavsifi keltiriladi. Uning sintaksisi
CHARACTER[(UZUNLIGI)] YOKI
CHAR[(UZUNLIGI)]
Jadvalni matnli qiymatli CHAR toifasidagi fikrlangshan uzunlikda bo‘lishi
mumkin. Bu parametr qiymati 1 - 255 bo‘lishi mumkin, ya’ni u 255 simvolgacha
bo‘lishi mumkin. SQL tilini ba’zi birlardagina o‘zgaruvchan uzunlikdagi satr
toifalari bor. Bu toifalar quyidagicha tavsiflanadi:
VARCHAR(),CHARVARYING YOKI CHARVARYING()
Ixtiyoriy uzunlikdagi matnli tasvirni tasvirlaydi.
CHARACTER va VARCHAR toifasidagi konstantalar apostrof ichiga yoziladi.
Quyidagiyozuvlarni barchasi ekvivalent
VARCHAR [(UZUNLIGI)],
CHARVARYING [(UZUNLIGI)]
CHARACTER VARYING[(UZUNLIGI)]
Agar uzunlik oshkor ko‘rsatilmasa, u birga teng deb qabul qilinadi, ya’ni
barcha xollarda bita simvoldan iborat bo‘ladi.
Sonli ma’lumot toifalari SQL standartida quyidagi son toifasida ishlatiladi.
INTEGER-butun sonlar uchun -2-
31….231
SMOLLINT-butun sonlar 2-15…215
DECIMAL (aniqlik[masshtab]) -Fiksirlangan nuqtali unli son aniqlik sondagi
qiymatli raqamlar masshtab unli nuqtadan undagi raqamlarning maksimal sonini
ko'rsatadi.
3. AGREGAT FUNKSIYALAR MAX ga MISOLLAR YOZING.
SQL turli xil toifadagi ko'plab o'rnatilgan funktsiyalarni belgilaydi, ular orasida bir nechta satrlar ustunlari qiymatlarida ishlaydigan va bitta qiymatni qaytaradigan agregat funktsiyalari alohida o'rin egallaydi. Jadval ustunlari va ularning ustidagi ifodalarning natijalari umumlashtiruvchi funktsiyalarning argumentlari bo'lishi mumkin. Umumlashtiruvchi funktsiyalar boshqa arifmetik ifodalarga kiritilishi mumkin. Quyidagi jadvalda eng ko'p ishlatiladigan standart birlashgan agregat funktsiyalari ko'rsatilgan.
Yagona agregat funktsiyasining umumiy formati quyidagicha:
function_name ([ALL | DISTINCT] ifoda)
bu erda DISTINCT funktsiya faqat argumentning har xil qiymatlarini hisobga olish kerakligini va BARChA - barcha qiymatlarni, shu jumladan takroriy qiymatlarni (bu parametr sukut bo'yicha ishlatiladi) hisobga olish kerakligini bildiradi. Masalan, 1, 1, 1 va 3 qiymatlari bo'lgan ustun satrlari uchun DISTINCT kalit so'zli AVG funktsiyasi 2 ni, agar ALL kalit so'z bo'lsa, u 1.5 ni qaytaradi.
Umumlashtirish vazifalari SELECT va HAVING iboralarida qo'llaniladi. Bu erda biz ularni SELECT gapida qanday ishlatilishini ko'rib chiqamiz. Bunday holda, funktsiya argumentidagi ifoda SELECT iborasining kirish jadvalining barcha qatorlariga qo'llaniladi. Bundan tashqari, keyingi bo'limlarda muhokama qilinadigan GROUP BY iborasi bo'lmaganda, tanlangan vazifalarda va jadval ustunlarida (yoki ular bilan ifodalangan) SELECT so'zlaridan foydalanib bo'lmaydi.
COUNT funktsiyasi ikkita formatga ega. Birinchi holda, kirish jadvalidagi satrlar soni qaytariladi, ikkinchi holda, kirish jadvalidagi argument qiymatlari soni:
COUNT (*)
COUNT (ifoda)
Ushbu funktsiyadan foydalanishning eng oddiy usuli - jadvaldagi qatorlar sonini hisoblash (barchasi yoki belgilangan shartni qondiradiganlar). Buning uchun birinchi sintaksis variant ishlatiladi.
Talab: Ma'lumotlar bazasida mavjud bo'lgan mahsulotlar turlari soni.
TANLASH (*) AS "Mahsulotlar soni"
FROM Mahsuloti
COUNT funktsiyasining ikkinchi sintaksisida bitta ustun nomini argument sifatida ishlatish mumkin. Bunday holda, kirish jadvalining ushbu ustunidagi yoki faqat takrorlanmaydigan qiymatlarning soni hisoblanadi (DISTINCT kalit so'zidan foydalanib).
So'rov: Xaridor jadvalidagi turli xil nomlarning soni.
TANLASH (DISTINCT FNAME)
Qolgan birlashgan agregat funktsiyalaridan foydalanish COUNT ga o'xshashdir, bundan tashqari MIN va MAX funktsiyalari uchun DISTINCT va ALL kalit so'zlaridan foydalanish mantiqiy emas. COUNT, MAX va MIN funktsiyalarida belgilarga qo'shimcha ravishda sonlardan tashqari foydalanish mumkin. Agar agregat funktsiyaning argumentida qiymatlar bo'lmasa, COUNT funktsiyasi 0 ni, qolganlari esa NULLni qaytaradi.
SELECT MAX (OrdDate)
FROM
SQL tilida quyidagi ma'lumotlarni tanlash uchun so'rovlarni shakllantirish:
Barcha buyurtmalarning umumiy qiymati;
Xaridor jadvalida keltirilgan turli xil shaharlar soni.
Ma'lumotlar bazasida mavjud bo'lgan ma'lumotlarni umumlashtirish uchun SQL-da agregat vazifalari keltirilgan. Umumlashtiruvchi funktsiya ma'lumotlarning butun ustunini argument sifatida oladi va ma'lum bir tarzda bu ustunni umumlashtiradigan bitta qiymatni qaytaradi.
Masalan, AVG () agregat funktsiyasi argument sifatida raqamlar ustunini oladi va ularning o'rtacha qiymatini hisoblaydi.
Zelenogradda yashovchining jon boshiga o'rtacha daromadini hisoblash uchun sizga quyidagi so'rov kerak bo'ladi.
SQL-da har xil turdagi ma'lumotlarga ega bo'lish imkonini beradigan oltita agregat funktsiyalari mavjud (1-rasm):
- SUM () ustundagi barcha qiymatlarning yig'indisini hisoblaydi;
- AVG () ustundagi qiymatlarning o'rtacha qiymatini hisoblaydi;
- MIN () ustundagi barcha qiymatlarning eng kichigini topadi;
- MAX () ustundagi barcha qiymatlarning eng kattasini topadi;
- COUNT () ustundagi qiymatlar sonini hisoblaydi;
- COUNT (*) so'rov natijalari jadvalidagi qatorlar sonini hisoblaydi.
Umumiy funktsiyaning argumenti avvalgi misoldagi kabi oddiy ustun nomi yoki jon boshiga soliqni hisoblashni belgilaydigan quyidagi so'rovda ko'rsatilgan ibora bo'lishi mumkin:
AVGNI TANLASH (SUMD * 0.13)
Ushbu so'rov bajarilganda PERSON jadvalining har bir qatori uchun (SUMD * 0.13) qiymatlarni o'z ichiga olgan vaqtinchalik ustun yaratiladi va keyin vaqtincha ustunning o'rtacha qiymati hisoblanadi.
Zelenogradning barcha aholisining umumiy daromadini SUM agregat funktsiyasi yordamida hisoblash mumkin:
SHAXSIDAN YANGI (YoQING) TANLASH
Umumlashtirish funktsiyasidan bir nechta manba jadvallariga qo'shilish natijasida olingan natijalar jadvaliga muvofiq hisoblash uchun foydalanish mumkin. Masalan, "stipendiya" deb nomlangan manbadan rezidentlar olgan daromadlarning umumiy miqdorini hisoblashingiz mumkin:
Qaytarilgan ustunlar qatorida har qanday ustun nomining o'rniga siz agregat funktsiyasini belgilashingiz mumkin. Masalan, u ikkita umumlashtiruvchi funktsiyalarning qiymatlari qo'shilgan yoki olib tashlanadigan ifodaga kiritilishi mumkin:
SELECT MAX (SUMD) -MIN (SUMD) SHAXSNINGDAN
Ammo, agregat funktsiyasi boshqa agregat funktsiyasi uchun argument bo'la olmaydi, ya'ni. o'rnatilgan agregat funktsiyalari taqiqlanadi.
Bundan tashqari, yig'ilgan funktsiyalar va oddiy ustun nomlari bir vaqtning o'zida qaytarilgan ustunlar ro'yxatida ishlatilishi mumkin emas, chunki bu mantiqiy emas, masalan:
FOYDALANIShNI TANLASH, SHAXSNING SUM (SUMD)
Bu erda ro'yxatning birinchi elementi ma'lumotlar bazasi ma'lumotlar bazasida bir nechta satrlardan iborat va har bir rezident uchun bitta qatordan iborat jadval yaratilishini bildiradi. Ro'yxatning ikkinchi elementi SUMD ustunining qiymatlari yig'indisi bo'lgan bitta natija qiymatini olish uchun DBMS-dan so'raydi. Ushbu ikkita ko'rsatma bir-biriga zid keladi, bu xatoga olib keladi.
Yuqorida aytilganlar, quyi so'rovlar va guruhlarga ega bo'lgan so'rovlarni qayta ishlash holatlariga nisbatan qo'llanilmaydi.
intizom ustunining qiymati bo'yicha. Biz ba'zi guruh qiymatlarini hisoblashimiz mumkin bo'lgan 4 ta guruhni olamiz, masalan, guruhdagi to'rlar soni, "Bal" ustunining maksimal yoki minimal qiymati. 5.7-jadval. Umumiy vazifalar
Funktsiya va Natijalar:
COUNT
So‘rov tanlangan qatorlar yoki bo‘sh bo‘lmagan qiymatlar soni
SUM
Ushbu maydonning tanlangan barcha qiymatlarining yig'indisi
O‘rtacha
Ushbu maydonning barcha tanlangan qiymatlarining arifmetik o'rtacha qiymati
MIN
Ushbu maydon uchun tanlangan qiymatlarning eng kichigi
MAX
Ushbu maydon uchun tanlangan qiymatlarning eng kattasi.
SQL MAX vazifasi bir stol ustun va qaytib bu eng yuqori qiymatini belgilaydi.
SQL MAX funktsiyasidan jadval ustunlaridagi haddan tashqari (yuqori nuqtani) aniqlash uchun foydalanish mumkin. Hisobot berishda maksimal qiymatlar ko'pincha salbiy yoki ijobiy qiymatlarni ta'kidlash uchun ishlatiladi.
SQL MAX () funktsional sintaksis
SQL MAX () funktsiyasi quyidagicha tanlash so'rovi, shu jumladan mumkin:
Jadval nomidan MAX (ustun-nom1) ni tanlang
MAX () funktsiyasi aniqlash va stol ustun eng yuqori qiymatini aks ettirish uchun ishlatiladi.
SQL MAX () funktsiyasi misoli
"PKW" deb nomlangan quyidagi jadval berilgan:
Avtomobil raqami model narx
1 Avtomobil A € 80,000.00
2 Avtomobil B 72 000,00 evro
3 Avtomobil C € 90,000.00
Endi biz eng yuqori sotish narxiga ega bo'lgan mashinani topmoqchimiz. SQL bayonot bilan MAX funktsiyasi bu kabi qarash edi:
AVTOMOBILDAN MAX (NARX) ni tanlang
Natija shunday bo'ladi:
narx
€ 90,000.00
Bajardi:
Do'stlaringiz bilan baham: |