Create a table
Ushbu qo'llanmada siz yangi jadval yaratish uchun PostgreSQL CREATE TABLE
bayonotidan qanday foydalanishni o'rganasiz.
Relyatsion ma'lumotlar bazasi bir-biriga bog'liq bo'lgan bir nechta jadvallardan iborat. Jadval qatorlar va ustunlardan iborat. Jadvallar mijozlar, mahsulotlar, xodimlar va boshqalar kabi tuzilgan ma'lumotlarni saqlashga imkon beradi.
Yangi jadval yaratish uchun siz CREATE TABLE
operatoridan foydalanasiz. Quyida CREATE TABLE
iborasining asosiy sintaksisi tasvirlangan:
Ushbu sintaksisda:
Birinchidan,
CREATE TABLE
kalit so'zlaridan keyin jadval nomini belgilang.Ikkinchidan, allaqachon mavjud bo'lgan jadvalni yaratish xatolikka olib keladi.
IF NOT EXISTS
opsiyasi yangi jadval mavjud bo'lmasagina yaratish imkonini beradi.IF NOT EXISTS
opsiyasidan foydalansangiz va jadval allaqachon mavjud bo'lsa, PostgreSQL xato o'rniga bildirishnoma chiqaradi va yangi jadval yaratishni o'tkazib yuboradi.Uchinchidan, jadval ustunlarining vergul bilan ajratilgan ro'yxatini belgilang. Har bir ustun ustun nomidan, ustun saqlaydigan ma'lumotlar turidan, ma'lumotlar uzunligidan va ustun cheklovidan iborat. Ustun cheklovlari ustunda saqlangan ma'lumotlarga rioya qilish kerak bo'lgan qoidalarni belgilaydi. Masalan, null bo'lmagan cheklov ustundagi qiymatlarni NULL bo'lishi mumkin emas. Ustun cheklovlari null emas, noyob, asosiy kalit, chek, tashqi kalit cheklovlarini o'z ichiga oladi.
Nihoyat, asosiy kalit, tashqi kalit va cheklashlarni tekshirish kabi jadval cheklovlarini belgilang.
E'tibor bering, ba'zi jadval cheklovlari asosiy kalit, tashqi kalit, chek, noyob cheklovlar kabi ustun cheklovlari sifatida belgilanishi mumkin.
Cheklovlar
PostgreSQL quyidagi ustun cheklovlarini o'z ichiga oladi:
NOT NULL
- ustundagi qiymatlarNULL
boʻlmasligini taʼminlaydi.UNIQUE
- bitta jadval ichidagi satrlar bo'ylab yagona ustundagi qiymatlarni ta'minlaydi.PRIMARY KEY
- jadvaldagi satrlarni yagona aniqlovchi asosiy kalit ustuni. Jadvalda bitta va faqat bitta asosiy kalit bo'lishi mumkin. Asosiy kalit cheklovi jadvalning asosiy kalitini aniqlash imkonini beradi.CHECK
-CHECK
cheklovi ma'lumotlarning mantiqiy ifodani qondirishini ta'minlaydi.FOREIGN KEY
- ustundagi qiymatlar yoki jadvaldagi ustunlar guruhi boshqa jadvaldagi ustunlar yoki ustunlar guruhida mavjudligini ta'minlaydi. Birlamchi kalitdan farqli o'laroq, jadvalda ko'plab xorijiy kalitlar bo'lishi mumkin.
Jadval cheklovlari ustun cheklovlariga o'xshaydi, faqat ular bir nechta ustunlarga qo'llaniladi.
PostgreSQL CREATE TABLE misollari
Biz quyidagi ustunlarga ega accounts
deb nomlangan yangi jadval yaratamiz:
user_id
- primary keyusername
- unique va not nullpassword
- not nullemail
- unique va not nullcreated_on
- not nulllast_login
- null
Quyidagi bayonot accounts
jadvalini yaratadi:
Quyidagi bayonot ikkita ustundan iborat roles
jadvalini yaratadi: role_id
va role_name
:
Quyidagi bayonot uchta ustundan iborat account_roles
jadvalini yaratadi: user_id
, role_id
va grant_date
.
account_roles
jadvalining asosiy kaliti ikkita ustundan iborat: user_id
va role_id
, shuning uchun biz asosiy kalit cheklovini jadval cheklovi sifatida belgilashimiz kerak.
user_id
ustuni hisoblar jadvalidagi user_id
ustuniga havola qilgani uchun biz user_id
ustuni uchun tashqi kalit cheklovini belgilashimiz kerak:
role_id ustuni rollar jadvalidagi role_id ustuniga havola qiladi, biz role_id ustuni uchun xorijiy kalit cheklovini ham aniqlashimiz kerak.
Quyida accounts
, roles
va account_roles
jadvallari o'rtasidagi munosabat ko'rsatilgan:
Yangi jadval yaratish uchun
CREATE TABLE
iborasidan foydalaning.Agar mavjud bo'lmasa, yangi jadval yaratish uchun
IF NOT EXISTS
opsiyasidan foydalaning.Birlamchi kalitni, tashqi kalitni, null emas, yagona kalitni qo'llang va jadval ustunlariga cheklovlarni tekshiring.
Last updated