Verilənlər bazasını Normalləşdirin: İlk Normal Forma

Bu iki sadə qaydalar veritabanınızı normalləşdirməyə kömək edəcəkdir

Birinci Normal Form (1NF) mütəşəkkil verilənlər bazası üçün əsas qaydaları müəyyən edir:

Verilənlər bazasının praktik dizaynını nəzərdən keçirərkən bu qaydalar nə deməkdir? Bu həqiqətən çox sadədir.

1. Çoğaltmayı aradan qaldırın

İlk qayda məlumatları eyni satırdakı bir cədvəldə təkrarlamaq lazım deyildir. Verilənlər bazası cəmiyyəti içərisində bu konsepsiya bir masanın atomizmi olaraq anılır. Bu qaydaya uyğun olan masaların atom olduğu ifadə edilir. Bu prinsipi klassik bir nümunə ilə tədqiq edək: menecer-subordinasiya əlaqələrini saxlayan bir insan resursları bazası daxilində bir masa. Məsələn, məqsədimiz üçün hər bir menecerin bir və ya bir neçə alt meneceri ola biləcəyi biznes qaydasını tətbiq edəcəyik, hər bir subordinatda yalnız bir idarəçi ola bilər.

Səmimi olaraq, bu məlumatları izləmək üçün siyahı və ya elektron tablo yaratarkən, aşağıdakı sahələri olan bir cədvəl yaratmaq olar:

Bununla belə, 1NF tərəfindən qoyulan ilk qayda xatırlayırıq: Eyni cədvəldə təkrarlanan sütunları aradan qaldırın. Şübhəsiz ki, Subordinate1-Subordinate4 sütunları təkrarlanır. Bir an çəkin və bu ssenaridə qaldırılan problemləri düşünün. Bir menecerin yalnız bir tabeçisi varsa, Subordinate2-Subordinate4 sütunları sadəcə saxlanılan saxlama yeridir (qiymətli məlumat bazası əmtəəsi). Bundan başqa, bir menecerin artıq 4 tabeliyində olan işi təsəvvür edin - başqa bir işçinin üzərinə düşürsə nə olur? Bütün masa quruluşu dəyişiklik tələb edir.

Bu nöqtədə, ikinci bir parlaq fikir adətən verilənlər bazası novices üçün baş verir: Biz birdən çox sütun istəmirik və məlumatların saxlanılması üçün çevik bir məbləğə icazə vermək istəyirik. Buna bənzər bir şey edək:

Subordinatlar sahəsində isə "Mary, Bill, Joe" şəklində bir çox giriş var.

Bu həll daha yaxındır, amma bu da markadan qaçır. Subordinatlar sütunu hələ də təkrarlanan və qeyri-atomikdir. Bir subordinat əlavə etmək və ya aradan qaldırmaq lazım olduqda nə olur? Cədvəlin bütün məzmununu oxumaq və yazmamız lazımdır. Bu vəziyyətdə bu böyük bir şey deyil, amma bir menecerin yüz işçisi var? Həmçinin, gələcək sorgularda məlumat bazasından məlumatların seçilməsi prosesini çətinləşdirir.

1NF-in birinci qayda ilə təmin olunan bir masa:

Bu halda, hər bir subordinat tək girişə malikdir, lakin menecerlər birdən çox girişə malik ola bilər.

2. İbtidai düyməni müəyyənləşdirin

İndi, ikinci qayda nədir: hər sətanı unikal sütunla və ya sütunların dəsti ilə müəyyənləşdirmək ( əsas əsas )? Yuxarıdakı cədvəldə bir göz atın və alt sütunun birincil açar kimi istifadə etməsini təklif edə bilərsiniz. Əslində, alt sütun, iş qaydalarımızın hər subordinatın yalnız bir idarəçiyə sahib olacağını göstərdiyinə görə birincil əsas üçün yaxşı bir namizəddir. Ancaq tablumuzda saxlamaq üçün seçdiyimiz məlumatlar bu ideal həlldən daha az olur. Jim adlı başqa bir işçini işə götürsək nə olar? Onun meneceri-subordinasiya əlaqəsini verilənlər bazasında necə saxlayırıq?

Bir əsas əsas kimi həqiqətən nadir identifikator (məsələn, işçi identifikatoru) istifadə etmək yaxşıdır. Bizim son masa belə görünür:

İndi bizim masa normal normal formada! Normallaşmaq haqqında öyrənməyə davam etmək istəyirsinizsə, bu seriyədə olan digər məqalələri oxuyun: