Databazada key turlari: primary, foreign, candidate key
Assalamu Alaykum , bugun databasedagi keylar va ular nima uchun ishlatishi haqida gaplashib o`tamiz . Qani ketdik ;)
Agenda
DBMS dagi keylar nima?
Ular bizga nimaga kerak ?
Turli xil keylar
haqida gaplashib o'tamiz .
DBMS da key — bu bizga relational databasedagi qaysidir unique ma’lumotni yoki ma’lumotlar to'plamini olishga yordam beradigan atribut (maydon) yoki atributlar to'plami .
Keylar bizga nimaga kerak ?
Biz keylar orqali table(jadval)dagi ma’lumotlarni bir-biridan ajratib turadi .
Tablelar orasidagi aloqani o`rnatish uchun.
Masalan odatda har bir tablega yangi malumot qo`shilsa id berish majburiy qilingan buning yordamida biz tableda uniquelikni taminlagan holda malumotlarni shu id orqali olishimiz mumkin.
Keyning turlari
Super key
Super key — bu tableda shunchaki unique qiymatga ega bo'lgan maydonlar yoki maydonlar to'plami .

bu yerdagi super keylar bu :
Emp_SSN 2.Emp_id 3.Emp_email 4.Emp_SSN va Emp_id va hokazo.
Candidate key
Candidate key — bu unique qiymatga ega bo'lgan istalgan maydon.U super keyning bir qismi bo'ladi .Agar super keyning bir qismi bo'lgan key yana super key bo'lolsa u candidate key bo'lolmaydi .
Tepadagi misoldan 1.Emp_SSN 2.Emp_id 3.Emp_email candidate key bo'la oladi .
Primary key
Primary key -bu jadvaldagi unique maydonlardan tanlab olingan candidate keyning biri.Qolgan tanlaymay qolgan ammo unique qiymatga ega maydonlar alternate keylar deyiladi
Masalan biz emailni primary key uchun tanlab olsak Emp_SSN alternate key bo’lib qoladi.
Foreign key
Foreign key — tableni boshqa tablega bog`lash uchun ishlatilinadigan atribut .Foreign key ishlatish ma’lumotlarni yaxlitligini taminlaydi.
Pastdagi misolda PersonId foreign key order va person table boglash uchun ishlatilinmoqda.

Composite key
Composite key — bu keyda bir necha maydonlar bo`lsa .
Masalan tepadagi misolda PersonId va OrderId unique deb olsak birgalikda composite key bo`ladi.
Compound key
Compound key — Agarda composite keyda kamida bitta attribut foreign key bo`lsa .
Tepadagi misolda PersonId foreign key bo`lganligi uchun PersonId va OrderId compound key ham hisoblanadi.
Surrogate key
Surrogate key — Agarda tableda unique key bo'lmasa ,unda uniquelikni hosil qilish uchun qo'shilgan key .U malumotga umuman mano qo'shmaydi.
Masalan odatda bizga keladigan sms tasdiqlash databaseda kod unique bo'lmasligi mumkin va bu yerda tablega id qo'shiladi message_id va bu har bir smsni uniqeligini taminlaydi malumotda esa hech qanaqa mano bermaydi.

Bugungi keylar haqidagi ma’lumotlarimiz shular edi .
E’tiboringiz uchun rahmat !!!
Xato va kamchililar uchun uzr .