Birlamchi kalit va noyob kalit oʻrtasidagi farq

Birlamchi kalit va noyob kalit oʻrtasidagi farq
Birlamchi kalit va noyob kalit oʻrtasidagi farq

Video: Birlamchi kalit va noyob kalit oʻrtasidagi farq

Video: Birlamchi kalit va noyob kalit oʻrtasidagi farq
Video: 3-dars. PostgreSql - CREATE TABLE, DROP(jadval yaratish va o'chirish)[NuuHakers] 2024, Iyul
Anonim

Asosiy kalit va noyob kalit

Ma'lumotlar bazasidagi satr yoki qatorlarni aniqlash yoki ularga kirish uchun ishlatilishi mumkin bo'lgan ustun yoki ustunlar to'plami kalit deb ataladi. Noyob kalit - bu relyatsion ma'lumotlar bazalari kontekstida jadvaldagi qatorni yagona aniqlay oladigan kalit. Noyob kalit bitta ustun yoki ustunlar to'plamidan iborat. Birlamchi kalit, shuningdek, satrni noyob tarzda aniqlaydigan jadvaldagi ustunlar birikmasidir. Lekin bu noyob kalitning alohida holati hisoblanadi.

Noyob kalit nima?

Yuqorida aytib o'tilganidek, noyob kalit - bu jadvaldagi satrni noyob tarzda aniqlay oladigan yagona ustun yoki ustunlar to'plami. Shunday qilib, noyob kalit shunday cheklanganki, uning ikkita qiymati teng bo'lmaydi. Muhim xususiyatlardan biri shundaki, noyob kalitlar NOT NULL cheklovini qo'llamaydi. NULL qiymat yo'qligini bildirganligi sababli, agar ikkita satrda ustunda NULL bo'lsa, bu qiymatlar teng degani emas. Noyob kalit sifatida belgilangan ustun ushbu ustunda faqat bitta NULL qiymatiga ruxsat beradi. Keyin bu alohida qatorni noyob tarzda aniqlash uchun ishlatilishi mumkin. Misol uchun, talabalar ma'lumotlarini o'z ichiga olgan jadvalda talaba ID noyob kalit sifatida belgilanishi mumkin. Ikki talabaning bir xil identifikatori bo'lishi mumkin emasligi sababli, u yagona talabani aniqlaydi. Shunday qilib, talaba ID ustuni noyob kalitning barcha xususiyatlarini qondiradi. Ma'lumotlar bazasi dizayniga qarab, jadvalda bir nechta noyob kalit bo'lishi mumkin.

Birlamchi kalit nima?

Birlamchi kalit, shuningdek, relyatsion ma'lumotlar bazasi jadvalidagi qatorni noyob tarzda belgilaydigan ustun yoki ustunlar birikmasidir. Jadvalda ko'pi bilan bitta asosiy kalit bo'lishi mumkin. Birlamchi kalit noaniq NOT NULL cheklovini amalga oshiradi. Shunday qilib, asosiy kalit sifatida belgilangan ustunda NULL qiymatlari bo'lishi mumkin emas. Birlamchi kalit jadvaldagi oddiy atribut bo'lishi mumkin, u ijtimoiy xavfsizlik raqami kabi noyob bo'lishi kafolatlanadi yoki Microsoft SQL Serverdagi Global noyob identifikator (GUID) kabi ma'lumotlar bazasini boshqarish tizimi tomonidan yaratilgan noyob qiymat bo'lishi mumkin. Birlamchi kalitlar ANSI SQL standartidagi PRIMARY KEY cheklovi orqali aniqlanadi. Birlamchi kalitni jadval yaratishda ham aniqlash mumkin. SQL birlamchi kalitni bir yoki bir nechta ustunlardan iborat bo'lishiga imkon beradi va birlamchi kalitga kiritilgan har bir ustun bilvosita NULL EMAS deb belgilanadi. Ammo baʼzi maʼlumotlar bazasini boshqarish tizimlari asosiy kalit ustunlarini NULL EMAS boʻlishini talab qiladi.

Birlamchi kalit va noyob kalit oʻrtasidagi farq

Birlamchi kalit ham, noyob kalit ham jadvaldagi qatorni noyob tarzda aniqlay oladigan bir yoki bir nechta ustunlar boʻlsa-da, ularda bir qancha muhim farqlar mavjud. Eng muhimi, jadval faqat bitta asosiy kalitga ega bo'lishi mumkin, lekin bir nechta noyob kalitlarga ega bo'lishi mumkin. Birlamchi kalitni yagona kalitning maxsus holati deb hisoblash mumkin. Yana bir farq shundaki, birlamchi kalitlar noaniq NO NULL chekloviga ega, noyob kalitda esa bunday cheklov mavjud emas. Shuning uchun, noyob kalit ustunlari NULL qiymatlarni o'z ichiga olishi mumkin yoki bo'lmasligi mumkin, lekin asosiy kalit ustunlari NULL qiymatlarni o'z ichiga olmaydi.

Tavsiya: