Primary key
Ushbu qo'llanmada biz sizga asosiy kalit nima ekanligini va SQL bayonotlari orqali PostgreSQL primary key cheklovlarini qanday boshqarishni ko'rsatamiz.
Primary key
(asosiy kalit) - bu jadvaldagi satrni yagona aniqlash uchun ishlatiladigan ustun yoki ustunlar guruhi.
Siz primary keylarni primary key cheklovlar orqali aniqlaysiz. Texnik jihatdan, primary key null
boʻlmagan cheklov va UNIQUE
cheklovning kombinatsiyasi hisoblanadi.
Jadvalda bitta va faqat bitta primary key bo'la oladi. Har bir jadvalga primary keyni qo'shish yaxshi amaliyotdir. Jadvalga primary key qo'shsangiz, PostgreSQL ustunda noyob B-tree indeksini
yoki primary key
ni aniqlash uchun foydalaniladigan ustunlar guruhini yaratadi.
Odatda, biz CREATE TABLE
iborasi yordamida jadval tuzilishini aniqlaganimizda, jadvalga primary keyni qo'shamiz.
Quyidagi bayonot po_headers
nomi bilan xarid buyurtmasi (PO-purchase order) sarlavhalari jadvalini yaratadi.
po_no
- po_headers
jadvalining primary keyi bo'lib, u po_headers
jadvalidagi xarid tartibini noyob tarzda aniqlaydi.
Agar primary key ikki yoki undan ortiq ustundan iborat bo'lsa, siz primary key cheklovini quyidagicha belgilaysiz:
Masalan, quyidagi bayonot xarid buyurtmasi satrlari jadvalini yaratadi, uning primary keyi xarid buyurtmasi raqami ( po_no
) va qator elementi raqami ( item_no
) kombinatsiyasidan iborat.
Agar siz birlamchi kalit cheklovi nomini aniq belgilamasangiz, PostgreSQL primary key chekloviga standart nom tayinlaydi. Odatiy bo'lib, PostgreSQL primary key cheklovi uchun standart nom sifatida table-name_pkey
dan foydalanadi. Ushbu misolda PostgreSQL po_items
jadvali uchun po_items_pkey
nomi bilan primary key cheklovini yaratadi.
Agar siz primary key cheklovi nomini belgilamoqchi boʻlsangiz, CONSTRAINT
bandidan quyidagi tarzda foydalanasiz:
Mavjud jadval tuzilmasini o'zgartirishda primary keyni aniqlash
Mavjud jadval uchun primary keyni aniqlash kamdan-kam uchraydi. Agar buni qilish kerak bo'lsa, primary key cheklovini qo'shish uchun ALTER TABLE
iborasidan foydalanishingiz mumkin.
Quyidagi bayonot hech qanday primary keyni belgilamasdan products
nomli jadval yaratadi.
Siz mahsulotlar
jadvaliga primary key cheklovini qo'shmoqchi bo'lsangiz, quyidagi bayonotni bajarishingiz mumkin:
Mavjud jadvalga avtomatik ravishda oshirilgan primary keyni qanday qo'shish mumkin
Aytaylik, bizda primary keyga ega bo'lmagan vendors
jadvali bor.
Va biz INSERT
iborasi yordamida vendors
jadvaliga bir nechta qatorlarni qo'shamiz:
Qo'shish amalini tekshirish uchun quyidagi SELECT
iborasi yordamida vendors
jadvalidagi ma'lumotlarni so'raymiz:
Endi, agar biz vendors
jadvaliga id
nomli primary keyni qo'shishni istasak va id
maydoni avtomatik ravishda bittaga ko'paytirilsa, biz quyidagi bayonotdan foydalanamiz:
Keling, vendors
jadvalini yana bir bor tekshiramiz.
Primary keyni olib tashlash
Mavjud primary key cheklovini olib tashlash uchun siz quyidagi sintaksis bilan ALTER TABLE
iborasidan ham foydalanasiz.
Masalan, mahsulotlar
jadvalidagi primary keyni olib tashlash uchun siz quyidagi bayonotdan foydalanasiz:
Ushbu qo'llanmada siz CREATE TABLE
va ALTER TABLE
iboralari yordamida primary key cheklovlarini qanday qo'shish va olib tashlashni o'rgandingiz.
Last updated