Mehmonxona ma’lumotlar bazasini loyihalash
![“Mehmonxona ma’lumotlar bazasini loyihalash”mavzusida](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_1.png)
![Kirish
Informatsion tеxnologiyalarning rivojlanishi va axborot oqimlarining tobora
ortib borishi, ma'lumotlarniig tеz o`zgarishi kabi xolatlar insoniyatni bu
ma'lumotlarni o`z vaqtida qayta ishlash choralarini qidirib topishga undaydi.
Ma'lumotlarni- saqlash, o`zatish va qayta ishlash uchun ma'lumoglar bazasi
(MB)ni yaratish, so’ngra undan kеng foydalanish bugungi kunda dolzarb
bo`lib qolmoqda.Biz axborot asrida yashamoqdamiz. Hozirgi kunda axborotni
boshqarish juda muhim tushunchaga aylanib bo’ldi. Axborot dunyosidagi eng
asosiy vazifa – uni qayta ishlashdir. Axborotni qayta ishlash esa eng murakkab
jarayonlardan biridir. Umuman olganda, ma’lumotlarni qayta ishlash deganda, ular
ustida bajariladigan amallar – saqlash, uzatish, tahrirdan o’tkazish kabilarni
tushunishimiz mumkin. Axborotlar ustida amallar bajarish uchun ularni bir joyga
to’plash muhim hisoblanadi. Axborotlar miqdori oz bo’lmaganligi sababli bu
jarayon, albatta, kompyuterlar yordamida amalga oshirilmoqda. Axborotlarning bir
joyga jamlanishi “ma’lumotlar bazasi” tushunchasini vujudga keltirdi.
Ma’lumotlar bazasi texnologiyalarining paydo bo’lishi va rivojlanishi tarixini
tor ma’noda qarab chiqaylik. Chunki bu tushuncha tarixi tushunchasi keng
ma’noda, insoniyat ma’lumotlarni saqlaydigan va ishlov beradigan har qanday
vositalar tarixiga umumlashtiriladi.
Ma’lumotlar bazasi tarixi tor ma’noda ma’lumotlar bazalarini an’anaviy
(zamonaviy) ma’noda ko’rib chiqadi. Ushbu tushuncha paydo bo’lishiga 1955-
yilda dasturlashtiriladigan yozuv uskunalari paydo bo’lgani bilan bog’lash
mumkin. Bu vaqtda dasturiy ta’minot fayllarga asoslangan yozuvlarni qayta
ishlash modelini qo’llab-quvvatlar edi. Ma’lumotlarni saqlash uchun
perfokartalardan foydalanilgan [1]. Internet tarmog’ining ma’lumotlar bazasi 1960-
yillarning o’rtalarida paydo bo’ldi. Ma’lumotlar bazasidagi operatsiyalar
terminallar yordamida interaktiv ravishda qayta ishlandi. Keyingi muhim qadam
Edgar Koddning ishi tufayli 1970-yillarning boshlarida relyatsion ma’lumotlar
modelining paydo bo’lishi bilan bog’liq. Kodd ishi amaliy ma’lumotlar bazasi
texnologiyasini matematika va mantiq bilan chambarchas bog’lash uchun yo’l](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_2.png)
![ochdi. “Ma’lumotlar bazasi” atamasi 1960-yillarning boshlarida paydo bo’lgan,
garchi dastlab bu tushuncha sun’iy intellekt tizimlari nuqtai nazaridan tor ma’noda
tushunilgan bo’lsa-da, 1964-1965-yillarda SDC tomonidan tashkil qilingan
simpoziumlarda joriy etilgan. Ushbu atama zamonaviy ma’noda faqat 70-yillarda
keng qo’llanilgan.
Ma'lumotlar bazasi -bu o`zaro boglangan va tartiblangan
Ma'lumotlar majmuasi bo`lib. u kurilayotgan ob'еktlarning xususiyatini, xolatini va
ob'еktlar o’rtasidagi munosabatni ma'lum soxada tavsiflaydi. Darxaqiqat, xozirgi
kunda inson xayotida MBda kеrakli axborotlarni saqlash va undan oqilona
foydalanish juda muxim rol o’ynaydi. Sababi jamiyat taraqqiyotining qaysi
jabxasiga nazar solmaylik o`zimizga kеrakli ma'lumotlarni olish uchun albatta,
MBga murojaat qilishga majbur bo’lamiz. Demak, MBni tashkil qilish
axborot almashuv texnologiyasining eng dolzarb xal qilinadigan
muammolaridan biriga aylanib borayotgani davr taqozasidir. Ma'lumki, MB
tushunchasi fanga kirib kеlgunga qadar, ma'lumotlardan turli ko’rinnshda
fondalanish juda qiyin edi. Dastur tzuvchilar ma'lumotlarni shunday tashkil qilar
edilarki u faqat karalayotgan masalauchungina o’rinli bo’lardi. Xar bir yangi
masalani xal qilishda Ma'lumotlar qaytadan tashkil qilinar va bu xol
yaratilgan dasturlardan foydalanishni qiyinlashtirar edi. Shuni ta'kidlash lozimki,
xozirgi vaqtda dеyarli barcha MBBSlar asosan rеlyatsion modеllar asosida
tashkil qilinmoqda. Shuni nazarda tutgan Microsoft Office korporatsiyasi xam
eng ommalashgan dastur vositalarga ega, bu dastur vositalari ixtiyoriy soxada
yuqori darajadagi profеssional xujjatlar tayyorlash imkonini bеradi. Shulardan
biri MBlar bilan ishlashga mo`ljallangan Microsoft Access dasturi bo`lib, bu
dastur Visual Basic for Application dasturlash muxitida makroslar yaratish va
boshqa bir qancha imkoniyatlarga egaki. bu foydalanuvchiga xar tomonlama
mukammal bo`lgan xujjatlar tayyorlashga yordam beradi Microsoft Office ning
o`zbеk tilidagi varianti yukligi, uning faqat ingliz va rus tilida yaratilgan
vsrsiyalaridangina foydalanish nmkoinyatiga ega ekanligimizdan mazkur fikrlar
Microsoft Access ning ruscha vеrsiyasiga tayanib yozilgan. Microsoft Access](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_3.png)
![dasturi xam relyatsion modеllar asosiga kurilgan bo`lib, unda tashqil
qilinadngan MBlar jadval kurinishida aks etadi. Bunday jadvaldagi ustunlar
maydon dеb, satrlar esa yozuv dеb ataladi. Maydon - ma'lumotlarni tashqil
etishning oddiy birligi bo`lib, malumotning aloxida, bo`linmas birligiga egaligi
rеkvizitga mos kеladi. Еzuv mantikiy boglangan rеkvizitlarga mos kеluvchi
maydonlar yigindisidir. Yozuvning t o`zilishi o`z tarkibiga mos xar bir oddiy
ma'lumotga ega maydonlar tarkibi va kеtma-kеtligi bilan bеgilanadi.
1. Ma’lumot bazasi tushunchasi
Bugungi dunyoda ma’lumotlar har xil va keng tarqalgan. Ma’lumotlar bazasi
ma’lumotlarni saqlash va boshqarishning eng yaxshi usuli hisoblanadi.
Ma’lumotlar bazalari ma’lumotlarni doimiy ravishda va xavfsiz tarzda almashishni
ta’minlaydi. Birinchidan, Ma'lumotlar turi, ko’rinishi, ularni qo’llaydigan
dasturlarga bog`liq, bo’lmasligi lozim, ya'ni MBga yangi ma’lumotlarni
kiritganda yoki ma'lumotlar turini o`zgartirganda, dasgurlarni o`zgartirish talab
etilmasligi lozim. Ikkinchidan, MBdagi kеrakli ma'lumotni bilish yoki izlash
uchun biror dastur tuzishga xojat qolmasin. Shuning uchun xam MBni tashkil
etishda ma'lum qonun va koidalarga amal qilish lozim. Bundan buyon
axborot so’zini ma'lumot so`zidan farqlaymiz, ya'ni axborog so`zini umumiy
tushuncha sifatida qabul qilib, ma'lumot dеganda aniq, bir belgilangan narsa
yoki xodisa sifatlarininazarda tutamiz. Bugungi kunda ma'lumotlarni eng
ishonchli saqlaydigan vositalardan biri esa xozirgi zamon kompyutеrlaridir.
Kompyutеrlarda saqlanadigan MB - bu maxsus formatga ega bo`lgan
muayyan tuzilmali fayl dеmakdir. Kompyutеr xotirasida xar bir fayl, yozuv
dеb ataladigan bir xil turdagi qismlardan iborat bo`ladi. Еzuv- o`zaro
boglangan ma'lumotlarning bir qismidir.Fayldagi yozuvlar soni, qaralayotgan
ma'lumotning ulchoviga bog`lik. Xar bir yozuv esa maydon dеb ataladigan
bo’laklardan tashkil topadi. Maydon ma'lumotlarning. imkoni boricha, qisqa
to’plamidan iborat bo`lishi lozim. Xar bir maydon, o`zi ifodalaydigan
ma'lumotlariga ko’ra biror nomga ega bo`ladi.](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_4.png)
![Ma’lumotlar nafaqat keng yoyilgan va keng tarqalgan hamdir. Bu
tashkilotlarning yashashi va rivojlanishi uchun ham zarurdir. Masalan, OTM
o’zining professor-o’qituvchilari, fakultetlari, tegishli yo’nalishlari va
mutaxassisliklari hamda talabalari haqida hech qanday ma’lumotga ega
bo’lmasdan turib rivojlanishi mumkinmi, degan savolni o’rtaga qo’yib ko’raylik.
Barcha OTMlar ushbu turdagi ma’lumotlarni saqlashlari kerak. Muhim ahamiyatga
ega bo’lganidek, ular kerak bo’lganda qaror qabul qiluvchilar uchun
ma’lumotlarga ega bo’lishlari kerak. Ishonch bilan aytish mumkinki, OTMning
barcha axborot tizimlarining maqsadi ularga axborotni tashkiliy manba sifatida
ishlatishga yordam berishdir. Ushbu tizimlarning barchasida ma’lumotlarni
yig’ish, saqlash, umumlashtirish, boshqarish va tarqatish turadi.
Ma’lumotlar bazasi – tegishli ma’lumotlar to’plamini o’z ichiga olgan
umumiy, birlashgan kompyuter tuzilmasi[6].
Axborot tizimining turiga va masalaning qo’yilishiga qarab, bu ma’lumotlar
bir yoki ikki mavzudagi bir necha megabaytdan biznesning ichki va tashqi
muhitidagi yuzlab mavzularni qamrab oladigan terabaytgacha o’zgarishi mumkin.
Ma’lumotlar bazalari, kompyuterlarga asoslangan tizimlarga ma’lumotlarni
tezda saqlash, boshqarish va olish imkonini beradigan ixtisoslashgan tuzilmalardir.
Ma’lumotlar bazasi tushunchasi maydon, yozuv, fayl atamalari bilan bog’liq.
Maydon – bu saqlanadigan ma’lumotlarning eng kichik birligi. Tipik
ma’lumotlar bazasida bir qancha tiplarning yoki saqlanadigan maydonlarning har
birini tavsiflovchi ko’plab nusxalari (occurrence yoki instance) mavjud. Masalan,
OTMlar haqida ma’lumot mavjud bo’lgan ma’lumotlar bazasida "OTM raqami"
nomi bilan saqlanadigan maydon turini o’z ichiga olishi mumkin va ma’lumotlar
bazasida tavsiflangan OTMlarning har bir turi uchun (fakultetlar, yo’nalishlar,
guruhlar, talabalar va boshqalar) ushbu saqlanadigan maydonning alohida nusxasi
mavjud bo’ladi.
Yozuv – bu tegishli saqlanadigan maydonlar to’plamidir. Bunday holda,
saqlangan yozuvning nusxasi saqlanadigan maydonlarning tegishli nusxalari
guruhidan iborat.](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_5.png)
![Fayl - bu bir xil turdagi saqlangan yozuvlarning barcha mavjud nusxalari
to’plami. Oddiylik uchun har qanday berilgan fayl faqat bitta turdagi saqlanadigan
yozuvlarni o’z ichiga olishi mumkin deb qabul qilinadi. Ushbu soddalashtirish
keyingi mulohazalarga jiddiy ta’sir ko’rsatmaydi.
Ma’lumotlar bazasini loyihalash uchun axborot va ma’lumotlar o’rtasidagi
farqni tushunib olish kerak.
Axborot - bu ma’lumotlarning ma’nosini ochib berish uchun qayta ishlash
natijasidir. Axborotdan qaror qabul qilish uchun asos sifatida foydalanish mumkin.
Masalan, OTM professor-o’qituvchilari haqidagi ma’lumotlarning qisqacha tavsifi
attestatsiya organlariga OTM uchun attestatsiyani o’tkazish yoki o’tkazmaslikni
belgilashda foydali bo’lgan tushunchalarni beradi.
Ushbu misoldan ko’rinib turibdiki, ma’lumot o’z vaqtida va aniq
ma’lumotlarni talab qiladi. Bunday ma’lumotlar to’g’ri yaratilishi va ularga kirish
va qayta ishlash oson bo’lgan formatda saqlanishi kerak. Bundan tashqari, har
qanday asosiy manba kabi ma’lumotlar muhiti ehtiyotkorlik bilan boshqarilishi
kerak.
Ma’lumotlarni boshqarish - bu ma’lumotlarning to’g’ri yaratilishi,
saqlanishi va olinishiga qaratilgan qoidalar [6]. Ma’lumotlar muhim rol o’ynashini
hisobga olib, ma’lumotni boshqarish har qanday biznes, davlat idorasi, xizmat
ko’rsatish tashkiloti yoki xayriya faoliyatining asosiy yo’nalishi ekanligi biz to’liq
anglashimi lozim.
Ma’lumotni samarali boshqarish odatda kompyuter ma’lumotlar bazasidan
foydalanishni talab qiladi. Ma’lumotlar bazasi bu quyidagilar to’plamini
saqlaydigan umumiy, birlashtirilgan kompyuter tuzilmasi:
Tashqi foydalanuvchi ma’lumotlari, ya’ni oxirgi foydalanuvchini
qiziqtirgan muhim faktlar;
Metadata (ma’lumotlar haqidagi ma’lumotlar [6]), ular orqali oxirgi
foydalanuvchi ma’lumotlari birlashtiriladi va boshqariladi.
Metadata ma’lumotlar xarakteristikalarini va ma’lumotlar bazasida topilgan
ma’lumotlarni bog’laydigan munosabatlar to’plamini tavsiflaydi. Masalan, meta-](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_6.png)
![ma’lumotlar komponenti har bir ma’lumot elementining nomi, har bir ma’lumot
elementida saqlanadigan qiymatlar turi (raqamlar, sana yoki matn) va ma’lumotlar
elementini bo’sh qoldirish mumkinligi kabi ma’lumotlarni saqlaydi. Metadata
ma’lumotlarning qiymati va ishlatilishini to’ldiruvchi va kengaytiradigan
ma’lumotlarni taqdim etadi. Qisqa qilib aytsak, metadata ma’lumotlar bazasida
ma’lumotlarning yanada to’liq tasvirini taqdim etadi.
Ma’lumotlar bazasini boshqarish tizimi (MBBT) bu ma’lumotlar bazasi
tuzilishini boshqaruvchi va unda saqlanadigan ma’lumotlarga kirishni
boshqaradigan dasturlar to’plami. Qaysidir ma’noda ma’lumotlar bazasi juda
yaxshi tashkillashtirilgan elektron topshirish kabinetiga o’xshaydi, unda kuchli
dasturiy ta’minot (MBBT) kabinet tarkibini boshqarishga yordam beradi.
Ma’lumotlar bazasining turlari. Har bir ma’lumotlar bazasi ma’lum bir
ma’lumot to’plamini saqlaydi va ma’lum maqsadda foydalaniladi. Yillar o’tishi
bilan, ma’lumotlar bazalaridan texnologiya va innovatsion foydalanish rivojlanib
borgan sari ma’lumotlar bazalarini tasniflashda turli xil usullar qo’llanilmoqda.
Masalan, ma’lumotlar bazalari qo’llab-quvvatlanadigan foydalanuvchilar soni,
ma’lumotlar joylashgan joyda, saqlanadigan ma’lumotlar turi, ma’lumotlardan
maqsadli foydalanish va ma’lumotlar tuzilish darajasi bo’yicha tasniflanishi
mumkin.
Foydalanuvchilar soni ma’lumotlar bazasi bitta foydalanuvchi yoki ko’p
foydalanuvchi sifatida tasniflanganligini aniqlaydi. Bitta foydalanuvchi
ma’lumotlar bazasi bir vaqtning o’zida faqat bitta foydalanuvchini qo’llab-
quvvatlaydi. Boshqacha aytganda, agar A foydalanuvchisi ma’lumotlar bazasidan
foydalansa, B va C foydalanuvchilari A foydalanuvchisini kutib turishlari kerak.
Bunga javoban, ko’p foydalanuvchi ma’lumotlar bazasi bir vaqtning o’zida bir
nechta foydalanuvchilarni qo’llab-quvvatlaydi. Ko’p foydalanuvchi ma’lumotlar
bazasi nisbatan kam miqdordagi foydalanuvchilarni (odatda 50 dan kam) qo’llab-
quvvatlasa, tashkilotning ishchi guruhi ma’lumotlar bazasi deb ataladi.
Ma’lumotlar bazasi butun tashkilot tomonidan ishlatilganda va ko’plab bo’limlarda](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_7.png)
![(50 dan ortiq, odatda yuzlab) foydalanuvchilarni qo’llab-quvvatlasa, ma’lumotlar
bazasi korxona bazasi deb nomlanadi.
Joylashuv ma’lumotlar bazasini tasniflash uchun ham ishlatilishi mumkin.
Masalan, bitta saytda joylashgan ma’lumotlarni qo’llab-quvvatlaydigan
ma’lumotlar bazasi markazlashtirilgan ma’lumotlar bazasi deb ataladi. Bir nechta
turli saytlarda tarqatilgan ma’lumotni qo’llab-quvvatlaydigan ma’lumotlar bazasi
taqsimlangan ma’lumotlar bazasi deb ataladi.
Markazlashtirilgan va markazlashtirilmagan (tarqatilgan) ma’lumotlar bazasi
ma’lumotlar bazasini amalga oshirish va boshqarish uchun aniq belgilangan
infratuzilma (apparat, operatsion tizimlar, tarmoq texnologiyalari va boshqalar)ni
talab qiladi. Odatda, infratuzilmaga ma’lumotlar bazasini yaratadigan va
ishlaydigan tashkilot egalik qiladi va xizmat qiladi. Ammo so’nggi yillarda bulutli
ma’lumotlar bazalaridan foydalanish tobora ommalashib bormoqda. Bulutli
ma’lumotlar bazasi - bu Microsoft Azure yoki Amazon AWS kabi bulutli
ma’lumotlar xizmatlaridan foydalanib yaratilgan va saqlanadigan ma’lumotlar
bazasi. Uchinchi tomon yetkazib beruvchilari tomonidan taqdim etiladigan ushbu
xizmatlar ma’lumotlar bazasi uchun ishlashning aniq choralarini (ma’lumotlarni
saqlash hajmi, talab qilinadigan o’tkazuvchanlik va mavjudlik) ta’minlaydi, lekin
uni amalga oshirish uchun asosiy infratuzilmani ko’rsatishi shart emas.
Ba’zi bir kontekstlarda ma’lumotlar bazalarini tasniflashning mashhur usuli
ularda saqlanadigan ma’lumotlar turiga qarab belgilanadi. Ushbu mezondan
foydalangan holda ma’lumotlar bazalari ikki toifaga guruhlanadi: umumiy
maqsadlar va aniq bir sohaga asoslangan ma’lumotlar bazalari. Umumiy maqsadga
asoslangan ma’lumotlar bazalarida bir nechta fanlarda ishlatiladigan turli xil
ma’lumotlar mavjud - masalan, umumiy demografik ma’lumotlarni o’z ichiga
olgan ro’yxatga olish ma’lumotlar bazasi va LexisNexis va ProQuest ma’lumotlar
bazalari, turli mavzularda gazeta, jurnal va jurnal maqolalarini o’z ichiga olgan.
Aniq bir maqsadga asoslangan ma’lumotlar bazalarida muayyan fan sohalariga
yo’naltirilgan ma’lumotlar mavjud.](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_8.png)
![2. “Mehmonxona” ma’lumotlar bazasining mantiqiy strukturasi va uni
shakllantirish
Qo’yilgan masala yuzasidan ma’lumotlar bazasida jadvallar hosil qilindi. Ular
orasidagi bog’lanishlar mos keluvchi (ustma-ust tushuvchi) maydonlari yordamida
bog’langan. Ma’lumotlar bazasidagi jadvallar orasidagi munosabatlar quyidagi
to’rtta turda bo’lishi mavjud: birga-bir, birga-ko’p, ko’pga-bir, ko’pga-ko’p.
Masala yuzasidan ma’lumotlar bazasini loyilahashda birga-ko’p va ko’pga-ko’p
bog’lanish munosabatlaridan foydalanildi. Birga-ko’p bog’lanish munosabati
ma’lumotlar bazasini loyihalashda ko’p uchraydi va uning vazifasi
takrorlanmaydigan qiymat oluvchi (kalit) maydonga ega bo’lgan jadvalning har bir
yozuvi qiymatiga ushbu maydon qiymatlari orqali bog’langan jadvaldagi ko’p
sondagi yozuvlarini mos qo’yishdir.
Ma’lumotlar bazasidagi jadvallar va uning tarkibiy qismlari – maydonlari
haqidagi ma’lumotlarni keltiramiz:
“mehmonxona” jadvali haqidagi ma’lumotlar
Maydon nomi Tipi Izoh
id int(6) Kalit maydon
hotel_ name varchar(255) Mehmonxona nomi
hotel_address varchar(255) Mehmonxona manzili
hotel_telephone varchar(255) Mehmonxona telefoni
hotel_site varchar(50) Mehmonxona sayti
hotel_email varchar(50) Mehmonxona electron pochtasi
hotel_about varchar(255) Mehmonxona haqida ma’lumot
“ rahbariyat ”- mehmonxona rahbariyati to ’ g ’ risida ma ’ lumot
Maydon nomi Tipi Izoh
id int(5) Kalit maydon
Rahbar_name varchar(50) Rahbar ismi
Rahbar_firstname varchar(50) Rahbar familiyasi](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_9.png)
![Rahbar_telephone Int(20) Rahbar telefoni
Rahbar-email varchar(50) Rahbar electron pochtasi
“xodimlar”-mehmonxona xodimlari to’g’risida ma’lumot
Maydon nomi Tipi Izoh
id xodimlar int(11) Kalit maydon
Director_name varchar(50) Direktor o’rinbosari
menejer varchar(50) Mehmonxona ish boshqaruvchisi
operator varchar(50) Mehmonxona operatori
oshpaz varchar(50) Mehmonxona oshpazi
farrosh varchar(50) Mehmonxona farroshi
“xonalar” – mehmonxona xonalari to’g’risida ma’lumot
Maydon nomi Tipi Izoh
id xonalar int(5) Kalit maydon
standart varchar(50) Xonalar turi
Xonalar_soni int(5) Xonalar soni
“joylar_soni” – mehmonxona joylar soni haqidagi jadval
Maydon nomi Tipi Izoh
id soni int(11) id soni
Lyuks_soni int(5) Lyuks xonalar soni
Pod_lyuks int(5) Lyuks bo’lmagan xonalar soni
standart int(5) Standart xonalar soni
“ bo ’ limlar ” – bu jadval mehmonxona bo ’ limlar haqidagi ma ’ lumotni saqlaydi
Maydon nomi Tipi Izoh
Id _bo’limlar int(5) Kalit maydon
Ma’naviyat varchar(255) Ma’naviyat bo’limi
Oziq_ovqat varchar(255) Oziq-ovqat bo’limi](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_10.png)
![kongilochar varchar(255) Ko’ngilochar xizmatlar bo’limi
restaurant varchar(255) Restoran xizmati
“manaviyat_bolimi” –bu mehmonxona ma’naviyat-ma’rifiy hayoti to’g’risida
ma’lumotlarni o’zida saqlaydi
Maydon nomi Tipi Izoh
id manaviyat int(11) Kalit maydon
tadbirlar varchar(255) Tadbirlar haqida ma’lumotlar
sayohat varchar(255) Sayohat haqida ma’lumotlar
kutubxona varchar(255) Kutubxona haqida ma’lumotlar
“oziq_ovqat_bolimi” – bu jadval oziq-ovqat xizmati haqidagi ma’lumotlarni o’zida
saqlaydi
Maydon nomi Tipi Izoh
Id oziq_ovqat int(5)
Kalit maydon
Milliy_taomlar
varchar(25) Milliy taomlar
Xorijiy_taomlar
varchar(25) Xorijiy taomlar
Hech_qaysi
varchar(25) Hech qaysi
“kongilochar_xizmatlar” – Ko’ngilochar xizmatlar haqidagi ma’lumotlar
Maydon nomi Tipi Izoh
id razvlechenie int(3) Kalit maydon
sport varchar(55) sport
teatr varchar(55) teatr
kino varchar(55) kino
basseyn varchar(55) Basseyn
sayohat varchar(55) Sayohat
“restaurant” – mehmonxona rstorani haqida ma’lumotlar jadvali
Maydon nomi Tipi Izoh
id restaurant int(5) Kalit maydon
Res_name varchar(25) Restoran nomi
Res_type varchar(25) Restoran turi](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_11.png)
![Res_joy_soni int(20) Restoran joylar soni
“mijoz” – mehmonxona mijozlar bilan ishlash haqida ma’lumotlarni o’zida
saqlaydi
Maydon nomi Tipi Izoh
id mijoz int(11) Kalit maydon
Customer_name varchar(25) Mijoz ismi
Customer_firstname varchar(25) Mijoz familiyasi
Customer_address varchar(255) Mijoz manzili
Customer_email varchar(25) Mijoz electron pochtasi
“buyurtma” – mehmonxona buyurtmalar haqidagi ma’lumotlar
Maydon nomi Tipi Izoh
Id _buyurtma int(11) Kalit maydon
Xona_soni int(11) Xonalar soni
Xona_raqami int(3) Xonalar raqami
Xona_bolimi varchar(25) Xonalar bo’limi](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_12.png)
![3. JADVALLARNING O’ZARO BOG’LANISHI
“Rahbariyat” va “xodimlar” jadvallarining 1:N bog’lanishi
“Joylar_soni” va “Bo’limlar” jadvalining N:1 bog’lanishi
“Mijoz” va “Buyurtma” jadvallarining N:1 bog’lanishi
“Mehmonxona” ma’lumotlar bazasining umumiy loyihasi](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_13.png)
![4. SQL operatorlari yordamida jadvallarni hosil qilish va jadvallarga
ma’lumotlar kiritish
Ma'lumotlar bazasida jadvalni yaratish quyidagi sintaksisga ega bo'lgan
CREATE TABLE operatori tomonidan amalga oshiriladi:
CREATE TABLE jadval_nomi(spec, …);
Bu yerda spec turli xil sintaksislarga ega. Uning eng ko'p ishlatiladigan shakllari
quyida muhokama qilinadi.
1. Jadval ustunining tavsifi
Ustun_nomi ma'lumot_turi [NULL]
Bu erda ustun_nomi - jadval ustunining nomi, va ma'lumotlar turi - SQL
ma'lumotlar turlarida muhokama qilingan ma'lumot turlaridan biri uchun
spetsifikatsiya. Ixtiyoriy NULL kalit so'z ushbu ustundagi katakchalar bo'sh
bo'lishi mumkinligini anglatadi (ya'ni, hech qanday qiymatga ega emas).
1-jadval. “Mehmonxona” jadvalini CREATE operatori yordamida hosil qilish](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_14.png)
![CREATE TABLE Mehmonxona (
id INT(3) NOT NULL PRIMARY KEY,
hotel_name VARCHAR(55) NOT NULL,
hotel_address VARCHAR(55) NOT NULL,
hotel_telephone INT(20) NOT NULL,
hotel_site VARCHAR(55) NOT NULL,
hotel_email VARCHAR(55) NOT NULL,
hotel_haqida VARCHAR(255) NOT NULL);
2-jadval. “Rahbariyat” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE Rahbariyat (
id INT(3) NOT NULL PRIMARY KEY,
rahbar_name VARCHAR(55) NOT NULL,
rahbar_firstname VARCHAR(55) NOT NULL,
rahbar_telephone INT(20) NOT NULL,
rahbar_email VARCHAR(55) NOT NULL);
3-jadval. “Xodimlar” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE Xodimlar (
Id_xodimlar INT(3) NOT NULL PRIMARY KEY,
Director_zam VARCHAR(40) NOT NULL,
menejer VARCHAR(30) NOT NULL,
operator VARCHAR(40) NOT NULL,
oshpaz VARCHAR(40) NOT NULL,
farrosh VARCHAR(45) NOT NULL);
4-jadval. “Xonalar” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE Xonalar (
Id_xonalar INT(3) NOT NULL PRIMARY KEY,
standart VARCHAR(40) NOT NULL,
xonalar_soni VARCHAR(30) NOT NULL);
5-jadval. “Joylar soni” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE Joylar_soni (
Id_soni INT(3) NOT NULL PRIMARY KEY,
Lyuks_soni INT(5) NOT NULL,
Podlyuks_soni INT(5) NOT NULL,
standart INT(5) NOT NULL);
6-jadval. “Bo’limlar” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE Bolimlar (
Id_bolimlar INT(3) NOT NULL PRIMARY KEY,
manaviyat VARCHAR(255) NOT NULL,
oziq_ovqat VARCHAR(255) NOT NULL,
kongilochar INT(225) NOT NULL,](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_15.png)
![restaurant VARCHAR(255) NOT NULL);
7-jadval. “Ma’naviyat bo’limi” jadvalini CREATE operatori yordamida hosil
qilish
CREATE TABLE Manaviyat_bolimi (
Id_manaviyat INT(3) NOT NULL PRIMARY KEY,
tadbirlar VARCHAR(255) NOT NULL,
sayohat VARCHAR(255) NOT NULL,
kutubxona VARCHAR(255) NOT NULL);
8-jadval. “Oziq-ovqat bo’limi” jadvalini CREATE operatori yordamida hosil
qilish
CREATE TABLE oziq_ovqat_bolimi (
IdOziq_ovqat INT(3) NOT NULL PRIMARY KEY,
milliy_taomlar VARCHAR(45) NOT NULL,
xorijiy_taomlar VARCHAR(45) NOT NULL,
hech_qaysi VARCHAR(45) NOT NULL);
9-jadval. “Ko’ngilochar xizmatlar” jadvalini CREATE operatori yordamida
hosil qilish
CREATE TABLE kongilochar_xizmatlar (
Id_razvlecheniya INT(3) NOT NULL PRIMARY KEY,
sport VARCHAR(80) NOT NULL,
teatr VARCHAR(80) NOT NULL,
kino VARCHAR(80) NOT NULL,
basseyn VARCHAR(80) NOT NULL,
sayohat VARCHAR(85) NOT NULL);
10-jadval. “Restaurant” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE restaurant (
Id_restaurant INT(3) NOT NULL PRIMARY KEY,
res_name VARCHAR(80) NOT NULL,
res_type VARCHAR(80) NOT NULL,
res_joy_soni INT(5) NOT NULL);
11-jadval. “Mijoz” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE mijoz (
IdMijoz INT(3) NOT NULL PRIMARY KEY,
customer_name VARCHAR(25) NOT NULL,
customer_firstname VARCHAR(25) NOT NULL,
customer_address INT(22) NOT NULL,
customer_email VARCHAR(25) NOT NULL);](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_16.png)
![12-jadval. “Buyurtma” jadvalini CREATE operatori yordamida hosil qilish
CREATE TABLE buyurtma (
Id_buyurtma INT(3) NOT NULL PRIMARY KEY,
Xona_soni INT(5) NOT NULL,
Xona_raqami INT(5) NOT NULL,
Xona_bolimi VARCHAR(25) NOT NULL);
5. SQL operatorlari yordamida jadvallarga yozuvlar qo’shish
INSERT operatori. Jadvalga ma’lumot qo’shish. Ma'lumotlar bazasidagi
SQL jadvaliga satrlar qo'shish uchun INSERT INTO so'zi ishlatiladi. Uning asosiy
sintaktik shakllari quyida tavsiflanadi.
Barcha kataklarning qiymatlarini ro'yxatlash orqali qator qo'shish
INSERT INTO jadval_nomi VALUES ( qiymat , ...);
Bu yerda qiymat satrdagi yacheykaning doimiy qiymati. Ro'yxatdagi yacheyka
qiymatlari CREATE TABLE buyrug'idagi jadval ustunlarining xususiyatlari
ko'rsatilgan tartibga mos kelishi kerak. NULL kalit so'zini qiymat sifatida
ko'rsatish mumkin, bu esa satrda mos keladigan katak uchun hech qanday qiymat
yo'qligini anglatadi.
Jadvalga yangi qator qo'shmasdan oldin, MBBT CREATE TABLE buyrug'idagi
jadval ustunlarining tavsiflaridan foydalanib, berilgan qiymatlarning haqiqiyligini
tekshiradi.
Ustun nomlari ro'yxati yordamida qator qo'shish
INSERT INTO jadval_nomi ( ustun_nomi , ...) VALUES ( qiymat , ...);
Bu yerda ustunlar nomlari ro'yxati va qo'shilgan qatorning katakcha qiymatlari
ketma-ket bo'lishi kerak, garchi ularning tartibiga talab yo'q bo’lsada. Ro'yxatdagi
qatorlarning ba'zi yacheykalari to'g'risida ma'lumot qoldirishga ruxsat beriladi.
CREATE TABLE buyrug'ida NULL spetsifikatsiyasi bo'lgan ustunlarga mos
keladigan kataklar bo'sh bo'ladi;
CREATE TABLE buyrug'idagi NULL spetsifikatsiyasi bo'lgan ustunlarga mos
keladigan kataklar standart qiymatlar bilan to'ldiriladi.
1-jadval. “Mehmonxona” jadvaliga INSERT operatori yordamida yozuv
qo’shish](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_17.png)
![INSERT INTO mehmonxona VALUES (1, 'Osiyo grant', 'Samarqand shahar Rudakiy 15',
'238-23-23', ‘OsiyoGrant.uz’, ‘grant@gmail.com’, ‘Samarqand shahrining eng chiroyli
mehmonxonasi’ );
INSERT INTO mehmonxona VALUES (2, 'Registon', 'Samarqand shahar Ibn Sino',
'583-12-57', ‘Registon.uz’, ‘Registon@gmail.com’, ‘Samarqand shahrining eng qadimiy
mehmonxonasi’ );
INSERT INTO mehmonxona VALUES (3, 'Hotel palace', 'Toshkent shahri Sobir Rahimov
tumani', '123-45-67', ‘Hotel.uz’, ‘hotel@gmail.com’, ‘Toshkent shahrining eng chiroyli
mehmonxonasi’ );
INSERT INTO mehmonxona VALUES (4, 'Samo hotel', 'Toshkent shahar Mirobod tumani',
'298-09-27', ‘Samo.uz’, ‘samo@gmail.com’, ‘Toshkent shahrining eng qadimiy
mehmonxonasi’ );
2-jadval. “Rahbariyat” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO rahbariyat VALUES (1, 'Nozimova Nigora’, ‘Islomovna', '123-23-23',
‘NozimovaNigora@gmail.com’);
INSERT INTO rahbariyat VALUES (2, 'Ergasheva Durdona’, ‘Zafar qizi', '836-12-09',
‘'ErgashevaDurdona @gmail.com’);
INSERT INTO rahbariyat VALUES (3, 'Ne’matullayeva Barno’, ‘Erkinjon qizi', '739-12-29',
‘Ne’matullayevaBarno @gmail.com’);
INSERT INTO rahbariyat VALUES (4, 'Saidova Muxlisa’, ‘Akmaljon qizi', '739-12-29',
‘SaidovaMuxlisa @gmail.com’);
3-jadval. “Xodimlar” jadvaliga INSERT operatori yordamida yozuv qo’shish
INSERT INTO xodimlar VALUES (1, 'Nozimova Nigora’, ‘menejer', 'operator',
‘oshpaz’, ‘farrosh’);
INSERT INTO xodimlar VALUES (2, 'Isoqova Dildora’, ‘menejer', 'operator',
‘oshpaz’, ‘farrosh’);](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_18.png)
![INSERT INTO xodimlar VALUES (3, 'Aliyev Vali’, ‘menejer', 'operator',
‘oshpaz’, ‘farrosh’);
INSERT INTO xodimlar VALUES (2, 'Xusanov Fayzulla’, ‘menejer', 'operator',
‘oshpaz’, ‘farrosh’);
4-jadval. “Xonalar” jadvaliga INSERT operatori yordamida yozuv qo’shish
INSERT INTO xonalar VALUES (1, 'standart’, 10);
INSERT INTO xonalar VALUES (2, 'lyuks’, 20);
INSERT INTO xonalar VALUES (3, 'podlyuks’, 30);
INSERT INTO xonalar VALUES (4, 'standart’, 40);
5-jadval. “Joylar soni” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO joylar_soni VALUES (1, 100, 150, 100);
INSERT INTO joylar_soni VALUES (2, 80, 120, 85);
INSERT INTO joylar_soni VALUES (3, 130, 140,160);
INSERT INTO joylar_soni VALUES (4, 50, 152, 110);
6-jadval. “Bo’limlar” jadvaliga INSERT operatori yordamida yozuv qo’shish
INSERT INTO bolimlar VALUES (1, 'yosh kitobxon’, ‘kechgi ovqat', 'futbol',
‘GoldenRes’);
INSERT INTO bolimlar VALUES (2, 'Amaliy mehnat’, ‘Ertalabki nonushta', 'Sayohat',
‘OrzuNurRes’);
INSERT INTO bolimlar VALUES (3, 'tadbir’, ‘kechgi ovqat', 'konsert',
‘Nurli hayot Res’);
INSERT INTO bolimlar VALUES (4, 'dars’, ‘tushgi ovqat', 'Ovga chiqish',
‘karimbek’);](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_19.png)
![7-jadval. “Ma’nviyat bo’limi” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO manaviyat_bolimi VALUES (1, 'Muzqaymoq_party’, ‘Samarqand shahriga
sayohat', 'Yosh kitobxon tanlovi’);
INSERT INTO manaviyat_bolimi VALUES (2, 'Super kuyov’, ‘Samarqand shahri Registonga
sayohat', 'Amaliy ish’);
INSERT INTO manaviyat_bolimi VALUES (3, 'konsert’, ‘qadimiy qadamjolar', 'Kitob
mutolaa’);
INSERT INTO manaviyat_bolimi VALUES (4, 'Real xit’, ‘Muzeyga sayohat', 'bilimlar
bellashuvi’);
8-jadval. “Oziq-ovqat” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO oziq_ovqat VALUES (1, 'Palov’, ‘Xod-dog’,’hech qaysi’);
INSERT INTO oziq_ovqat VALUES (2, 'Sho’rva’, ‘SHI’,’hech qaysi’);
INSERT INTO oziq_ovqat VALUES (3, 'Mastava’, ‘Gamburger’,’hech qaysi’);
INSERT INTO oziq_ovqat VALUES (4, 'Somsa’, ‘Shaurma’,’hech qaysi’);
9-jadval. “Ko’ngilochar xizmatlar” jadvaliga INSERT operatori yordamida
yozuv qo’shish
INSERT INTO kongilochar_xizmatlar VALUES (1, 'Basketbol’, ‘Teatr', 'Kino',
‘Basseyn’, ‘Ziyoratgohlarga sayohat’);
INSERT INTO kongilochar_xizmatlar VALUES (2, 'Volleybol’, ‘Teatr', 'Kino',
‘Basseyn’, ‘Muzeyga sayohat’);
INSERT INTO kongilochar_xizmatlar VALUES (3, 'Futbol’, ‘Teatr', 'Kino',
‘Basseyn’, ‘qadimiy qadamjolarga sayohat’);
INSERT INTO kongilochar_xizmatlar VALUES (4, 'Qo’l to’pi’, ‘Teatr', 'Kino',
‘Basseyn’, ‘Dam olish’);
10-jadval. “Restaurant” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO restaurant VALUES (1, 'Bog’ishamol restorani’, ‘qimmat', 100);
INSERT INTO restaurant VALUES (2, 'Rohat restorani’, ‘arzon', 50);](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_20.png)
![INSERT INTO restaurant VALUES (3, 'Nurli Bog; restorani’, ‘arzon', 80);
INSERT INTO restaurant VALUES (4, 'Gulobod restorani’, ‘qimmat', 150);
11-jadval. “Mijoz” jadvaliga INSERT operatori yordamida yozuv qo’shish
INSERT INTO mijoz VALUES (1,‘Abdullayev’, ‘Abbos’, ‘Toshkent shahri’,
‘AbdullayevAbbos@gmail.com’);
INSERT INTO mijoz VALUES (2,Qosimov’, ‘Doston’, ‘Samarqand shahri’,
‘QosimovDoston@gmail.com’);
INSERT INTO mijoz VALUES (3,‘Umarov’, ‘Farhod’, ‘Andijon viloyati’,
‘UmarovFarhod@gmail.com’);
INSERT INTO mijoz VALUES (4,‘Sanaev’, ‘Anvar’, ‘Kattaqo’rg’on shahri’,
‘AnvarSanayev@gmail.com’);
12-jadval. “Buyurtma” jadvaliga INSERT operatori yordamida yozuv
qo’shish
INSERT INTO buyurtma VALUES (1, 15,15, ‘lyuks’);
INSERT INTO buyurtma VALUES (2, 120,26, ‘podlyuks’);
INSERT INTO buyurtma VALUES (3, 111,50, ‘lyuks’);
INSERT INTO buyurtma VALUES (4, 80,100, ‘standart’);
6. SQL operatorlari yordamida jadvallardagi maydonlarning dastlabki n ta
yozuvini olish
SELECT buyrug'i tanlov mezonlariga mos keladigan barcha qatorlarni qaytaradi.
Ko'pincha bularning barchasi jadvaldagi qatorlardir. Ammo agar siz faqat birinchi
qatorni yoki berilgan qatorlarni olishni istasangiz nima bo'ladi?
Bu holatni quyidagicha bajarish mumkin (ammo shuni aytish kerakki, bu turli xil
SQL dasturlari boshqacha yo'l tutadigan noyob holatlardan biridir. Masalan: MS
Accessda TOP so‘zi ishlatiladi). MySQL da LIMIT kalit so‘zidan foydalaniladi:
SELECT prod_name FROM Products LIMIT 5;
1-jadval. “Mehmonxona” jadvalidagi hotel_name maydonidagi dastlabki 10
ta elementini LIMIT operatori yordamida olish](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_21.png)
![SELECT hotel_name FROM mehmonxona LIMIT 10;
2-jadval. “Rahbariyat” jadvalidagi rahbar_name maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT rahbar_name FROM rahbariyat LIMIT 10;
3-jadval. “Xodimlar” jadvalidagi direktor_zam maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT director_zam FROM xodimlar LIMIT 10;
4-jadval. “Xonalar” jadvalidagi standart maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT standart FROM xonalar LIMIT 10;
5-jadval. “Joylar_soni” jadvalidagi standart_soni maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT standart_soni FROM joylar_soni LIMIT 10;
6-jadval. “Bo’limlar” jadvalidagi manaviyat maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT manaviyat FROM bolimlar LIMIT 10;
7-jadval. “Ma’naviyat bo’limi” jadvalidagi kutubxona maydonidagi dastlabki
10 ta elementini LIMIT operatori yordamida olish
SELECT kutubxona FROM manaviyat_bolimi LIMIT 10;
8-jadval. “Oziq-ovqat bo’limi” jadvalidagi milliy_taomlar maydonidagi
dastlabki 10 ta elementini LIMIT operatori yordamida olish
SELECT milliy_taomlar FROM oziq_ovqat_bolimi LIMIT 10;
9-jadval. “Ko’ngolchar xizmatlar” jadvalidagi sport maydonidagi dastlabki
10 ta elementini LIMIT operatori yordamida olish
SELECT sport FROM kongilochar_xizmatlar LIMIT 10;](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_22.png)
![10-jadval. “Restaurant” jadvalidagi res_name maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT res_name FROM restaurant LIMIT 10;
11-jadval. “Mijoz” jadvalidagi customer_name maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT customer_name FROM mijoz LIMIT 10;
12-jadval. “Buyurtma” jadvalidagi xona_bolimi maydonidagi dastlabki 10 ta
elementini LIMIT operatori yordamida olish
SELECT xona_bolimi FROM buyurtma LIMIT 10;
7. SQL operatorlari yordamida jadvallardagi maydonlarning qiymati n dan
katta bo’lgan yozuvlarini olish
Ma'lumotlar bazalari jadvallari odatda juda ko'p ma'lumotlarni o'z ichiga
oladi va jadvaldagi barcha qatorlarni kamdan-kam hollarda olish kerak bo'ladi.
Ko'pincha, keyingi ishlov berish yoki hisobot berish uchun ba'zi ma'lumotlarni
to'plashingiz kerak. Bunday holda, siz filtrlash sharti deb ham ataladigan tanlov
mezonini belgilashingiz kerak. SELECT bayonotida ma'lumotlar WHERE bandida
tanlov mezonini belgilash orqali filtrlanadi. Ushbu band jadval nomidan so'ng
(FROM bandida) quyidagicha yoziladi .
SELECT prod_name, prod_price FROM Products WHERE prod_price =3.49;
1-jadval. “Mehmonxona” nomli jadvaldan SQLning WHERE operatori
yordamida id maydoni qiymati 15 dan katta bo’lgan yozuvlarini oling.
SELECT*FROM mehmonxona WHERE id>15;
2-jadval. “Rahbariyat” nomli jadvaldan SQLning WHERE operatori
yordamida id maydoni qiymati 15 dan katta bo’lgan yozuvlarini oling.
SELECT*FROM rahbariyat WHERE id>15;](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_23.png)
![3-jadval. “Xodimlar” nomli jadvaldan SQLning WHERE operatori
yordamida idxodimlar maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM xodimlar WHERE idxodimlar>15;
4-jadval. “Xonalar” nomli jadvaldan SQLning WHERE operatori yordamida
idxonalar maydoni qiymati 15 dan katta bo’lgan yozuvlarini oling.
SELECT*FROM xonalar WHERE idxonalar>15;
5-jadval. “Joylar soni” nomli jadvaldan SQLning WHERE operatori
yordamida idsoni maydoni qiymati 15 dan katta bo’lgan yozuvlarini oling.
SELECT*FROM joylar_soni WHERE idsoni>15;
6-jadval. “Bo’limlar” nomli jadvaldan SQLning WHERE operatori
yordamida idbolimlar maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM bolimlar WHERE idbolimlar>15;
7-jadval. “Ma’naviyat bo’limi” nomli jadvaldan SQLning WHERE operatori
yordamida idmanaviyat maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM manaviyat_bolimi WHERE idmanaviyat>15;
8-jadval. “Oziq-ovqat bo’limi” nomli jadvaldan SQLning WHERE operatori
yordamida idoziq_ovqat maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM oziq_ovqat_bolimi WHERE idoziq_ovqat>15;](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_24.png)
![9-jadval. “Ko’ngilochar xizmatlar” nomli jadvaldan SQLning WHERE
operatori yordamida id_razvlechenie maydoni qiymati 15 dan katta bo’lgan
yozuvlarini oling.
SELECT*FROM kongilochar_xizmatlar WHERE id_razvlechenie>15;
10-jadval. “Restaurant” nomli jadvaldan SQLning WHERE operatori
yordamida idRestaurant maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM restaurant WHERE idRestaurant>15;
11-jadval. “Mijoz” nomli jadvaldan SQLning WHERE operatori yordamida
idMijoz maydoni qiymati 15 dan katta bo’lgan yozuvlarini oling.
SELECT*FROM restaurant WHERE idMijoz>15;
12-jadval. “Buyurtma” nomli jadvaldan SQLning WHERE operatori
yordamida id_Buyurtma maydoni qiymati 15 dan katta bo’lgan yozuvlarini
oling.
SELECT*FROM buyurtma WHERE id_Buyurtma>15;
Xulosa
Men “Mehmonxona ma'lumotlar bazasini loyihalash” mavzusida bajargan kurs
ishini bajarish davomida yangi adabiyotlardan hamda turli ma’lumotlardan
foydalandim. Bundan tashqari dasturlash texnologiyasi bilan tanishdim. Umuman
olganda ushbu kurs ishi biz talabalarga “ Informatika va axborot texnologiyalari”
fanidan olgan nazariy va amaliy bilimlarimizni yanada mustaxkamlashga yordam
berdi. Ma’lumotlar bazasini boshqarish tizimi – o’zaro bog’langan ma’lumotlar
to’plami va bu ma’lumotlar bilan bog’lanishga yordam beruvchi biriktirilgan](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_25.png)
![dasturlar. Bu ma’lumotlar to’plamima’lumotlar bazasi deyiladi. SQL dasturi
ma’lumotlar bazasini boshqarish tizimlaridan bo’lib, server va klient
ko’rinishida o’rnatish mumkin va berilgan ruxsat doirasida ishlatish mumkin. Bu
dastur asosan katta xajmdagi ma’lumotlar bilan ishlaganligi uchun , asosan yirik
korxonalarda ishlatiladi. Axborot bilan ishlash uchun SQL dasturidan foydalanish
quyidagi qulayliklarga ega ekanligini bilib oldim:
1. Har xil formatdagi katta hajmli axborotni ancha ratsional usulda saqlash;
2. Ma’lumotlarga tez kira olish imkoniyati;
3. Yopiq ma’lumotlarga kafolatli cheklovlar qo’yish;
4. Kompyuter tarmog’ida axborot bilan ishlash uchun mijoz-server arxitekturasiga
asoslangan dasturlar yaratish.Bizga SQL dasturida relyatsion ma’lumotlar bazasini
yaratish mustaqil ish sifatida berilgan edi. Dastavval SQL dasturini kompyuterga
yuklab oldim. Men “Mehmonxona” ma’lumotlar bazasini yaratishni tanladim.
Buning uchun avval predmet sohani ya’ni mehmonxonalarni tahlil qildim.
Keng qo’llaniladigan modellardan biri mohiyat-aloqa modeli bo’lib, asosan
obyektlarning yig’indisini va ular o’rtasidagi bo’liqlikni tasvirlaydi. Mehmonxona
MB sining obyektlari va atributlarini tanlab mohiyataloqa modelini yaratdim. SQL
kodlari orqali buyruqlarni qabul qiladi. Bu so’rov tili ma’lumotlar bazasini
yuklash, uni to’xtatish, montirovka qilish, jadvallar yaratish, o’chirish,
o’zgartirish, ma’lumotlar ichidan kerakligini chiqarib olish va boshqa vazifalar
uchun ishlatiladi. Mehmonxona MB sining relyatsion modelini yaratish uchun
CREATE TABLE komandasidan foydalanib 6 ta jadval yaratib oldim. INSERT
buyrug’idan foydalanib jadvallarga ma’lumotlar kiritib chiqdim. Biror dorining
narxini o’zgartirish kerak bo’lganda UPDATE buyrug’idan, yaroqlilik uddati
o’tgan dorilarni o’chirish uchun DELETE buyrug’idan, o’zimizga kerakli
ustunlarni chiqarish uchun SELECT buyrug’idan foydalanishni bilib oldim.
GROUP BYva HAVING operatorlaridan foydalanib murakkab so’rovlar
yaratishni o’rgandim. Ishni bajarish jarayonida bir xil ma'lumotlar bo‘lsa,
guruhlanishini, aks holda natijalar guruhlanmagan holda chiqarilishini ko’rdim.](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_26.png)
![HAVING – kalit so’zi bilan berilgan shart atributlarning konkret qiymatiga
emas balki GROUP BY sharti bilan yaratilgan guruhga tegishli bo’lishini, agar
tanlash sharti guruhga tegishli bo’lmay atributga tegishli bo’lsa, u holda WHERE
kalit so’zidan foydalanish lozimligini natijalardan ko’rdim. Tanlab olingan satrlar
sonini chiqarish uchun COUNT funksiyasi ishlatilishini misollarda
bajardim.Jadvallarni birlashtirishda UNION va UNION ALL hamda JOIN
buyruqlarining farqini ko’rib chiqdim. INTERSECT va MINUS buyruqlarini qaysi
holatlarda ishlatilishini bilib oldim.
SQL dasturida “Mehmonxona” relyatsion ma’lumotlar bazasini yaratish
jarayonida bir qancha qiyinchiliklarga duch keldim. Shunga qaramay
xatoliklarni bartaraf etib, ko’zlangan natijaga erishdim.
Foydalanilgan adabiyotlar:
1. Экономическая информатика -учебник / под ред. И.П. Koсарев и Л.В.
Еремина -M –Финансы и статистика, 2002, стр. 523-563
2. А.А.Козырев Информационные технологии в экономике и управлении.
Учебник / 2000
3. Б.Ю. Ходиев, А.А. Мусалиев, Б.А. Бегалов Введение в информационные
системы и технологии -Учебное пособие. Т. -«ТГЭУ» 2002.-156с.
4. А.Г. Юркин. Задачник по программированию. Учебное пособие.
Питер.Минск:2002.
5. Ричард, Хезфилд, Лоуренс-Кирби. Искусство программирования на С.
ДиаСофт Питер:2001.
6. Экономическая информатика -учебник / под ред. В.П. Косарев и Л.В.
Еремина -М -Финансы и статистика, 2002, ст. 523-563
7. Б.Ю. Ходиев, А.А. Мусалиев, Б.А. Бегалов. Введение в информационные
системы и технологии -Учебное пособие. Т . -« ТГЭУ » 2002.-156 с .
8. M.M. Aripov, J.O’. Muhammadiyev. Informatika, information texnologiyalar.
Toshkent 2005- y.](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_27.png)
![](/data/documents/f346c5f1-5910-4a34-b98c-513aa01803a0/page_28.png)
“Mehmonxona ma’lumotlar bazasini loyihalash”mavzusida
Kirish Informatsion tеxnologiyalarning rivojlanishi va axborot oqimlarining tobora ortib borishi, ma'lumotlarniig tеz o`zgarishi kabi xolatlar insoniyatni bu ma'lumotlarni o`z vaqtida qayta ishlash choralarini qidirib topishga undaydi. Ma'lumotlarni- saqlash, o`zatish va qayta ishlash uchun ma'lumoglar bazasi (MB)ni yaratish, so’ngra undan kеng foydalanish bugungi kunda dolzarb bo`lib qolmoqda.Biz axborot asrida yashamoqdamiz. Hozirgi kunda axborotni boshqarish juda muhim tushunchaga aylanib bo’ldi. Axborot dunyosidagi eng asosiy vazifa – uni qayta ishlashdir. Axborotni qayta ishlash esa eng murakkab jarayonlardan biridir. Umuman olganda, ma’lumotlarni qayta ishlash deganda, ular ustida bajariladigan amallar – saqlash, uzatish, tahrirdan o’tkazish kabilarni tushunishimiz mumkin. Axborotlar ustida amallar bajarish uchun ularni bir joyga to’plash muhim hisoblanadi. Axborotlar miqdori oz bo’lmaganligi sababli bu jarayon, albatta, kompyuterlar yordamida amalga oshirilmoqda. Axborotlarning bir joyga jamlanishi “ma’lumotlar bazasi” tushunchasini vujudga keltirdi. Ma’lumotlar bazasi texnologiyalarining paydo bo’lishi va rivojlanishi tarixini tor ma’noda qarab chiqaylik. Chunki bu tushuncha tarixi tushunchasi keng ma’noda, insoniyat ma’lumotlarni saqlaydigan va ishlov beradigan har qanday vositalar tarixiga umumlashtiriladi. Ma’lumotlar bazasi tarixi tor ma’noda ma’lumotlar bazalarini an’anaviy (zamonaviy) ma’noda ko’rib chiqadi. Ushbu tushuncha paydo bo’lishiga 1955- yilda dasturlashtiriladigan yozuv uskunalari paydo bo’lgani bilan bog’lash mumkin. Bu vaqtda dasturiy ta’minot fayllarga asoslangan yozuvlarni qayta ishlash modelini qo’llab-quvvatlar edi. Ma’lumotlarni saqlash uchun perfokartalardan foydalanilgan [1]. Internet tarmog’ining ma’lumotlar bazasi 1960- yillarning o’rtalarida paydo bo’ldi. Ma’lumotlar bazasidagi operatsiyalar terminallar yordamida interaktiv ravishda qayta ishlandi. Keyingi muhim qadam Edgar Koddning ishi tufayli 1970-yillarning boshlarida relyatsion ma’lumotlar modelining paydo bo’lishi bilan bog’liq. Kodd ishi amaliy ma’lumotlar bazasi texnologiyasini matematika va mantiq bilan chambarchas bog’lash uchun yo’l
ochdi. “Ma’lumotlar bazasi” atamasi 1960-yillarning boshlarida paydo bo’lgan, garchi dastlab bu tushuncha sun’iy intellekt tizimlari nuqtai nazaridan tor ma’noda tushunilgan bo’lsa-da, 1964-1965-yillarda SDC tomonidan tashkil qilingan simpoziumlarda joriy etilgan. Ushbu atama zamonaviy ma’noda faqat 70-yillarda keng qo’llanilgan. Ma'lumotlar bazasi -bu o`zaro boglangan va tartiblangan Ma'lumotlar majmuasi bo`lib. u kurilayotgan ob'еktlarning xususiyatini, xolatini va ob'еktlar o’rtasidagi munosabatni ma'lum soxada tavsiflaydi. Darxaqiqat, xozirgi kunda inson xayotida MBda kеrakli axborotlarni saqlash va undan oqilona foydalanish juda muxim rol o’ynaydi. Sababi jamiyat taraqqiyotining qaysi jabxasiga nazar solmaylik o`zimizga kеrakli ma'lumotlarni olish uchun albatta, MBga murojaat qilishga majbur bo’lamiz. Demak, MBni tashkil qilish axborot almashuv texnologiyasining eng dolzarb xal qilinadigan muammolaridan biriga aylanib borayotgani davr taqozasidir. Ma'lumki, MB tushunchasi fanga kirib kеlgunga qadar, ma'lumotlardan turli ko’rinnshda fondalanish juda qiyin edi. Dastur tzuvchilar ma'lumotlarni shunday tashkil qilar edilarki u faqat karalayotgan masalauchungina o’rinli bo’lardi. Xar bir yangi masalani xal qilishda Ma'lumotlar qaytadan tashkil qilinar va bu xol yaratilgan dasturlardan foydalanishni qiyinlashtirar edi. Shuni ta'kidlash lozimki, xozirgi vaqtda dеyarli barcha MBBSlar asosan rеlyatsion modеllar asosida tashkil qilinmoqda. Shuni nazarda tutgan Microsoft Office korporatsiyasi xam eng ommalashgan dastur vositalarga ega, bu dastur vositalari ixtiyoriy soxada yuqori darajadagi profеssional xujjatlar tayyorlash imkonini bеradi. Shulardan biri MBlar bilan ishlashga mo`ljallangan Microsoft Access dasturi bo`lib, bu dastur Visual Basic for Application dasturlash muxitida makroslar yaratish va boshqa bir qancha imkoniyatlarga egaki. bu foydalanuvchiga xar tomonlama mukammal bo`lgan xujjatlar tayyorlashga yordam beradi Microsoft Office ning o`zbеk tilidagi varianti yukligi, uning faqat ingliz va rus tilida yaratilgan vsrsiyalaridangina foydalanish nmkoinyatiga ega ekanligimizdan mazkur fikrlar Microsoft Access ning ruscha vеrsiyasiga tayanib yozilgan. Microsoft Access
dasturi xam relyatsion modеllar asosiga kurilgan bo`lib, unda tashqil qilinadngan MBlar jadval kurinishida aks etadi. Bunday jadvaldagi ustunlar maydon dеb, satrlar esa yozuv dеb ataladi. Maydon - ma'lumotlarni tashqil etishning oddiy birligi bo`lib, malumotning aloxida, bo`linmas birligiga egaligi rеkvizitga mos kеladi. Еzuv mantikiy boglangan rеkvizitlarga mos kеluvchi maydonlar yigindisidir. Yozuvning t o`zilishi o`z tarkibiga mos xar bir oddiy ma'lumotga ega maydonlar tarkibi va kеtma-kеtligi bilan bеgilanadi. 1. Ma’lumot bazasi tushunchasi Bugungi dunyoda ma’lumotlar har xil va keng tarqalgan. Ma’lumotlar bazasi ma’lumotlarni saqlash va boshqarishning eng yaxshi usuli hisoblanadi. Ma’lumotlar bazalari ma’lumotlarni doimiy ravishda va xavfsiz tarzda almashishni ta’minlaydi. Birinchidan, Ma'lumotlar turi, ko’rinishi, ularni qo’llaydigan dasturlarga bog`liq, bo’lmasligi lozim, ya'ni MBga yangi ma’lumotlarni kiritganda yoki ma'lumotlar turini o`zgartirganda, dasgurlarni o`zgartirish talab etilmasligi lozim. Ikkinchidan, MBdagi kеrakli ma'lumotni bilish yoki izlash uchun biror dastur tuzishga xojat qolmasin. Shuning uchun xam MBni tashkil etishda ma'lum qonun va koidalarga amal qilish lozim. Bundan buyon axborot so’zini ma'lumot so`zidan farqlaymiz, ya'ni axborog so`zini umumiy tushuncha sifatida qabul qilib, ma'lumot dеganda aniq, bir belgilangan narsa yoki xodisa sifatlarininazarda tutamiz. Bugungi kunda ma'lumotlarni eng ishonchli saqlaydigan vositalardan biri esa xozirgi zamon kompyutеrlaridir. Kompyutеrlarda saqlanadigan MB - bu maxsus formatga ega bo`lgan muayyan tuzilmali fayl dеmakdir. Kompyutеr xotirasida xar bir fayl, yozuv dеb ataladigan bir xil turdagi qismlardan iborat bo`ladi. Еzuv- o`zaro boglangan ma'lumotlarning bir qismidir.Fayldagi yozuvlar soni, qaralayotgan ma'lumotning ulchoviga bog`lik. Xar bir yozuv esa maydon dеb ataladigan bo’laklardan tashkil topadi. Maydon ma'lumotlarning. imkoni boricha, qisqa to’plamidan iborat bo`lishi lozim. Xar bir maydon, o`zi ifodalaydigan ma'lumotlariga ko’ra biror nomga ega bo`ladi.
Ma’lumotlar nafaqat keng yoyilgan va keng tarqalgan hamdir. Bu tashkilotlarning yashashi va rivojlanishi uchun ham zarurdir. Masalan, OTM o’zining professor-o’qituvchilari, fakultetlari, tegishli yo’nalishlari va mutaxassisliklari hamda talabalari haqida hech qanday ma’lumotga ega bo’lmasdan turib rivojlanishi mumkinmi, degan savolni o’rtaga qo’yib ko’raylik. Barcha OTMlar ushbu turdagi ma’lumotlarni saqlashlari kerak. Muhim ahamiyatga ega bo’lganidek, ular kerak bo’lganda qaror qabul qiluvchilar uchun ma’lumotlarga ega bo’lishlari kerak. Ishonch bilan aytish mumkinki, OTMning barcha axborot tizimlarining maqsadi ularga axborotni tashkiliy manba sifatida ishlatishga yordam berishdir. Ushbu tizimlarning barchasida ma’lumotlarni yig’ish, saqlash, umumlashtirish, boshqarish va tarqatish turadi. Ma’lumotlar bazasi – tegishli ma’lumotlar to’plamini o’z ichiga olgan umumiy, birlashgan kompyuter tuzilmasi[6]. Axborot tizimining turiga va masalaning qo’yilishiga qarab, bu ma’lumotlar bir yoki ikki mavzudagi bir necha megabaytdan biznesning ichki va tashqi muhitidagi yuzlab mavzularni qamrab oladigan terabaytgacha o’zgarishi mumkin. Ma’lumotlar bazalari, kompyuterlarga asoslangan tizimlarga ma’lumotlarni tezda saqlash, boshqarish va olish imkonini beradigan ixtisoslashgan tuzilmalardir. Ma’lumotlar bazasi tushunchasi maydon, yozuv, fayl atamalari bilan bog’liq. Maydon – bu saqlanadigan ma’lumotlarning eng kichik birligi. Tipik ma’lumotlar bazasida bir qancha tiplarning yoki saqlanadigan maydonlarning har birini tavsiflovchi ko’plab nusxalari (occurrence yoki instance) mavjud. Masalan, OTMlar haqida ma’lumot mavjud bo’lgan ma’lumotlar bazasida "OTM raqami" nomi bilan saqlanadigan maydon turini o’z ichiga olishi mumkin va ma’lumotlar bazasida tavsiflangan OTMlarning har bir turi uchun (fakultetlar, yo’nalishlar, guruhlar, talabalar va boshqalar) ushbu saqlanadigan maydonning alohida nusxasi mavjud bo’ladi. Yozuv – bu tegishli saqlanadigan maydonlar to’plamidir. Bunday holda, saqlangan yozuvning nusxasi saqlanadigan maydonlarning tegishli nusxalari guruhidan iborat.