Normal forma

Vikipediya, azad ensiklopediya
Naviqasiyaya keç Axtarışa keç

Normal forma (ing. Database normalization) — relyasiyalı verilənlər bazasında: informasiyanın strukturlaşdırılması üsulunu müəyyənləşdirən, artıqlığın və uzlaşmamanın olmaması ilə xarakterizə olunan element; informasiyanın səmərəli işlənməsini, saxlanmasını və yenilənməsini təmin edir. [1]Adətən, üç formada istifadə olunur: birinci normal forma (1NF), ikinci normal forma (2NF) və üçüncü normal forma (3NF).

  • Birinci normal forma (1NF)(ən az strukturlaşdırılmış), hər bir sahəsi (sütunu) unikal informasiyadan ibarət olan yazılar qrupudur (məsələn, işçilərin siyahısı). İkinci və üçüncü normal formalar birinciləri ayrı-ayrı cədvəllərə bölür və ardıcıl olaraq sahələr arasında daha incə qarşılıqlı ələqələr müəyyənləşdirir.[2]
  • İkinci normal (2NF) formada ilkin açar sahəsi istisna olmaqla, başqa sahələrin altçoxluğu olan sahələr olmur.
  • Üçüncü normal (3NF)formada açar olmayan sahələr haqqında informasiyaların yerləşdiyi sahələr olmur. Daha mükəmməl normallaşmada Boys-Kodd normal forması (BCNF), dördüncü normal forma (4NF) və birləşmiş proyeksiya – beşinci normal forma (PJ/NF və ya SNF) olur.

Proqramlaşdırmada — normal forma, başqa dillərin sintaksisini təsvir etmək üçün istifadə olunan metadildir. Bəzən Bekus normal forması (Bekus-Naur forması) da adlanır.

1NF-dən (ilk normal forma) kənarda normallaşmanın məqsədləri Kodd tərəfindən aşağıdakı kimi tərtib edilmişdir:

  1. Əlaqələr kolleksiyasını arzuolunmaz əlavələrdən, yeniləmələrdən və asılılıqlardan azad etmək.
  2. Yeni məlumat növləri təqdim olunduqca əlaqələr toplusunun yenidən qurulması ehtiyacını azaldın və beləliklə, tətbiq proqramlarının ömrünü artırmaq.
  3. Əlaqəli modeli istifadəçilər üçün daha informativ etmək.
  4. Münasibətlər toplusunu sorğu statistikası üçün neytrallaşdırın, burada bu statistika zamanla dəyişə bilər.
— E.F. Kodd, "Further Normalisation of the Data Base Relational Model"[3]
  1. "The adoption of a relational model of data ... permits the development of a universal data sub-language based on an applied predicate calculus. A first-order predicate calculus suffices if the collection of relations is in normal form. Such a language would provide a yardstick of linguistic power for all other proposed data languages, and would itself be a strong candidate for embedding (with appropriate syntactic modification) in a variety of host languages (programming, command- or problem-oriented)." Codd, "A Relational Model of Data for Large Shared Data Banks" Arxiv surəti 12 iyun 2007 tarixindən Wayback Machine saytında Arxivləşdirilib iyun 12, 2007, at the Wayback Machine, p. 381
  2. Codd, E.F. Chapter 23, "Serious Flaws in SQL", in The Relational Model for Database Management: Version 2. Addison-Wesley (1990), pp. 371–389
  3. Codd, E.F. "Further Normalisation of the Data Base Relational Model", p. 34
  • İsmayıl Calallı (Sadıqov), “İnformatika terminlərinin izahlı lüğəti”, 2017, “Bakı” nəşriyyatı,

Xarici keçidlər

[redaktə | mənbəni redaktə et]
  • Kent, William. "A Simple Guide to Five Normal Forms in Relational Database Theory". Communications of the ACM. 26 (2). February 1983: 120–125. doi:10.1145/358024.358054.
  • Database Normalization Intro Arxivləşdirilib sentyabr 28, 2011, at the Wayback Machine, Part 2 Arxivləşdirilib iyul 8, 2011, at the Wayback Machine
  • An Introduction to Database Normalization by Mike Hillyer.
  • A tutorial on the first 3 normal forms by Fred Coulson
  • Description of the database normalization basics by Microsoft
  • Normalization in DBMS by Chaitanya (beginnersbook.com)
  • A Step-by-Step Guide to Database Normalization
  • ETNF – Essential tuple normal form Arxivləşdirilib mart 6, 2016, at the Wayback Machine