Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Нормализация Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° β€” Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΊ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для устранСния ΠΈΠ· Π±Π°Π·Ρ‹ избыточности, которая ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ логичСски ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ»ΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ….

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Нормализация Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΎΡ†Π΅ΡΡ прСобразования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π²ΠΈΠ΄Ρƒ, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΌΡƒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ, называСтся Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Нормализация позволяСт ΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ логичСских ΠΈ структурных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… аномалиями Π΄Π°Π½Π½Ρ‹Ρ…. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΊΠΎΠ³Π΄Π° сущСствуСт нСсколько ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅, сущСствуСт риск Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ цСлостности Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π’Π°Π±Π»ΠΈΡ†Π°, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ, Ρ‚.ΠΊ. Π΅Π΅ структура ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² сущСствовании записСй с ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π­Π΄Π³Π°Ρ€ΠΎΠΌ Коддом ΠΏΡ€ΠΈ создании рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π‘Π”. ОсновноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ β€” ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ структуры Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π²ΠΈΠ΄Ρƒ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΌΡƒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. УстранСниС избыточности производится Π·Π° счёт Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ (Ρ‚Π°Π±Π»ΠΈΡ†) Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΊΡ‚Ρ‹, Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΠ²). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, нормализация Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ†Π΅Π»ΡŒΡŽ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΆΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π‘Π”. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ являСтся ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ противорСчивости Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ Π² Π‘Π” ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’ΠΈΠΏΡ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ

Нормализация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, которая прСдставляСт собой ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅.

