Tarkibga o'tish

021. ALTER, DROP va migratsiya

Bu mavzuda jadval tuzilmasini o'zgartirish bo'yicha 20 ta masala bor. Har bir masala oldida qavs ichida sxema nomi va qiyinlik darajasi ko'rsatilgan. Sxemalar Sxemalar va tayyorlov sahifasida berilgan.

Masalani o'zingiz yechib, natijani Kutilgan natija bilan solishtiring. O'zgartiruvchi masalalarda (INSERT, UPDATE, DELETE, DDL) natija shartda aytilgan tekshiruv so'rovidan olingan. Natija 10 qatordan ko'p bo'lsa, birinchi 10 qator ko'rsatilgan.

1. (dokon, oson) mijoz jadvaliga 'telefon' (text) ustunini qo'shing.

Kutilgan natija
telefon

2. (dokon, oson) mijoz.shahar ustuni nomini 'viloyat' ga o'zgartiring.

Kutilgan natija
Samarqand
Buxoro
Andijon

3. (dokon, oson) mahsulot.qoldiq ustuniga DEFAULT 0 o'rnating va qator qo'shib tekshiring.

Kutilgan natija
0

4. (dokon, oson) Yangi jadvalni yarating va DROP TABLE bilan o'chiring; 'vaqtincha' jadval borligini tekshiring.

Kutilgan natija
0

5. (dokon, o'rta) mijoz.email uchun UNIQUE cheklov qo'shing; (NULL lar bir necha bo'lishi mumkin). Cheklov borligini tekshiring.

Kutilgan natija
mijoz_email_uq

6. (dokon, o'rta) mahsulot.narx ga CHECK (narx>0) qo'shing va cheklov nomini ko'rsating.

Kutilgan natija
narx_musbat

7. (dokon, o'rta) Ustun turini o'zgartiring: mahsulot.qoldiq int -> bigint. Turni tekshiring.

Kutilgan natija
bigint

8. (dokon, o'rta) Migratsiya: mijoz ga 'faol' boolean DEFAULT true NOT NULL qo'shing, 'Toshkent' bo'lmaganlarni false qiling; faol=false soni.

Kutilgan natija
25

9. (dokon, o'rta) DROP COLUMN: mijoz.tugilgan_yil ustunini o'chiring; ustunlar soni.

Kutilgan natija
5

10. (dokon, qiyin) Migratsiya: mahsulot.nom ustuniga NOT NULL ... allaqachon bor; o'rniga mijoz.email ga NOT NULL qo'yish uchun avval NULL larni to'ldiring, so'ng SET NOT NULL; NULL lar soni.

Kutilgan natija
0

11. (dokon, qiyin) DROP TABLE CASCADE: kategoriya jadvalini CASCADE bilan o'chiring; mahsulot jadvalining FK cheklovlari soni.

Kutilgan natija
0

12. (maktab, oson) oquvchi jadvaliga 'email' ustuni qo'shing.

Kutilgan natija
1

13. (maktab, oson) fan jadvalini 'predmet' ga qayta nomlang.

Kutilgan natija
8

14. (maktab, o'rta) baho.ball ga CHECK (ball<=5) cheklovi mavjud; uni DROP CONSTRAINT bilan olib tashlang (nomi baho_ball_check). Cheklovlar soni.

Kutilgan natija
0

15. (maktab, o'rta) oqituvchi.maosh ga DEFAULT 3000000 va yangi o'qituvchi qo'shing.

Kutilgan natija
3000000.00

16. (maktab, qiyin) Migratsiya: oquvchi.ism ni 'ism' va 'familiya' ga ajrating (yangi ustun familiya), ism faqat birinchi so'z; birinchi 3 qator.

Kutilgan natija
1 | Madina | Karimova
2 | Sherzod | Ismoilov
3 | Nilufar | Hasanova

17. (bank, oson) hisob jadvaliga 'holat' (text DEFAULT 'faol') ustuni qo'shing.

Kutilgan natija
faol | 40

18. (bank, o'rta) qarz jadvaliga FK qo'shish: allaqachon bor; o'rniga yangi 'garov' jadvali va ALTER bilan FK qo'shing.

Kutilgan natija
1

19. (bank, qiyin) Migratsiya: hisob.balans ni numeric(14,2) dan numeric(16,2) ga kengaytiring va turini tekshiring.

Kutilgan natija
16

20. (kutubxona, o'rta) kitob jadvaliga 'isbn' text UNIQUE ustuni qo'shing; ustun va cheklov.

Kutilgan natija
1