Mashq
Dorixona bazasini noldan o‘z qo‘lingiz bilan quring. Har bir qadam haqiqiy serverda bajariladi, xato qilsangiz — sababi tushuntiriladi.
- 1Boshlash
Birinchi ish kuni
\l · create database · \c
Siz «Shifo» dorixonasiga ma’lumotlar bazasi bo‘yicha stajyor bo‘lib keldingiz. Bu yerda hisob hali daftarda yuritiladi — uni bazaga ko‘chirish sizning ishingiz. Avval server bilan tanishib oling.
0/4 qadam - 2Boshlash
Birinchi javon
create table · primary key · identity
Dorixonada dorilar javonlarga toifasi bo‘yicha teriladi. Bazada har bir «javon» — jadval. Birinchi jadvalingiz toifalar ro‘yxati bo‘ladi.
0/3 qadam - 3Boshlash
Birinchi yozuvlar
insert into · select *
Javon tayyor, lekin bo‘sh. Endi unga yozuvlar qo‘shamiz. Esda tuting: matn qiymatlar doim bittalik qo‘shtirnoq ichida yoziladi.
0/3 qadam - 4Boshlash
Dorilar va tashqi kalit
foreign key · references · date
Dorilar keldi. Har bir dori qaysidir toifaga tegishli. Toifa nomini har safar qayta yozmaslik uchun dori jadvalida faqat uning raqami saqlanadi. Bu raqam — tashqi kalit.
0/4 qadam - 5Boshlash
Qidiruv
where · like · order by · limit
Yuk mashinasi keldi — javonlarda endi sakkiz xil dori bor. Mijoz so‘raganda kerakli dorini tez topish kerak. Buning uchun `select` ning imkoniyatlarini o‘rganamiz.
0/5 qadam - 6Boshlash
Tuzatish va tozalash
update · delete · where
Baza tirik: narxlar o‘zgaradi, muddati o‘tgan dorilar olib tashlanadi. Ehtiyot bo‘ling — `where` yozilmasa, buyruq hamma qatorga ta’sir qiladi. Bu bosqichda xato qilsangiz, trenajor bazani avvalgi holatiga qaytarib beradi.
0/4 qadam - 7Boshlash
Jadvallarni ulash
join · count · group by
Dori jadvalida toifaning raqami turibdi, lekin mijozga raqam emas, nom kerak. Ikki jadvalni kalitlari bo‘yicha ulash `join` deyiladi.
0/3 qadam - 8Boshlash
Yakuniy sinov: birinchi sotuv
M:N · join × 2 · sum
Oxirgi vazifa — sotuvlarni hisobga olish. Bitta mijoz ko‘p dori oladi, bitta dorini esa ko‘p mijoz oladi. Bunday «ko‘pga-ko‘p» bog‘lanish uchun o‘rtaga uchinchi jadval qo‘yiladi. Bu yerda qoliplar yo‘q — o‘rganganlaringizni ishlating.
0/6 qadam
Erkin rejim
Tekshiruvsiz maydon: o‘z bazalaringizni yarating, xohlagan so‘rovni sinang. Bir tugma bilan yetti jadvalli tayyor dorixona bazasini yuklab olsangiz ham bo‘ladi.