ΠŸΠ΅Ρ€Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (1NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Ссли ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π΅Ρ‘ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π΅Π½. Под Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Β«Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π΅Π½Β» понимаСтся, Ρ‡Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅ сущСствуСт 1NF Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π² полях ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ списки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Для привСдСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊ 1NF ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ трСбуСтся Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° нСсколько ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π² рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ всСгда находится Π² 1 (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ высокой) Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π΅ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ само ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ понятия ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ 1NF.

Вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (2NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Ссли ΠΎΠ½Π° находится Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈ ΠΏΡ€ΠΈ этом любой Π΅Ρ‘ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π½Π΅ входящий Π² состав ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎ зависит ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ полная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ зависит ΠΎΡ‚ всСго ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ составного ΠΊΠ»ΡŽΡ‡Π°, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ находится Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ зависимости ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· входящих Π² Π½Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²(частСй). Или Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами: Π² 2NF Π½Π΅Ρ‚ Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², зависящих ΠΎΡ‚ части составного ΠΊΠ»ΡŽΡ‡Π° (+ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ условия 1NF).

Π’Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (3NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ (3NF), Ссли ΠΎΠ½Π° находится Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ 2NF ΠΈ ΠΏΡ€ΠΈ этом любой Π΅Π΅ Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° (Primary key, PK) (ΠΈΠ½Π°Ρ‡Π΅ говоря, ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ хранится Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС).

ΠŸΡ€ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ практичСских Π·Π°Π΄Π°Ρ‡ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° являСтся достаточной. ΠŸΡ€ΠΎΡ†Π΅ΡΡ проСктирования рСляционной Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, заканчиваСтся ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΊ 3NF.

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Бойса β€” Кодда (BCNF)

Π­Ρ‚ΠΎ модификация Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… источниках ΠΈΠΌΠ΅Π½Π½ΠΎ 3NF называСтся Ρ„ΠΎΡ€ΠΌΠΎΠΉ Бойса β€” Кодда).

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² BCNF, Ссли ΠΎΠ½Π° находится Π² 3NF, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ зависимости Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΎΡ‚ Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Π’Π°Π±Π»ΠΈΡ†Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² 3NF, Π½ΠΎ Π½Π΅ Π² BCNF, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ случаС: Ссли ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°, Π΅Ρ‰Ρ‘ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. ВсС зависимыС ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Если это условиС Π½Π΅ выполняСтся, для Π½ΠΈΡ… создаётся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ соотвСтствовала BCNF, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅. Π›ΡŽΠ±Π°Ρ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ с СдинствСнным Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ трСбованиям Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, автоматичСски находится Π² BCNF.

ЧСтвёртая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (4NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² 4NF, Ссли ΠΎΠ½Π° находится Π² BCNF ΠΈ Π½Π΅ содСрТит Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Ρ… зависимостСй. ΠœΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Π°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ, ΠΎΠ½Π° сущСствуСт Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° ΠΈΠ· Ρ„Π°ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ содСрТится нСкоторая строка X, слСдуСт, Ρ‡Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сущСствуСт нСкоторая опрСдСлённая строка Y. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ρ‚Π°Π±Π»ΠΈΡ†Π° находится Π² 4NF, Ссли всС Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ зависимости ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ΠŸΡΡ‚Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (5NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² 5NF, Ссли ΠΎΠ½Π° находится Π² 4NF ΠΈ любая многозначная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ соСдинСния Π² Π½Π΅ΠΉ являСтся Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ. ΠŸΡΡ‚Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Π² большСй стСпСни являСтся тСорСтичСским исслСдованиСм ΠΈ практичСски Π½Π΅ примСняСтся ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ связано со ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ опрСдСлСния самого наличия зависимостСй Β«ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΈ β€” соСдинСния», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ зависимости Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сдСлано для всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояний Π‘Π”.

Π”ΠΎΠΌΠ΅Π½Π½ΠΎ-ΠΊΠ»ΡŽΡ‡Π΅Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (DKNF)

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π² Π”ΠšΠΠ€ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½ΠΈ мСнялось β€” Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ потСряСтся, Ссли ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹ всС ограничСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ². Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° слишком общая, Π½ΠΎ ΡΡƒΡ‚ΡŒ Π΅Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… дСйствиях с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π΅Π΅ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π½Π΅ пострадаСт ΠΈ вся нСобходимая информация сохранится. Если Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: нСльзя просто ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ, Ссли с этой ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ΅ΠΉ связаны, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ»Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅Π΅ Π·Π° id ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ этого Ρ‚ΠΎΠ²Π°Ρ€Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ

ШСстая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (6NF)

Π’Π°Π±Π»ΠΈΡ†Π° находится Π² 6NF, Ссли ΠΎΠ½Π° находится Π² 5NF ΠΈ удовлСтворяСт Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ отсутствия Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… зависимостСй. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ 6NF ΠΎΡ‚ΠΎΠΆΠ΄Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ с DKNF.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Бсылки

DDL, SELECT | INSERT | UPDATE | MERGE | DELETE | JOIN | UNION | CREATE | ALTER | DROP
Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ синтаксиса

Π’ΠΈΠΏΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ
Flat file | Deductive | Dimensional | Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ | ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная | Temporal

ПолСзноС

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «ΠΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…» Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… β€” процСсс создания схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ опрСдСлСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ цСлостности. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ проСктирования Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… … ВикипСдия

Нормализация Π‘Π” β€” ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΊ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для устранСния ΠΈΠ· Π±Π°Π·Ρ‹ избыточности, которая ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ логичСски ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ»ΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

Нормализация (значСния) β€” Нормализация (Ρ„Ρ€Π°Π½Ρ†. normalisation упорядочСниС, ΠΎΡ‚ normal ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ, ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ) Нормализация ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‡Π΅Π³ΠΎ Π»ΠΈΠ±ΠΎ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС; ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ вСщСства ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΊ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½ΠΎΠΉ консистСнции ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,… … ВикипСдия

РСляционныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” РСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, основанная Π½Π° рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»ΠΎΠ²ΠΎ «рСляционный» происходит ΠΎΡ‚ Π°Π½Π³Π». relation (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅[1]). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными Π‘Π” ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ рСляционныС Π‘Π£Π‘Π”. ИспользованиС рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… было… … ВикипСдия

РСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… β€” РСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, основанная Π½Π° рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π»ΠΎΠ²ΠΎ «рСляционный» происходит ΠΎΡ‚ Π°Π½Π³Π». relation (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅[1]). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными Π‘Π” ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ рСляционныС Π‘Π£Π‘Π”. ИспользованиС рСляционных баз… … ВикипСдия

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ β€” ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΠ΅ΠΌΠΎΠ΅ ΠΊ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌ Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для устранСния ΠΈΠ· Π±Π°Π·Ρ‹ избыточности, которая ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ логичСски ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ»ΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

РСляционныС Π‘Π” β€” РСляционная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, основанная Π½Π° рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π‘Π»ΠΎΠ²ΠΎ «рСляционный» происходит ΠΎΡ‚ английского Β«relationΒ» (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅[1]). Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСляционными Π‘Π” ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ РСляционныС Π‘Π£Π‘Π”. ИспользованиС рСляционных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… было… … ВикипСдия

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° β€” Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (значСния). ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° свойство ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π² рСляционной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰Π΅Π΅ Π΅Π³ΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния избыточности, ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ приводящСй ΠΊ логичСски ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌβ€¦ … ВикипСдия

Π˜Π·Ρ€Π°ΠΈΠ»ΡŒ β€” Государство Π˜Π·Ρ€Π°ΠΈΠ»ΡŒ, Π² Π—Π°ΠΏ. Азии, Π½Π° вост. ΠΏΠΎΠ±Π΅Ρ€Π΅ΠΆΡŒΠ΅ Π‘Ρ€Π΅Π΄ΠΈΠ·Π΅ΠΌΠ½ΠΎΠ³ΠΎ моря. ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² 1948 Π³. Π½Π° основС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π“Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ АссамблСи ООН ΠΎΡ‚ 29 ноября 1947 Π³. Π’ качСствС названия принято Π½Π°Π·Π²Π°Π½ΠΈΠ΅ СврСйского гос Π²Π°, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² этих… … ГСографичСская энциклопСдия

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΅Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:
Π’ΠΎ всСх ΡΡ‚Π°Ρ‚ΡŒΡΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ ΡƒΡ€ΠΎΠΊΠΎΠ² ΠΏΠΎ SQL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ, основанныС Π½Π° ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°, рСкомСндуСтся ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с описаниСм ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π‘Π”.

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ языка SQL, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π”), Π½ΠΎ для ΠΎΠ±Ρ‰Π΅Π³ΠΎ понимания взаимосвязи Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ Π² систСмС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π°.

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ спроСктирована Π±Π°Π·Π° Π½Π΅Ρ‚ 100% Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Π»ΠΈΠ±ΠΎ Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ бизнСс-процСссам ΠΈ цСлям. Но Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ элСмСнтарныС ΠΏΡ€Π°Π²ΠΈΠ»Π° нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… соблюдСниС сохранит ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π½Π΅Ρ€Π²ΠΎΠ² ΠΈ Π΄Π΅Π½Π΅Π³ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Нормализация Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠΈ структуры хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„ΠΎΡ€ΠΌΠ°ΠΌ (NF). ВсСго Ρ‚Π°ΠΊΠΈΡ… Ρ„ΠΎΡ€ΠΌ сущСствуСт 8, Π½ΠΎ часто достаточным являСтся соблюдСниС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ‚Ρ€Π΅Ρ…. Рассмотрим ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ строится ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Β«Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹, Ссли Π±Ρ‹Π»ΠΎ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ сСйчас».

ΠŸΠ΅Ρ€Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ являСтся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ нСдСлимости значСния Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΠΎΠ»Π΅ (столбцС) строки – Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Рассмотрим Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сотрудников ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ_Π›ΠΈΠ½ΠΈΠΈΒ», ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ сотрудников для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ пСрСчня Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ столбцС:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Но подобная структура Π½Π΅ являСтся Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ сотрудникам ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ. ΠŸΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ΡΡ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π±ΠΎΡ€ составного поля, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ id сотрудника Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π»ΠΈΠ½ΠΈΠΉ, Π·Π°Ρ‚Π΅ΠΌ ΡΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ слишком слоТный ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΉ процСсс для Ρ‚Π°ΠΊΠΎΠΉ простой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ структуры Ρ‚Π°Π±Π»ΠΈΡ† с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ избавляСт ΠΎΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Помимо атомарности ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ относятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°:

Вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°

УсловиСм этой Ρ„ΠΎΡ€ΠΌΡ‹ являСтся отсутствиС зависимости Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚ части составного ΠΊΠ»ΡŽΡ‡Π°.

Π’Π°ΠΊ ΠΊΠ°ΠΊ составной ΠΊΠ»ΡŽΡ‡ Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π±Π°Π·Π΅ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΈ_Π›ΠΈΠ½ΠΈΠΈΒ», Ρ‚ΠΎ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π½Π΅ΠΉ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

На прСдставлСнной Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ столбцы описания ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° зависят ΠΎΡ‚ столбца «Линия», входящСго Π² составной ΠΊΠ»ΡŽΡ‡. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Π½Ρ‹ΠΌ сотрудникам, потрСбуСтся ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ описаниС ΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ. Подобная структура ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ избыточности Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ Π²Π΅Π»ΠΈΠΊΠ° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ возникновСния ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ИзмСняя ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΈΠ»ΠΈ описаниС для Π»ΠΈΠ½ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ ошибкС ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строки Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π»ΠΈΠ½ΠΈΠΈ значСния зависимых ΠΏΠΎΠ»Π΅ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ.

Если ΡΠΎΠ±Π»ΡŽΠ΄Π΅Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚ΠΎ созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Β«Π›ΠΈΠ½ΠΈΠΈΒ» ΠΈ пСрСнос Π² Π½Π΅Π΅ зависимых столбцов удовлСтворяСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π’Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°

3NF схоТа ΠΏΠΎ Π»ΠΎΠ³ΠΈΠΊΠ΅ с 2NF, Π½ΠΎ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ. Если 2 Ρ„ΠΎΡ€ΠΌΠ° Π»ΠΈΠΊΠ²ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ зависимости Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚ части ΠΊΠ»ΡŽΡ‡Π°, Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ.

На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сотрудников Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ столбСц Β«Π‘ΡƒΠΏΠ΅Ρ€Π²Π°ΠΉΠ·Π΅Ρ€Β» ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ столбца Β«Π“Ρ€ΡƒΠΏΠΏΠ°Β», Π° это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ значСния поля Π³Ρ€ΡƒΠΏΠΏΡ‹, потрСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля супСрвайзСра.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

ВсС риски, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ рассмотрСны для 2NF, Ρ‚Π°ΠΊ ΠΆΠ΅ относятся ΠΊ 3NF ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ пСрСносом зависимых ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

ДСнормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ВСория Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π½Π΅ всСгда ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. НапримСр, Π½Π΅Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ значСния Π½Π΅ всСгда ΡΠ²Π»ΡΡŽΡ‚ΡΡ Β«Π·Π»ΠΎΠΌΒ», Π° ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Бвязано это с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объСдинСния (ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π°Ρ‚Ρ€Π°Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы) ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запросов, особСнно ΠΊΠΎΠ³Π΄Π° производится ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° большого массива ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ, часто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ построСнии Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. Π­Ρ‚ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… являСтся Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, Π½ΠΎ эти ΠΏΡ€Π°Π²ΠΈΠ»Π° сущСствСнно упростят Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΡΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ запросов ΠΈ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ.

Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… – это Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

Как привСсти Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅?

Для привСдСния Π±Π°Π·Ρ‹ ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

БущСствуСт 3 Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ ΠΎΠ΄Π½ΠΎΠΉ ячСйкС ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… SET

Π’Π°Π±Π»ΠΈΡ†Π° прСдставляСт ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ которая Π² Π½Π΅ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, Π·Π°ΠΊΠ°Π·Ρ‹ ΠΈ Ρ‚.Π΄.) ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ имССтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ (ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡) Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ id ΠΈ каТдая Ρ‚Π°Π±Π»ΠΈΡ†Π° состоит ΠΈΠ· наимСньшСго количСства ΠΏΠΎΠ»Π΅ΠΉ.

idnamelanguages
1ИванJava, C++, PHP
2ΠŸΡ‘Ρ‚Ρ€PHP, JavaScript
3ΠœΠΈΡ…Π°ΠΈΠ»C#, JavaScript

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β„–1. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π° Π½Π΅ удачная структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π³Π΄Π΅ Π² ΠΏΠΎΠ»Π΅ languages ΡƒΠΊΠ°Π·Π°Π½ΠΎ пСрСчислСниС.

idnamelanguages1languages2languages3
1ИванJavaC++PHP
2ΠŸΡ‘Ρ‚Ρ€PHPJavaScriptNULL
3ΠœΠΈΡ…Π°ΠΈΠ»C#JavaScriptNULL

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β„–2 Ρ‚ΠΎΠΆΠ΅ Π½Π΅ вСрная структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для поля languages.

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ структура Ρ‚Π°Π±Π»ΠΈΡ† для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ:

idnamelanguages
1ИванJava, C++, PHP
2ΠŸΡ‘Ρ‚Ρ€PHP, JavaScript
3ΠœΠΈΡ…Π°ΠΈΠ»C#, JavaScript

Π’Π°Π±Π»ΠΈΡ†Π° языков программирования

idlanguage
1Java
2PHP
3C#
4JavaScript
5Java

Π’Π°Π±Π»ΠΈΡ†Π° связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ языками программирования

idlanguage_iduser_id
121
211
351
412

Поля с Π½Π΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ зависимы ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°.

idmakemodel
1bmwX5
2bmwX6
3audiA4
4audiQ5
5toyotacorolla

Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β„–4 ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ°Ρ€ΠΎΠΊ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ (Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹). ВрСбуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° нСсколько Ρ‚Π°Π±Π»ΠΈΡ† ΠΊΠ°ΠΊ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β„–3. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд созданиС Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† каТСтся Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½Ρ‹ΠΌ Ρ‡Π΅ΠΌ рСализация Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ β„–4, Π½ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΊΠΎΠ³Π΄Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° состоит всСго ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк.

Π’Π°Π±Π»ΠΈΡ†Π° Ρ†Π΅Π½ ΠΈ Ρ†Π΅Π½ с НДБ

idpriceprice_nds
111001243
29501074

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ†Π΅Π½Ρƒ с НДБ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· поля price, Ρ‚ΠΎ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° язык программирования.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Нормализация ΠΈ дСнормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация информатикаНормализация схСмы рСляционной Π‘Π” ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сущСствСнноС влияниС Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π° всС аспСкты взаимодСйствия с Π‘Π”: ΠΎΡ‚ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π° ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ структур ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запросов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ рядС случаСв структуры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹, Ρ‡Ρ‚ΠΎ созвучно с Π΄Ρ€ΡƒΠ³ΠΈΠΌ словом Β«Π΄Π΅ΠΌΠΎΡ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹Β». Однако, слСдуСт Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, с ΠΊΠ°ΠΊΠΎΠΉ Ρ†Π΅Π»ΡŒΡŽ это Π±Ρ‹Π»ΠΎ сдСлано ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ сСбС ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΎ послСдствиях. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ ΠΆΠ΅ случаС бСзопаснСС всСго ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ простого ΠΏΡ€Π°Π²ΠΈΠ»Π°:

Нормализация β€” Π½Π΅ Π΄ΠΎΠ³ΠΌΠ°, Π½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‘ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ, Π½ΡƒΠΆΠ½Ρ‹ основания

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ проСктирования схСм Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… достиТСниС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (3НЀ) считаСтся достаточным условиСм для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° случаСв.

ΠŸΠ΅Ρ€Π²Π°Ρ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (1НЀ) выполняСтся, Ссли всС значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (Ρ‡ΠΈΡ‚Π°ΠΉ, ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹) Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅Π΄Π΅Π»ΠΈΠΌΡ‹.

БобствСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π‘Π£Π‘Π” ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹ΠΌΠΈ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ массивы, Π² Ρ‚ΠΎΠΌ числС ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ (тСкстовыС) ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ взгляда со стороны ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ контСкста. НапримСр, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π° содСрТится Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρƒ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠ½ раздСляСтся Π½Π° Π½ΠΎΠΌΠ΅Ρ€Π° АВБ, ΡˆΠ»Π΅ΠΉΡ„ΠΎΠ² ΠΈ Ρ‚.ΠΏ. Колонки для хранСния ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ отчасти Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ атомарности.

По этой ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π½Π΅ стоит Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ†Π΅Π»ΡƒΡŽ ΠΈ Π΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ части Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠ°Ρ€Ρƒ Β«Π΄Π°Ρ‚Π°-врСмя»: дальнСйшая дСтализация Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ области, Π³Π΄Π΅ ΠΎΠ½ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΌΡ‹ Π½Π°Ρ€ΡƒΡˆΠΈΠ»ΠΈ 1НЀ ΠΈ стали Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΈ отчСства ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. Пока ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вносили ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, эта ошибка проСктирования особСнно Π½Π΅ мСшала, Однако, Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ этапС понадобилась ΠΎΡ‚Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ЀИО ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π±Ρ‹ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΌΠΈΠ»ΠΈΠΈ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΎΠ². Оказалось, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ записи вмСсто Β«Π‘ΠΈΠ΄ΠΎΡ€ΠΎΠ² ΠŸΠ΅Ρ‚Ρ€ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡Β» содСрТат Β«ΠŸΠ΅Ρ‚Ρ€ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡ Π‘ΠΈΠ΄ΠΎΡ€ΠΎΠ²Β», Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… отчСства Π½Π΅Ρ‚ вовсС, Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ… фамилия двойная ΠΈ Π½Π΅ всСгда записана Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΈΡ€Π΅, Π² Ρ‡Π΅Ρ‚Π²Ρ‘Ρ€Ρ‚Ρ‹Ρ… послС Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ расставлСны запятыС. Π­Ρ‚Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ совсСм Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ с элСмСнтами распознавания ΠΏΠΎ ΡΠ»ΠΎΠ²Π°Ρ€ΡŽ. Π‘Ρ‹Π»ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ срСдств, Π½ΠΎ Π² отчётности Π½Π΅Ρ‚-Π½Π΅Ρ‚ Π΄Π° ΠΈ проскакивали нСпонятныС значСния Ρ‚ΠΈΠΏΠ° Β«ΠžΠ³Π»Ρ‹ П.Π‘.Π‘.Β».

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊ этому ΡƒΡ‡Ρ‘Ρ‚Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²- иностранцСв, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² логичСской схСмы Π‘Π” Π½Π΅ спасла Π±Ρ‹ ΠΈ Π±ΠΎΠ»Π΅Π΅ структурированная Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ хранСния Ρ„Π°ΠΌΠΈΠ»ΠΈΠΉ, ΠΈΠΌΡ‘Π½ ΠΈ отчСств. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° уровня ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ проСктирования ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ синтСз Π½Π΅ привязанной ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… структуры, способной Π²ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² сСбя ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΈΠΌΡ‘Π½ людСй Ρ€Π°Π·Π½Ρ‹Ρ… стран ΠΈ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€.

Вторая Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (2НЀ) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ трСбования 1НЀ, ΠΏΡ€ΠΈ этом всС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ зависят ΠΎΡ‚ составного ΠΊΠ»ΡŽΡ‡Π° ΠΈ Π½Π΅ зависят Π½ΠΈ ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠΉ Π΅Π³ΠΎ части.

На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд каТСтся, Ρ‡Ρ‚ΠΎ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ 2НЀ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‡Π°Ρ‰Π΅ всСго Π² качСствС ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ цСлочислСнныС значСния ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ суррогаты для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ссылок. Однако, Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ говорится ΠΎ ΠΊΠ»ΡŽΡ‡Π°Ρ… Π²ΠΎΠΎΠ±Ρ‰Π΅, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСсколько ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ составными. Π’Π°ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ слСдуСт ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Ассоциативная Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ связи с двумя ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

НапримСр, Ссли каТдая опСрация сбыта мСбСльной ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ†ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ характСризуСтся ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ‚ΠΎΠ²Π°Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π΄Π°Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ покупатСля, Ρ‚ΠΎ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ столбца Β«Π’ΠΈΠΏ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Β», зависящСго нСпосрСдствСнно ΠΎΡ‚ Ρ‚ΠΎΠ²Π°Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡ΡŒ вашС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.

Аномалия Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ избыточности хранСния Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠΏΠΎΠΌΠ½ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° число строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° индСксов). Но Ссли Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ обнаруТится Π΅Ρ‰Ρ‘ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Β«ΠšΠΎΠ½Ρ‚Π°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Β», присущая Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΠΊΠ΅ покупатСля, Ρ‚ΠΎ послСдствия окаТутся Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹ΠΌΠΈ. ΠšΡ€ΠΎΠΌΠ΅ избыточности хранСния ΠΏΡ€ΠΈ ошибкС Π²Π²ΠΎΠ΄Π° придётся ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π²ΠΎ всСх записях ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŽ.

ΠšΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, с ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΈ эти ΠΊΠ»ΡŽΡ‡ΠΈ присущими Π΄Π°Π½Π½ΠΎΠΉ сущности ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠ½ΠΈ ΡΡƒΡ‚ΡŒ внСшниС ΠΊΠ»ΡŽΡ‡ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сущности, ΠΏΠΎΠΊΠ° Π΅Ρ‰Ρ‘ Π½Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² процСссС проСктирования.

Π’Ρ€Π΅Ρ‚ΡŒΡ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° (3НЀ) ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ трСбования 2НЀ, ΠΏΡ€ΠΈ этом Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π½Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΈΠ²Π½Ρ‹Ρ… зависимостСй.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ транзитивная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠ΅ΠΉΡΡ Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆ β€” Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ассоциативной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΠ²Π°Ρ€Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ своим основаниСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (Π·Π°ΠΊΠ°Π·, счёт ΠΈ Ρ‚.Π΄.), Π° Π΅Ρ‘ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ характСризуСтся Ρ†Π΅Π½ΠΎΠΉ, количСством ΠΈ Π²Π°Π»ΡŽΡ‚ΠΎΠΉ. Π’ этом случаС ΠΈΠΌΠ΅Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ (ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ):

Π­Ρ‚ΠΈ зависимости Ρ‚Ρ€Π°Π½Π·ΠΈΡ‚ΠΈΠ²Π½Ρ‹: каТдая ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ° ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ опрСдСляСт свой Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚-основаниС ΠΈ Ρ€Π°ΡΡ‡Ρ‘Ρ‚Π½ΡƒΡŽ Π²Π°Π»ΡŽΡ‚Ρƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²Π°Π»ΡŽΡ‚Π° опрСдСляСтся Π΅Ρ‰Ρ‘ ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ 3НЀ являСтся ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ хранСния ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ обновлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² связанной Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Π’Π°ΠΊ, Ссли Π²Ρ‹ оставитС ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ «Код Π²Π°Π»ΡŽΡ‚Ρ‹Β» Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΎΠ΄Π°ΠΆ, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π²Π°Π»ΡŽΡ‚Ρ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° придётся Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ всС связанныС с Π½ΠΈΠΌ строки ΠΏΡ€ΠΎΠ΄Π°ΠΆ.

ДСмормализация Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…: Β«Π·Π²Π΅Π·Π΄Π°Β» ΠΈ «снСТинка»

Как ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², основными цСлями Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Но список заявлСнных Ρ†Π΅Π»Π΅ΠΉ касаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ….

Π’ прилоТСниях ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ аналитичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ мСняСтся: Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° систСмы, Π² ΡƒΡ‰Π΅Ρ€Π± ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹.

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° дСнормализация?

НаиболСС дорогостоящая с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов опСрация ΠΌΠ΅ΠΆΠ΄Ρƒ большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ β€” соСдинСниС. БоотвСтствСнно, Ссли Π² ΠΎΠ΄Π½ΠΎΠΌ запросС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Β«ΠΏΡ€ΠΎΠ²Π΅Π½Ρ‚ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» нСсколько Ρ‚Π°Π±Π»ΠΈΡ†, состоящих ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Ρ‚ΠΎ Π‘Π£Π‘Π” ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° Ρ‚Π°ΠΊΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π² это врСмя ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠΉΡ‚ΠΈ Π²Ρ‹ΠΏΠΈΡ‚ΡŒ ΠΊΠΎΡ„Π΅. Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ практичСски исчСзаСт ΠΈ приблиТаСтся ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ. Π”Π°ΠΆΠ΅ Ρ…ΡƒΠΆΠ΅, Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с ΡƒΡ‚Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½Ρ‹Π΅ Π½Π°ΠΊΠ°Π½ΡƒΠ½Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ спокойно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π½ΠΈΠΌΠΈ, подготавливая Π½ΠΎΠ²Ρ‹Π΅ запросы ΠΊ Π²Π΅Ρ‡Π΅Ρ€Ρƒ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ситуации тяТёлых соСдинСний Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΡŽΡ‚. Но Π½Π΅ Π°Π±Ρ‹ ΠΊΠ°ΠΊ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Β«Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈΒ» согласно ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ построСния Ρ‚Π°Π±Π»ΠΈΡ† для Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Ρ… схСм, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ Β«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈΒ» Π² аналитичСской ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π΄Π²Π΅: «снСТинка» ΠΈ Β«Π·Π²Π΅Π·Π΄Π°Β». Названия Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΡΡƒΡ‚ΡŒ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ нСпосрСдствСнно ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ связанных Ρ‚Π°Π±Π»ΠΈΡ†.

Π’ ΠΎΠ±ΠΎΠΈΡ… случаях Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом схСмы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ„Π°ΠΊΡ‚ΠΎΠ², содСрТащиС ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΠ΅ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° события, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ занятныС Π²Π΅Ρ‰ΠΈ. Но Ссли Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π‘Π” ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Β«Ρ€Π°Π·ΠΌΠ°Π·Π°Π½Β» ΠΏΠΎ нСскольким Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ (ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎ Π΄Π²ΡƒΠΌ: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΈ строки-содСрТаниС), Ρ‚ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, Ρ‚ΠΎΡ‡Π½Π΅Π΅, ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ строкС ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Ρƒ сгруппированных строк, соотвСтствуСт ΠΎΠ΄Π½Π° запись. Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π΄Π²ΡƒΡ… Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Рис. 1. ДСнормализация Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Ρ„Π°ΠΊΡ‚ΠΎΠ²

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ, насколько облСгчится для выполнСния Π‘Π£Π‘Π” запрос, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π°: ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ ΠΏΡ€ΠΎΠ΄Π°ΠΆ ΠΌΡƒΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ «ООО ΠŸΠΈΡ€ΠΎΠΆΠΊΠΈΒ» ΠΈ Β«Π—ΠΠž Π’Π°Ρ‚Ρ€ΡƒΡˆΠΊΠΈΒ» Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.

Π’ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π‘Π”:

Π’ аналитичСской Π‘Π”:

ВмСсто тяТёлого соСдинСния ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… состава с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ строк, Π‘Π£Π‘Π” достаётся прямая Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈ Π»Ρ‘Π³ΠΊΠΈΠ΅ соСдинСния с нСбольшими Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ, Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ, зная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹.

ВСрнёмся ΠΊ схСмам Β«Π·Π²Π΅Π·Π΄Π°Β» ΠΈ «снСТинка». Π—Π° ΠΊΠ°Π΄Ρ€ΠΎΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ рисунка ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈΡ… Π³Ρ€ΡƒΠΏΠΏ, ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ², ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² ΠΈ, собствСнно, Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ². ΠŸΡ€ΠΈ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ эти Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ΡΡ измСрСниями, Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Ρ„Π°ΠΊΡ‚ΠΎΠ². Если Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ² ссылаСтся Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹-измСрСния, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ссылки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ измСрСния (измСрСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня ΠΈ Π²Ρ‹ΡˆΠ΅), Ρ‚ΠΎ такая схСма называСтся «снСТинка».

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Рис. 2. Π’Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² схСмС «снСТинка»

Как ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, для запросов, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², приходится Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ соСдинСниС.

Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΠ² запросы ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ„Π°ΠΊΡ‚ΠΎΠ².

Π‘Ρ…Π΅ΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ² ссылаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° измСрСния, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня, называСтся Β«Π·Π²Π΅Π·Π΄Π°Β». Число Ρ‚Π°Π±Π»ΠΈΡ† ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ соотвСтствуСт числу Β«Π»ΡƒΡ‡Π΅ΠΉΒ» Π² Π·Π²Π΅Π·Π΄Π΅.

Π‘Ρ…Π΅ΠΌΠ° Β«Π—Π²Π΅Π·Π΄Π°Β» ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ соСдинСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΎΠ΄Π½ΠΎΠΌ запросС.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ нормализация ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Рис. 3. Π’Π°Π±Π»ΠΈΡ†Π° Ρ„Π°ΠΊΡ‚ΠΎΠ² Π² схСмС Β«Π·Π²Π΅Π·Π΄Π°Β»

ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ стороной Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСгда являСтся ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, ΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π‘Π” ΠΊΠ°ΠΊ Π² случаС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ аналитичСских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ посчитаСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΡƒΡŽ Π΄Π΅Π»ΡŒΡ‚Ρƒ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСобразования «снСТинки» Π² Β«Π·Π²Π΅Π·Π΄ΡƒΒ».

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π‘Π£Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Oracle, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ цСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ схСмы Π‘Π” ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ логичСский Ρ‚ΠΈΠΏ numeric(N), Π³Π΄Π΅ N β€” число Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… разрядов. Π Π°Π·ΠΌΠ΅Ρ€ хранСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ числа рассчитываСтся ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅, ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ физичСскому Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π²Ρ€ΠΎΠ΄Π΅ Β«16Β­Π±ΠΈΡ‚Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅Β» Π½Π° 1-3 Π±Π°ΠΉΡ‚Π°.ПолоТим, Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ содСрТит ΠΎΠΊΠΎΠ»ΠΎ 500 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Π° количСство Π³Ρ€ΡƒΠΏΠΏ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»Π΅ΠΉ порядка 1000. Π’ этом случаС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС Ρ‚ΠΈΠΏΠ° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° id_customer_group ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ (shortint, smallint), Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π΅ 2 Π±Π°ΠΉΡ‚Π°.

Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ наша Π‘Π£Π‘Π” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π²ΡƒΡ…Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ цСлочислСнный Ρ‚ΠΈΠΏ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PostgreSQL, SQL Server, Sybase ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅). Π’ΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ id_customer_group Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΡ€ΠΎΠ΄Π°ΠΆ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΅Ρ‘ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π° 500 000 000 * 2 = 1 000 000 000 Π±Π°ΠΉΡ‚

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *