Mashq

Dorixona bazasini noldan o‘z qo‘lingiz bilan quring. Har bir qadam haqiqiy serverda bajariladi, xato qilsangiz — sababi tushuntiriladi.

Qaysi bazada mashq qilamiz?
  1. 1

    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
    Boshlash
  2. 2

    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
    Boshlash
  3. 3

    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
    Boshlash
  4. 4

    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
    Boshlash
  5. 5

    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
    Boshlash
  6. 6

    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
    Boshlash
  7. 7

    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
    Boshlash
  8. 8

    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
    Boshlash

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.

Terminalni ochish