Xarici bir açar bir bütün dünyaya qapı açır
Verilənlər bazalarının inkişaf etdirilməsi zamanı verilənlər bazası dizaynları açarlardan geniş istifadə edirlər. Bu düymələrin ən yaygınları arasında əsas düymələr və xarici düymələr var. Bir verilənlər bazası xarici düyməsidir, başqa cədvəlin əsas sütunu ilə əlaqəli olan relational table bir sahədir. Xarici bir əsasın necə işlədiyini anlamaq üçün, bir əlaqəli məlumat bazasının fikrinə daha çox nəzər salaq.
Rəqəmsal məlumat bazalarının bəzi əsasları
İlişkisel verilənlər bazasında data satır və sütunları olan masalarda saxlanılır və asanlıqla axtarış etməyə və manipulyasiya etməyə imkan verir. Rahatlıq bazasının konsepsiyasının arxasında ciddi bir matematik var (EF tərəfindən təklif olunan əlaqəli cəbr
1970-ci ildə IBM-də Codd), lakin bu, bu məqalənin mövzusu deyil.
Praktiki məqsədlər üçün (və qeyri-riyaziyyatçıları) əlaqəli verilənlər bazası satır və sütunlarda "əlaqədar" məlumatları saxlayır. Bundan əlavə, maraqlı bir çox verilənlər bazası hazırlanır və burada bir cədvəldə verilən məlumatlar başqa cədvəldə verilə biləcək şəkildə tərtib edilir. Cədvəllər arasında əlaqələr yaratmaq qabiliyyəti relational bazasının real gücüdür.
Xarici Keys istifadə
Çox masalar, xüsusilə böyük, mürəkkəb verilənlər bazalarında olanlar, birincil açarlara malikdir. Digər masalara daxil olmaq üçün nəzərdə tutulmuş masalar da xarici bir anahtara malik olmalıdır.
Ümumi olaraq istinad edilən Northwinds verilənlər bazasını istifadə etmək üçün, burada məhsulun cədvəlindən alınmış bir nəticə alınır:
ProductID | ProductName | CategoryID | QuantityPerU | Vahid qiymət |
---|---|---|---|---|
1 | Chai | 1 | 10 qutu x 20 çanta | 18.00 |
2 | Chang | 1 | 24 - 12 oz şüşə | 19.00 |
3 | Anisid siropu | 2 | 12 - 550 ml şüşə | 10.00 |
4 | Şef Antonın Cajun Dekorasiyası | 2 | 48 - 6 oz kavanoz | 22.00 |
5 | Chef Anton'un Gumbo Mix | 2 | 36 qutu | 21.35 |
6 | Büyükanne'nın Boysenberry Spread | 2 | 12 - 8 oz kavanoz | 25.00 |
7 | Uncle Bob'un Üzvi Qurudulmuş Armudları | 7 | 12 - 1 lb pkgs. | 30.00 |
ProductID sütunu bu cədvəlin birincil açarıdır. Hər bir məhsula unikal ID verir.
Bu cədvəldə həmçinin xarici bir əsas sütun, CategoryID var . Məhsulun cədvəlindəki hər bir məhsul, məhsulun kateqoriyasını təyin edən kateqoriyalar cədvəlində bir girişə aiddir.
Bu alıntıyı verilənlər bazasının Kateqoriyalar cədvəlindən qeyd edin:
CategoryID | KateqoriyaName | Təsvir |
---|---|---|
1 | İçkilər | Yumşaq içkilər, qəhvə, çay, pivə və ales |
2 | Tərəvəzlər | Şirin və ləzzətli souslar, relislər, yayılır və zövqlər |
3 | Confections | Tatlılar, şirniyyat və şirniyyat |
5 | Süd məhsulları | Pendirlər |
Sütun CategoryID - bu sütunun əsas nişanəsidir. (Xarici bir əsas yoxdur, çünki başqa bir masaya daxil olmaq lazım deyil.) Məhsul çərçivədəki hər xarici düyməni Kateqoriyalar cədvəlində birincil açarla əlaqələndirir. Məsələn, məhsul Chai'ye "İçki" kateqoriyalı, Aniseed Syrup kateqoriyasında isə Tərəvəzlər kateqoriyasında təyin olunur.
Bu cür əlaqə bir əlaqə bazasında məlumatlardan istifadə etmək və yenidən istifadə etmək üçün çoxsaylı yollar yaradır.