6-Amaliy mashg’ulot. Tasavvurlar Ishning maqsadi


Download 215.64 Kb.
Sana20.06.2023
Hajmi215.64 Kb.
#1627250
Bog'liq
mb6


6-Amaliy mashg’ulot.
Tasavvurlar
Ishning maqsadi: SQL da tasavvurlar yaratish.
Ma’lumotlar bazasi jadvallardan tashkil topadi. Jadvallar aloxida fayl ko‘rinishida, yoki birorta faylni bo‘lagi bo‘lishi mumkin. Ma’lumki, SELECT operatori yordamida virtual jadvallar yaratish, ya’ni vaqtinchalik jadvallar yaratish mumkin. Bunday jadvallar vaqtinchalik bo‘lib, yaratgan foydalanuvchi o‘zi undan foydalanishi mumkin.
Tasavvurlar ham vaqtinchalik jadvallar bo‘lib, ular ko`p foydalanuvchilarga murojaat qilishi mumkin va u ma’lumot bazasidan majburan olib tashlanguncha mavjud bo‘ladi. Tasavvurlar MB oddiy jadvallariga o‘xshash bo‘lib, ma’lumotlar saqlovchi fizik obyekt hisoblanmaydi. Tasavvurlarda ma’lumotlar jadvallardan tanlab olinadi. Tasavvurlar foydalanuvchilardan jadvallarni ba’zi ustunlarini yashirish yoki ko‘pincha foydalanuvchiga kerakli bo‘lgan bir nechta jadvaldan bitta yaratish kerak bo‘ladi.
Ko'rinishlarni yaratish. Shunday qilib, ko’rinishlar nima ekanligini bilasiz (va ular bilan ishlashda qanday qoidalarga amal qilish kerakligini ham). Endi ular qanday yaratilganligini ko'rib chiqaylik.
Ko'rinishlar CREATE VIEW iborasi yordamida yaratiladi. CREATE TABLE iborasi kabi, bu ibora faqat mavjud bo'lmagan ko'rinishni yaratish uchun ishlatilishi mumkin. O’chirish uchun DROP VIEW ko’rinish nomi iborasi ishlatiladi.
Murakkab birlashmalarni soddalashtirish uchun ko'rinishlardan foydalanish ko'rinishlardan eng keng tarqalgan foydalanish murakkab so'rovlarni soddalashtirishdir va bu ko'pincha birlashmalarda sodir bo'ladi.
Ushbu bayonot WHERE bandi yordamida ko'rsatilgan ma'lumotlarni ko'rinishdan oladi. MBBT bunday so'rovni qayta ishlaganda, ma'lumotlar to'g'ri filtrlanishi uchun ko'rinishning o'z so'rovidagi oldindan mavjud bo'lgan WHERE bandiga belgilangan shartni qo'shadi.
Shu tarzda qarashlar murakkab SQL iboralarini ancha soddalashtirishi mumkin. Ko'rinishlardan foydalanib, siz bir marta SQL kodini yozishingiz va kerak bo'lganda uni qayta qo'llashingiz mumkin.
Qayta foydalanish mumkin bo'lgan ko'rinishlarni yaratish. Muayyan ma'lumotlarga bog'lanmagan ko'rinishlarni yaratish yaxshi fikr. Misol uchun, oldingi misolda yaratilgan ko'rinish nafaqat RGAN01 elementini (ko'rinish dastlab yaratilgan) emas, balki barcha elementlarga buyurtma bergan mijozlarning ismlarini qaytaradi. Ko'rinish diapazonini kengaytirish uni ko'p marta qayta ishlatish imkonini beradi, shuning uchun ko'plab o'xshash ko'rinishlarni yaratish va saqlash zaruriyatini yo'q qiladi. Bu ushbu vakillikni yanada samaraliroq qiladi.
VIEW yaratishning so’rovi sintaksisi:
CREATE VIEW tasavvur_nomi AS
SELECT ustun1, ustun2, ...
FROM jadval_nomi
WHERE shartli_tenglik;
VIEWni o’chirish:
DROP VIEW tasavvur_nomi;
Masalan Varaqlar nomli tasavvur yaratib ko’ramiz. Bunda ‘book’ jadvalidagi 140 dan katta bo’lgan num_pages(varaqlar_soni) ni chiqaramiz.
CREATE VIEW Varaqlar AS
SELECT title, num_pages
FROM `book`
WHERE num_pages>140;


Qabul qilingan ma'lumotlarni qayta formatlash uchun ko'rinishlardan foydalanish. Yuqorida aytib o'tilganidek, ko'rinishlar uchun yana bir keng tarqalgan foydalanish holati olingan ma'lumotlarni qayta formatlashdir. Quyidagi SELECT bayonoti (oldingi darslarga qarang) provayder nomini va uning joylashuvini yagona birlashtirilgan hisoblangan ustunda qaytaradi.
Keraksiz ma'lumotlarni filtrlash uchun ko'rinishlardan foydalanish. Ko'rinishlar umumiy WHERE shartlarini qo'llash uchun ham foydali bo'lishi mumkin. Masalan, siz CustomerEMailList ko'rinishini elektron pochta manzillari bo'lmagan mijozlarni filtrlashi uchun belgilashni xohlashingiz mumkin. Buning uchun siz quyidagi so’rovni yaratishingiz kerak.


CREATE VIEW CustomerEMailList AS SELECT cust_id, cust_name, cust_email FROM Customers WHERE oust email IS NOT NULL;

Shubhasiz, pochta ro'yxatiga xabar yuborayotganda, siz elektron pochta manziliga ega bo'lmagan mijozlarni o'tkazib yuborishingiz kerak. Bunday holda, WHERE bandi hech qanday mos yozuvlar olinmasligi uchun cust_email ustunida NULL qiymatga ega bo'lgan qatorlarni filtrlaydi.


Ko'rinishlar hisohi marta oldingi darsda foydalanilgan SELECT iborasi keltirilgan. U belgilangan tartibning elementlarini oladi va har bir element uchun umumiy xarajatlarni hisoblab chiqadi.


SELECT orderid, quantity, item_price, quantity*item_price AS expanded_price FROM `order_items` WHERE order_num = 978-1-118-94924-5;

Uni ko'rinishga aylantirish uchun quyidagilarni bajaring.




CREATE VIEW OrderltemsExpanded AS SELECT orderid, quantity, item_price, quantity*item_price AS expanded_price FROM `order_items` WHERE book_isbn = 978-1-118-94924-5;

Quyida ‘OrderltemsExpanded’ nomli Viewning ko’rinishi:

Download 215.64 Kb.

Do'stlaringiz bilan baham:




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