1. `users` va `orders` jadvallari uchun relyatsion DDL sxemasini yozing (PK, FK, CHECK). 2. `INSERT` buyrug'i bilan har bir jadvalga kamida 2 tadan to'g'ri test ma'lumoti kiriting. 3. Har bir mijozning buyurtmalar soni va jami summasini chiqaruvchi `LEFT JOIN` so'rovini quring. 4. Zaif SQL so'rovini Prepared Statement ko'rinishiga o'tkazib, xavfsizlik testini o'tkazing. 5. Barcha natijalarni quyidagi tekshiruv jadvaliga yozing.
| Bosqich | SQL So'rovi / Terminal Buyrug'i | Kutilgan Natija / Tekshiruv |
|---|---|---|
| 1 · DDL | CREATE TABLE users (...); |
Jadvallar yaratildimi? [ HA / YO'Q ] PK / FK / CHECK: ____________________ |
| 2 · DML | INSERT INTO users VALUES (...); |
Kiritilgan yangi satrlar soni: users: ____ | orders: ____ |
| 3 · JOIN | SELECT users.full_name, COUNT(orders.id), SUM(...) |
Hisobotdagi qatorlar soni: _____ Xaridsizlar uchun NULL bormi? [ HA / YO'Q ] |
| 4 · Himoya | SELECT * FROM users WHERE email = $1;(Prepared Statement) |
' OR '1'='1 kiritilganda nima qaytdi: [ 0 ta satr (Xavfsiz) / Xakerlik ] |
1. ACID kafolatlari nima uchun muhim (Bank o'tkazmasi va server avariyasi misolida):
2. Prepared Statement ($1) qanday qilib SQL Injectionni to'xtatadi va B-Tree nega tez: