Har bir element uchun relatsion jadvalda noyob ma'lumotlarni qanday saqlash mumkin?
sobes.tech AI
AIdan javob
Relatsiya bazasida yozuvning noyobligi jadvalda asosiy kalit bilan belgilanadi. Har bir satrda (yoki ustunlar to'plamida) asosiy kalit sifatida belgilangan ustunda noyob qiymat bo'lishi kerak. Bu sizga har bir yozuvni aniq identifikatsiya qilish imkonini beradi.
Noyoblikni ta'minlash uchun ba'zi usullar:
-
Avtomatik oshib boradigan asosiy kalit: Eng keng tarqalgan yondashuv. Har bir yangi yozuv uchun avtomatik ravishda oshadigan butun sonli maydon yaratiladi.
CREATE TABLE foydalanuvchilar ( id INTEGER PRIMARY KEY AUTOINCREMENT, // Noyob avtomatik yaratilgan ID foydalanuvchi_nomi TEXT, email TEXT UNIQUE // Email uchun qo'shimcha noyoblik ); -
UUID (Universal Unique Identifier): Agar siz mijozda yoki tarqalgan holda noyob identifikatorlar yaratishingiz kerak bo'lsa, UUID dan foydalanishingiz mumkin.
CREATE TABLE mahsulotlar ( id TEXT PRIMARY KEY, // Matn formatida noyob UUID nomi TEXT, narxi REAL ); -
Tabiiy kalit: Agar noyoblik mavjud ma'lumotlar maydonlari yoki ularning kombinatsiyasi bilan kafolatlangan bo'lsa.
CREATE TABLE Mamlakatlar ( iso_code TEXT PRIMARY KEY, // Mamlakat kodi dunyo bo'ylab noyob nomi TEXT ); -
Kombinatsiyalashgan kalit: Bir nechta ustunlarning kombinatsiyasi bilan yozuvning noyobligini ta'minlash.
CREATE TABLE BuyurtmaTovar ( buyurtma_id INTEGER, tovar_id INTEGER, miqdor INTEGER, PRIMARY KEY (buyurtma_id, tovar_id) // buyurtma_id + tovar_id juftligi noyob );
Usul tanlovi ma'lumotlarni identifikatsiyalash talablariga bog'liq. Muhimi, asosiy kalit bo'lishi kerak.