Ma'lumotlar bazasini boshqarishni osonlashtiradigan asosiy kalitlar

Ma'lumotlar bazasi tugmalari samarali ma'lumotlar bazasini yaratishning eng oson yo'li

Bilasizmi, ma'lumotlar bazalari ma'lumotni tashkil qilish uchun jadvallardan foydalanadi. (Agar ma'lumotlar bazasi tushunchalari bilan tanish bo'lmasa, Ma'lumotlar bazasi nima? ) Har bir jadval bir nechta satrlardan iborat bo'lib, ularning har biri bitta ma'lumotlar bazasiga yozib qo'yiladi. Shunday qilib, ma'lumotlar bazalari bu yozuvlarning barchasini qanday qilib saqlab turadi? Kalitlarni ishlatish orqali.

Asosiy kalitlar

Biz muhokama qiladigan kalitning birinchi turi - bu asosiy kalit . Har bir ma'lumotlar bazasi jadvali birlamchi kalit sifatida belgilangan bir yoki bir necha ustunga ega bo'lishi kerak. Ushbu tugmachaning qiymati ma'lumotlar bazasidagi har bir yozuv uchun yagona bo'lishi kerak.

Misol uchun, bizning kompaniyamizdagi har bir xodim uchun kadrlar haqida ma'lumotlarni o'z ichiga olgan Xodimlar deb nomlangan jadvalimiz borligini tasavvur qiling. Har bir xodimni aniq belgilaydigan tegishli kalitni tanlashimiz kerak. Sizning birinchi fikringiz xodimning ismini ishlatish bo'lishi mumkin. Bu juda yaxshi ishlamaydi, chunki siz bir xil ismga ega bo'lgan ikkita xodimni ishga olishingiz mumkin. Yaxshiroq tanlov, har bir xodimga yollangan vaqtda tayinlagan noyob xodim identifikator raqamidan foydalanish bo'lishi mumkin. Ba'zi tashkilotlar ushbu vazifani bajarish uchun Ijtimoiy ta'minot raqamlarini (yoki shunga o'xshash hukumat identifikatorlarini) ishlatishni ma'qul ko'radi, chunki har bir xodim allaqachon mavjud va ular noyob bo'lishi kafolatlanadi. Biroq, bu maqsadda aholini ijtimoiy muhofaza qilish raqamlaridan foydalanish maxfiylik masalalari tufayli juda ziddiyatli. (Agar siz hukumat tashkiloti uchun ishlayotgan bo'lsangiz, 1974 yilgi Maxfiylik to'g'risidagi qonunga binoan Ijtimoiy ta'minot raqamini qo'llash ham noqonuniy bo'lishi mumkin). Shuning uchun aksariyat tashkilotlar noyob identifikatorlar (ish beruvchi identifikatori, talaba identifikatori, va hokazo) foydalanishga o'tishgan. .), bu maxfiylik masalalari bilan bo'lishmaydi.

Birlamchi kalitni belgilab, ma'lumotlar bazasini o'rnatganingizdan so'ng, ma'lumotlar bazasini boshqarish tizimi kalitning yagona xususiyatini ta'minlaydi.

Jadvalga mavjud yozuvni ikki nusxadagi birlamchi kalit bilan qo'shishga harakat qilsangiz, kiritma muvaffaqiyatsiz bo'ladi.

Ko'pgina ma'lumotlar bazalari ham o'zlarining asosiy kalitlarini yaratishga qodir. Microsoft Access, masalan, jadvaldagi har bir yozuvga yagona identifikator tayinlash uchun AutoNumber ma'lumot turini ishlatish uchun tuzilishi mumkin. Samarali bo'lsa, bu yomon dizayn amaliyoti, chunki u sizni stoldagi har bir yozuvda ma'nosiz bir qiymat qoldiradi. Nima uchun foydali narsalarni saqlash uchun o'sha joydan foydalanmaslik kerak?

Chet el kalitlari

Boshqa turdagi jadvallar o'rtasidagi aloqalarni yaratish uchun ishlatiladigan chet el kalitidir . Tabiiy munosabatlar ko'pgina ma'lumotlar bazalari tuzilmalari orasida mavjud. Xodimlar ma'lumotlar bazasiga qaytib, ma'lumotlar bazasiga bo'lim ma'lumotlarini o'z ichiga olgan jadvalni qo'shishni xohlayotganimizni tasavvur qiling. Ushbu yangi stol Departments deb atalishi mumkin va butun bo'lim haqida ko'plab ma'lumotlarni o'z ichiga olishi mumkin. Shuningdek, biz xodimlar haqida ma'lumotni o'zlashtirishni istaymiz, lekin ikkala jadvalda ham (xodimlar va bo'limlarda) bir xil ma'lumotlarga ega bo'lishingiz kerak bo'ladi. Buning o'rniga, biz ikkita jadval o'rtasidagi munosabatni yaratishimiz mumkin.

Bo'limlar jadvali Bo'lim nomi ustunini asosiy kalit sifatida ishlatishini taxmin qilamiz. Ikkala jadval orasidagi munosabatlarni yaratish uchun Departament deb nomlangan Xodimlar jadvaliga yangi ustun qo'shamiz. Keyin har bir xodimga tegishli bo'limning nomini to'ldiramiz. Bundan tashqari, xodimlar jadvalidagi bo'lim ustunini bo'limlar jadvaliga havola etadigan chet el kalitini ma'lumotlar bazasini boshqarish tizimiga ma'lum qilamiz.

Ma'lumotlar bazasi, xodimlar jadvalidagi bo'limlar ustunidagi barcha qiymatlar bo'limlar jadvalidagi tegishli yozuvlarga ega bo'lishini ta'minlash orqali ma'lumotlar butunligini ta'minlaydi.

Chet tugmachasiga noyoblik cheklovi mavjud emasligini unutmang. Biz bitta (va, ehtimol, qilamiz), bir bo'linmaga tegishli bo'lgan bir nechta xodimga ega bo'lishimiz mumkin. Xuddi shunday, Departamentlar jadvalidagi yozuvlar Xodimlar jadvalidagi tegishli yozuvga ega bo'lishiga hojat yo'q. Ehtimol, biz xodimlarimiz bo'lmagan bo'limga ega bo'lishimiz mumkin.

Ushbu mavzu haqida batafsilroq ma'lumot olish uchun Chet el kalitlarini yaratish haqida o'qing.