Маълумотлар омбори ва уни бошкариш тизими хакида умумий тушунчалар


Bir necha jadvallardan ma`lumotlarni tanlash uchun SQL ni qo`llash



Download 2,75 Mb.
bet52/83
Sana18.07.2022
Hajmi2,75 Mb.
#819472
1   ...   48   49   50   51   52   53   54   55   ...   83
Bog'liq
MBBT-маъруза матни-лотин1

Bir necha jadvallardan ma`lumotlarni tanlash uchun SQL ni qo`llash. Shu paytgacha faqat bitta jadvaldan ma`lumotlarni tanlash misollari keltirildi. Bir necha jadvallardan ham ma`lumotlarni tanlab olish mumkin va ba`zi holatlarni misollar orqali ko`rib o`tamiz.
Relyatsion model talabiga ko`ra, ma`lumotlar tanlab olinadigan jadvallar birga-bir yoki birga-ko`p shaklda bir biri bilan bog`langan.
11.1.1. Misoldagi student, mark_st va exam_st jadvallari ER-diagrammasiga qarang.
mark_st jadvali id_ex maydoni bo`yicha exam_st jadvali bilan bog`langan.
mark_st jadvali id_st maydoni bo`yicha student jadvali bilan bog`langan.
Masalan, talabalar ro`yxatini imtihonlardan olgan baholari bilan birgalikda tanlash zarur bo`lsin. Buning uchun quyidagi so`rov beriladi:
SELECT student.stfam, student.stname, mark_st.id_ex, mark_st.mark
FROM student, mark_st WHERE student.id_st = mark_st.id_st
Keltirilgan ko`p jadvalli so`rov bir jadvalli so`rovdan quyidagilar bilan farq qiladi.
1. FROM sektsiyasida ikkita jadval ko`rsatilgan.
2. Jadvallr soni bitta ko`p, shuning uchun ko`rsatilgan maydonlar nomining bir qiymatliligi yo`qoladi. Masalan, ko`p hollarda maydonni FROM da ko`rsatilgan jadvallar ro`yxatidagi qaysi jadvaldan olish noma`lum bo`lib qoladi. Maydon nomlarining ko`p qiymatliligini bataraf etish uchun maydon nomida perefiks - jadval nomi qo`shimcha qilinadi. Jadval nomi maydon nomidan nuqta bilan ajratiladi.
3. WHERE ifodasida jadvallarni solishtirish sharti ko`rsatiladi.
Ko`rinib turganidek jadval nomidan iborat prefiksdan foydalanish so`rovni
murakkablashtiradi. Bunday murakkablikni bartaraf etish uchun psevdonim ishlatiladi. Yuqoridagi so`rovni quyidagicha yozish mumkin:
SELECT E.stfam, Estname, M.id_ex, M.mark FROM student E, mark_st M
WHERE E.id_st = M.id_st
11.2. Ma`lumotlarni tavsiflash
INSERT ma`lumotlarni kiritish operatori.
INSERT INTO jadval_nomi [() ] VALUES ()
Bunday sintaksis jadvalga faqat bitta satr kiritish imkonini beradi. Agar satrdagi barcha ustunlarga qiymat kiritilayotgan bo`lsa, so`rovda barcha ustunlar nomini ko`rsatish zarur emas.
Masalan, BOOKS jadvaliga yangi kitob ma`lumotlari kiritiladi
INSERT INTO books ( isbn, titl, autor, coautor, yearizd, pages)
VALUES (‘5-88782-290-2’,’Apparatnie sredstva IBM PC.Entsiklopediya’,
“Guk M. ‘, ‘‘,2000, 816)
Bu kitob muallifi faqat bitta va muallifdosh (soavtor) mavjud emas, biroq ustunlar ro`yxatida COAUTOR ustuni ham ko`rsatilgan. Shuning uchun VALUES bo`limida bu ustunga mos qiymatni ko`rsatish zarur. Misolda bu maydon uchun bo`sh satr (‘‘) ko`rsatilgan. Bu muallifdosh yo`qligini bildiradi. Shuningdek, bu erda aniqlanmagan NULL qiymatini ko`rsatish ham mumkin.
Satrdagi barcha ustunlarga qiymat kiritishda ustunlar ro`yxatini ko`rsatish zarur emas. Bunda faqat qiymatlar ro`yxatini ko`rsatish etarli bo`ladi. Bunday holda operator ko`rinish quyidagicha shaklda bo`ladi:
INSERT INTO books VALUES (‘5-88782-290-2’,
‘Apparatnie sredstva IBM PC. entsiklopediya’.’Guk M.’,’’.2000.816)
Misolda keltirilgan ikkala operator ham bir xil amalni bajaradi.
Shuningdek, to`liq miqdorda bo`lmagan qiymatlarni ko`rsatish mumkin. Ya`ni, qiymatlar qatorida muallifdoshni ko`rsatmaslik mumkin, chunki joriy kitobda muallifdosh yo`q. Biroq bunda qiymat kiritiladigan ustun nomlarini quyidagicha shaklda ko`rsatish kerak bo`ladi:
INSERT INTO books ( isbn, titl, autor, yearizd,pages)
VALUES (‘5-88782-290-2’.’Apparatnie sredstva IBM PC. entsiklopediya’. ‘Guk M.’.2000,816)
Bu holda COAUTOR ustuniga NULL qiymati yoziladi.
Agar jadvalni yaratishda ustun yoki atributga majburiy qiymat (NOT NULL) belgisi qo`yilgan bo`lsa, u holda INSERT operatorida joriy ustunning har bir satriga kiritiladigan qiymat ko`rsatilishi kerak. Shuning uchun, agar jadvalning hamma ustuni majburiy qiymatli bo`lsa, u holda har bir yangi kiritladigan satrda barcha ustun uchun qiymat mavjud bo`lishi kerak va bunda ustunlar ro`yxatini ko`rsatish shart emas. Aks holda jadvalda kamida bitta majburiy qiymatli bo`lmagan ustun bo`lsa, u holda albatta ustunlar ro`yxatini ko`rsatish shart bo`ladi.
Qiymatlar ro`yxatida maxsus funktsiyalar va ifodalar ko`rsatilishi ham mumkin. Bunda, ushbu funktsiyalarning qiymatlari ma`lumotlarni kiritish holatida hisoblangan bo`lishi zarur.
Ma`lumotlarni kiritish operatori birdaniga bir necha satrlarni kiritish imkoniga ham ega. Bunda, qiymatlar satri boshqa bir jadvaldan tanlab olinadi. Masalan, talabalar haqidagi jadval mavjud bo`lsin. Unda talabalarning familiyasi, adresi, uy telefoni va tug`ilgan sanasi ko`rsatilgan bo`lsin. U holda, bitta operator yordamida
ularni kutubxonaning kitobxonlariga aylantirish mumkin:
INSERT INTO READER (FIO_studenta, Adres, Telefon, Data_rojd)
SELECT (FIO_studenta, Adres, Telefon, Den_rojd) FROM STUDENT

Download 2,75 Mb.

Do'stlaringiz bilan baham:
1   ...   48   49   50   51   52   53   54   55   ...   83




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish