Yangi jadval yaratish
Kirish: ushbu darsda siz ma'lumotlar bazasi jadvallarini qanday loyihalash va yangi jadval yaratish uchun PostgreSQL CREATE TABLE buyrug'ini qanday ishlatishni o'rganasiz.
PostgreSQL ma'lumotlar bazasi o'zaro bog'langan jadvallar to'plamidan iborat. PostgreSQL da jadval yaratishdan oldin, uchta eng muhim savolga javob berishingiz kerak:
Mahsulot inventarizatsiyasini boshqarmoqchi bo'lasiz deylik:
| Mahsulot nomi | Brend | Miqdor | Narx |
|---|---|---|---|
| iPhone 14 | Apple | 50 | 999.99 |
| Galaxy S22 | Samsung | 40 | 899.99 |
| Galaxy Tab A8 | Samsung | 30 | 229.99 |
| Pixel Slate | 10 | 799.99 | |
| … | … | … | … |
Buning uchun ushbu uch savolga javob berishingiz mumkin:
1) Qanday ma'lumotlarni saqlaysiz? Biz mahsulot inventarizatsiyalari ro'yxatini saqlaymiz. Buning uchun inventories deb nomlangan jadval yaratamiz.
2) Bu ma'lumotlar qanday xususiyatlarga ega? Har bir inventarizatsiya yozuvida quyidagi ma'lumotlar mavjud:
Shunday qilib, inventories jadvali to'rtta ustundan iborat bo'ladi:
namebrandquantityprice3) Bu xususiyatlarning har biri qanday ma'lumot turini o'z ichiga oladi? Har bir jadval ustuni ma'lum turdagi ma'lumotlarni saqlaydi:
name ustuni iPhone, Galaxy va hokazo mahsulot nomlarini saqlaydi. Ular satrlar (strings).brand ustuni Apple va Samsung kabi brendlarni saqlaydi. Bu brendlar ham satrlar.quantity ustuni 10, 21, 30 kabi mahsulot miqdorini saqlaydi. Bu miqdorlar butun sonlar (integers).price ustuni 899.99 va 299.99 kabi mahsulot narxlarini saqlaydi. Mahsulot narxlari o'nlik sonlar (decimal numbers).inventories jadvalining xulosa tavsifi:
| Ustun nomi | Ma'lumot turi |
|---|---|
| name | string |
| brand | string |
| quantity | integer |
| price | decimal |
PostgreSQL da CREATE TABLE buyrug'i ma'lumotlar bazasida yangi jadval yaratish imkonini beradi. CREATE TABLE buyrug'ining asosiy sintaksisi:
CREATE TABLE table_name (
column_name1 data_type,
column_name2 data_type
...
);
Bu sintaksisda:
CREATE TABLE — PostgreSQL ga ma'lumotlar bazasida yangi jadval yaratishni ko'rsatuvchi kalit so'zlar. Kalit so'zlar kichik yoki katta harfda yozilishi mumkin. Odatda, kalit so'zlar sintaksisdan ajralib turishi uchun katta harfda yoziladi.table_name — jadval nomini ko'rsatuvchi identifikator.Odatda, PostgreSQL da jadval nomlari snake case va ko'plik ot shaklida yoziladi:
products, brands va product_categories.products va brands kabi ko'plik otlardir.CREATE TABLE table_name bandidan keyin, qavslar () ichida vergul bilan ajratilgan ustunlar ro'yxatini ko'rsatasiz. Ustun aniqlashning asosiy sintaksisi:
column_name data_type
Bu sintaksisda ustun nomi va uning ma'lumot turini ko'rsatasiz. Odatda, ustun nomlari ham snake case da yoziladi.
Masalan, quyidagi CREATE TABLE buyrug'i PostgreSQL ma'lumotlar bazasida yangi jadval yaratadi:
CREATE TABLE inventories (
name VARCHAR(255),
brand VARCHAR(50),
quantity INT,
price DECIMAL(19, 2)
);
Bu inventories jadvalida:
name va brand ustunlari VARCHAR ma'lumot turiga ega, ya'ni o'zgaruvchan uzunlikdagi belgilar. 255 va 50 uzunlik ko'rsatkichlari ustunlar saqlashi mumkin bo'lgan maksimal uzunlikni belgilaydi. Masalan, 255 belgidan uzun nom kiritmoqchi bo'lsangiz, xatolikka duch kelasiz.quantity ustunida INT yoki butun son turi mavjud. Uning diapazoni -2,147,483,648 dan +2,147,483,647 gacha. Ushbu diapazondan tashqari qiymat kiritilsa, xatolik yuz beradi.price ustunida DEC(19,2) turi mavjud. U 19 ta raqamgacha o'nlik sonni, o'nlik nuqtadan oldin 17 ta va undan keyin 2 ta raqamni saqlashi mumkin.Quyidagi jadval jadval dizaynidagi ustun ma'lumot turini PostgreSQL ma'lumot turlari bilan mos kelishini ko'rsatadi:
| Ustun | Ma'lumot turi | PostgreSQL turi |
|---|---|---|
| name | string | VARCHAR |
| brand | string | VARCHAR |
| quantity | integer | INTEGER |
| price | decimal | DEC(19, 2) |
CREATE TABLE buyrug'idan foydalaning.