Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

ДСнормализация Π‘Π”. Π—Π°Ρ‡Π΅ΠΌ? Когда? Как?

дСнормализация β€” это Π·Π»ΠΎ, ΠΈΠ»ΠΈ просто Π½Π°Π΄ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Π΅Ρ‘ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ?

Π§Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ
Когда Π½ΡƒΠΆΠ½Π° дСнормализация? ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ ΠΈ Π·Π°ΠΏΠ°Ρ…ΠΈ.

Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ распространСнныС ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСнормализация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°.

Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство соСдинСний Ρ‚Π°Π±Π»ΠΈΡ†.
РасчСтныС значСния.

Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ рСсурсов запросы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… производятся ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ слоТныС вычислСния, особСнно ΠΏΡ€ΠΈ использовании Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (Sum, Max ΠΈ Ρ‚.ΠΏ.). Иногда ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ 1-2 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… столбца, содСрТащих часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ (ΠΈ слоТно вычисляСмыС) расчСтныС Π΄Π°Π½Π½Ρ‹Π΅.
ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Π°. Для этого сначала слСдуСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° (ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ «количСство Π΅Π΄ΠΈΠ½ΠΈΡ† ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Β» * Β«Ρ†Π΅Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Β» – скидка). ПослС этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ стоимости ΠΏΠΎ Π·Π°ΠΊΠ°Π·Π°ΠΌ.
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого запроса являСтся достаточно слоТным ΠΈ, Ссли Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… хранятся свСдСния ΠΎ большом количСствС Π·Π°ΠΊΠ°Π·ΠΎΠ², ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ВмСсто выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса ΠΌΠΎΠΆΠ½ΠΎ Π½Π° этапС размСщСния Π·Π°ΠΊΠ°Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ столбцС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°ΠΊΠ°Π·ΠΎΠ². Π’ этом случаС для получСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° достаточно ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ столбца ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ рассчитанныС значСния.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ столбца, содСрТащСго ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ рассчитываСмыС значСния, позволяСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ своСврСмСнного измСнСния Π΄Π°Π½Π½Ρ‹Ρ… Π² этом столбцС.

Π”Π»ΠΈΠ½Π½Ρ‹Π΅ поля.

Если Ρƒ нас Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΡΡ‚ΡŒ большиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, содСрТащиС Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ поля (Blob, Long ΠΈ Ρ‚.ΠΏ.), Ρ‚ΠΎ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΡ‹ смоТСм, Ссли вынСсСм Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ поля Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π₯ΠΎΡ‚ΠΈΠΌ ΠΌΡ‹, скаТСм, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π² Π±Π°Π·Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, Π² Ρ‚ΠΎΠΌ числС Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² blob-полях ΠΈ сами Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ (ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ качСства, с высоким Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°). Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ такая структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹:
ID Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
ID Π°Π²Ρ‚ΠΎΡ€Π°
ID ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ„ΠΎΡ‚ΠΎΠ°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π°
сама фотография (blob-ΠΏΠΎΠ»Π΅).
А сСйчас прСдставим, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ запрос, ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ количСство Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ, сдСланных ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ автором…
ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ (хотя ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ всСго ΠΈΠ· Π΄Π²ΡƒΡ… ΠΏΠΎΠ»Π΅ΠΉ β€” ID Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ blob-ΠΏΠΎΠ»Π΅ с самой Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ. Π’ΠΎΠ³Π΄Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈΠ· основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ blob-поля сСйчас ΡƒΠΆΠ΅ Π½Π΅Ρ‚) Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π½Ρƒ Π° ΠΊΠΎΠ³Π΄Π° Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ саму Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ β€” Ρ‡Ρ‚ΠΎ ΠΆ, подоТдСм…

Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° дСнормализация ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π°?
Π—Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ ΠΈ Π²Ρ‹Π³ΠΎΠ΄Ρ‹.
Частота запросов ΠΈ ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

НапримСр, 70% ΠΈΠ· 1000 запросов, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… прСдприятиСм, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой запросы уровня сводных, Π° Π½Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈ использовании Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сводных Π΄Π°Π½Π½Ρ‹Ρ… запросы Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π·Π° 6 сСкунд вмСсто 4 ΠΌΠΈΠ½ΡƒΡ‚, Ρ‚.Π΅. врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ мСньшС Π½Π° 2730 ΠΌΠΈΠ½ΡƒΡ‚. Π”Π°ΠΆΠ΅ с ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π½Π° Ρ‚Π΅ 105 ΠΌΠΈΠ½ΡƒΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ СТСнСдСльно Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ† сводных Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΈΡ‚ΠΎΠ³Π΅ экономится 2625 ΠΌΠΈΠ½ΡƒΡ‚ Π² нСдСлю, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Π΅Ρ‚ созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сводных Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ запросов Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½Π° Π½Π΅ ΠΊ сводным Π΄Π°Π½Π½Ρ‹ΠΌ, Π° ΠΊ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ. Π§Π΅ΠΌ мСньшС число запросов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ сводных Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡ‚ Π½Π΅Π΅ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Π½Π΅ затрагивая Π΄Ρ€ΡƒΠ³ΠΈΠ΅ процСссы.

ΠŸΡ€ΠΎΡ‡Π΅Π΅

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

Как Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.
Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ возмоТности Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π°ΠΆΠ½Ρ‹Π΅ для бизнСса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ стратСгии сосущСствования, Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½Ρ‹, Ρ‚.Π΅. ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для Π³Π»ΡƒΠ±ΠΈΠ½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ Π½ΠΈΠΌ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ структуры. НапримСр, счётчик посСщСний. Для бизнСса Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ количСство посСщСний Π²Π΅Π±-станицы. Но для Π°Π½Π°Π»ΠΈΠ·Π° (ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°ΠΌ, ΠΏΠΎ странам …) Π½Π°ΠΌ ΠΎΡ‡Π΅Π½ΡŒ вСроятно понадобятся Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ – Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ посСщСнии.

ИспользованиС Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ²

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

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

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

Π—Π°Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½Π° дСнормализация Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΊΠΎΠ³Π΄Π° Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Π’ нашСм Π±Π»ΠΎΠ³Π΅ Π½Π° Π₯Π°Π±Ρ€Π΅ ΠΌΡ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ рассказываСм ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ своСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° β€” Π±ΠΈΠ»Π»ΠΈΠ½Π³Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² связи Β«Π“ΠΈΠ΄Ρ€Π°Β», Π½ΠΎ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с инфраструктурой ΠΈ использовании Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ.

НСдавно ΠΌΡ‹ писали ΠΎΠ± использовании Clojure ΠΈ MongoDB, Π° сСгодня Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎ ΠΏΠ»ΡŽΡΠ°Ρ… ΠΈ минусах Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ финансовый Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ Π­ΠΌΠΈΠ» Π”Ρ€ΠΊΡƒΡˆΠΈΡ‡ (Emil DrkuΕ‘iΔ‡) написал Π² Π±Π»ΠΎΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Vertabelo ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΎ Ρ‚ΠΎΠΌ, Π·Π°Ρ‡Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠœΡ‹ прСдставляСм Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию Π³Π»Π°Π²Π½Ρ‹Π΅ тСзисы этой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация?

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

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

Рассмотрим Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡƒΡŽ модСль для ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ CRM-систСмы:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

ΠŸΡ€ΠΎΠ±Π΅ΠΆΠΈΠΌΡΡ ΠΏΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ здСсь Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ:

Когда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π±Ρ€Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ, СстСствСнно, Π½ΡƒΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π·Π°Ρ‡Π΅ΠΌ это Π½ΡƒΠΆΠ½ΠΎ? Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π³ΠΎΠ΄Π° ΠΎΡ‚ примСнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ послСдствия. Π’ΠΎΡ‚ нСсколько ситуаций, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ стоит Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

НС всС Ρ‚Π°ΠΊ Π³Π»Π°Π΄ΠΊΠΎ

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Π°Ρ Ρ†Π΅Π»ΡŒ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но всСму Π΅ΡΡ‚ΡŒ своя Ρ†Π΅Π½Π°. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½Π° складываСтся ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²:

ДСнормализация Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅

Π’ прСдставлСнной ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π²Ρ‹ΡˆΠ΅ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ΠΈΠ½ΠΈΠΌ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, Ρ€ΠΎΠ·ΠΎΠ²Ρ‹ΠΌ β€” Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Π§Ρ‚ΠΎ измСнилось ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ?

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

ИзмСнСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ product_sold сдСланы ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ сообраТСниям. Π‘ Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π½Π½Ρ‹Ρ… наимСнованиях Ρ‚ΠΎΠ²Π°Ρ€Π°.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

ДСнормализация β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. НС Ρ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊ Π½Π΅ΠΉ слСдуСт ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° стоит Π·Π°Π΄Π°Ρ‡Π° увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Но Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ СдинствСнным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

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

Наш ΠΎΠΏΡ‹Ρ‚

ΠœΡ‹ Π² Π›Π°Ρ‚Π΅Ρ€Π΅ ΠΌΠ½ΠΎΠ³ΠΎ занимаСмся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ нашСй Π±ΠΈΠ»Π»ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ систСмы Β«Π“ΠΈΠ΄Ρ€Π°Β», Ρ‡Ρ‚ΠΎ Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, учитывая ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π½Π°ΡˆΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ спСцифику Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌ-отрасли.

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

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

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, дСнормализация Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ€. Π§Π°ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… стоит ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ нСпосрСдствСнно Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ Ссли ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π² срСднСм ΠΆΠΈΠ²ΡƒΡ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ дольшС, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ сСссии, Π΅ΡΡ‚ΡŒ смысл Π²ΡΠ΅Ρ€ΡŒΠ΅Π· Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ускорСния чтСния.

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

De-normalization in Database Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Introduction Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

We have seen how to design a database and how to have normalized tables in database. The main purpose of having clear design and normalization of tables is to reduce redundancy and to have consistent data in the database. Hence we will have multiple tables in the database and each will be mapped with one another by referential integrity. If we need any related data we would join the related tables and get the records. This will work fine and quick if the database is small and have relatively few records.

But in real world, the database is very huge and it will have lots of records. When we normalize the table, we might not realize about the record amount. We would be concentrating only on having perfect database with less redundancy. But what happens when data grows in the database? How will a smallest request which has to retrieve the data from multiple tables because of normalization perform? The cost of the query will increase drastically. This is because, it will have to join multiple tables to get the data, but these tables are not smaller. They will huge data, and any smallest query on the table will have to traverse the table till it gets the record (although it depends on file organization method).

For example, in our STUDENT database, we have divided, Address into separate table as Door#, Street, City, State, ZIP. Imagine, if we have to show the address of a student in some report, we always have to have join with this address table. Our query will fetch student’s details from STUDENT table. Once it got the records, it will fetch his address from ADDRESS table. Here the two transaction on fetching and hence disk I/O happens. Hence the cost of performance is more.

Instead, imagine what will happen if we have address in the STUDENT table itself? Second transaction above is not all required. The first fetch itself will give student detail as well as his address. So it saves the second fetch time, making the fetch faster. But what happens to redundancy and 3NF here?

As a thumb rule of database design, we should have normalized data so that there should not be any redundancy. But this normalization increases the cost of performance. Comparing the good design and performance of database, performance takes the priority. Any user accessing the database is more interested in quick and correct result than how a database is designed. Hence if we introduce redundancy in the table and if the performance of the query increases, then we can ignore 3NF.

Please click Like if you loved this article?

Denormalization is not only recombining the columns to have redundant data. Denormalization can be any technique with which performance of the normalized table can be increased.

Methods of De-normalization

Adding Redundant columns Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

In this method, only the redundant column which is frequently used in the joins is added to the main table. The other table is retained as it is.

For example, consider EMPLOYEE and DEPT tables. Suppose we have to generate a report where we have to show employee details and his department name. Here we need to have join EMPLOYEE with DEPT to get department name.

But joining the huge EMPLOYEE and DEPT table will affect the performance of the query. But we cannot merge DEPT with EMPLOYEE. At the same time, we need to have a separate DEPT table with many other details, apart from its ID and Name. In this case, what we can do is add the redundant column DEPT_NAME to EMPLOYEE, so that it avoids join with DEPT and thus increasing the performance.

Now no need to join with DEPT to get the department name to get details. But it creates a redundancy of data on DEPT_NAME.

Adding derived columns Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

Suppose we have STUDENT table with student details like his ID, name, address and course. Another table MARKS with his internal marks in different subjects. There is a need to generate a report for individual student in which we need to have his details, total marks and grade. In this case, we have to query STUDENT table, then join the MARKS table to calculate the total of marks in different subjects. Based on the total, we have to decide the grade too in the select query. Then it has to be printed on the report.

Above query will run for each of the student records to calculate total and grade. Imagine how many students will exist and how many times this query will retrieve the data and do calculation? Instead what if we have total and grade stored in the STUDENT table itself? It will reduce join time and the calculation time. Once all the marks are inserted into the MARKS table, we can calculate the total and GRADE for each student and get STUDENT table updated for these columns (we can have trigger on MARKS to update STUDENT table, once marks are inserted). Now if we have to generate the report, simply fire a SELECT query on STUDENT table and print it on report.

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

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

ВсСм ΠΏΡ€ΠΈΠ²Π΅Ρ‚! БСгодня ΠΌΡ‹ с Π’Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрим процСсс Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация, ΠΊΠ°ΠΊ ΠΈ Π·Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ эту Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ дСнормализация Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ… Ρ‚ΠΈΠΏΠ°Ρ… систСм ΠΎΠ½Π° примСняСтся Ρ‡Π°Ρ‰Π΅

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

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСли Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

БСгодня ΠΌΡ‹ с Π’Π°ΠΌΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎΠ± ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ процСссС, Ρ‚.Π΅. ΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ДСнормализация

Π Π°Π½Π΅Π΅ ΠΌΡ‹ выяснили, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… хранятся Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…, ΠΈΠ½Ρ‹ΠΌΠΈ словами, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… – это Π½Π°Π±ΠΎΡ€ Ρ‚Π°Π±Π»ΠΈΡ†.

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

ΠŸΡ€ΠΎΡ‰Π΅ говоря, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сформированныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅Π½Π½ΠΎ это ΠΈ являСтся Ρ†Π΅Π»ΡŒΡŽ проСктирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

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

Π˜Π½Ρ‹ΠΌΠΈ словами, нормализация β€” это Π½Π΅ процСсс Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ привСдСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, нормализация – это Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ², зная ΠΈ слСдуя ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, структура ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΌ отсутствиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π΅Ρ‚ трСбования, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обязывало Π±Ρ‹ нас ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ 5 ΠΈΠ»ΠΈ 6, ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°.

Максимально нормализованная Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… – это плохая Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ….

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нормализация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ 5 ΠΈΠ»ΠΈ 6 Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°ΠΊΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ нСэффСктивна ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Π°, Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ слоТно.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ с Ρ†Π΅Π»ΡŒΡŽ нахоТдСния компромисса ΠΌΠ΅ΠΆΠ΄Ρƒ устранСниСм Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ трСбования Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ±Π΅Π³Π°Ρ‚ΡŒ ΠΊ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚.Π΅. ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌΡƒ процСссу Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ДСнормализация β€” Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ структуры Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² состояниС, Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ трСбованиям Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ДСнормализация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ проводится ΠΏΡƒΡ‚Π΅ΠΌ добавлСния ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ρ‚.Π΅. Ρ‚Π΅Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎ трСбованиям Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

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

Π’Π°ΠΊΠΆΠ΅ дСнормализация проводится ΠΈ Π² процСссС проСктирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎ трСбованиям Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° Π’Ρ‹ Π΅Π΅ Π½Π°ΠΌΠ΅Ρ€Π΅Π½ΠΎ Π½Π΅ выполняСтС, всС ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Ρ‚.Π΅. это удовлСтворяСт Π’Π°ΡˆΠΈΠΌ трСбованиям.

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

БущСствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π’Π°ΠΌ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ достаточно Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΡƒΡ‚ΡŒ Π΅Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ.

Π’Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² соотвСтствии с трСбованиями ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ трСбованиями Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ систСмы, ΠΏΡ€ΠΈ этом Π’Ρ‹ строго ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚Π΅ всС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… практичСски ΠΊ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π² Π’Π°ΡˆΠ΅ΠΌ случаС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, которая ΠΏΠΎ ΠΈΠ΄Π΅Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ. Однако такая вСрсия Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… скорСй всСго Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΈ с Π½Π΅ΠΉ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π·Π°Ρ‚Π΅ΠΌ Π’Ρ‹ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ структуру ΠΈ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡΡΡŒ Π·Π΄Ρ€Π°Π²Ρ‹ΠΌ смыслом выявляСтС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ обязывали Π±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ, Π½Π΅Ρ‚.

И Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π’Ρ‹ выполняСтС Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ, ΠΈ ΠΏΡ€ΠΈ этом ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ процСсс проСктирования Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ процСссом нахоТдСния компромисса ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Ρ‚.Π΅. ΠΌΠ΅ΠΆΠ΄Ρƒ устранСниСм Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

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

ΠžΡ‚ΡΡŽΠ΄Π° ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… – это Π±Π°Π·Π°, которая достаточно Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΈ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ этой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΎΠ½Π° достаточно Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ЕдинствСнноС, слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ 3 Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° являСтся ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π΅ΠΌ компромиссом ΠΌΠ΅ΠΆΠ΄Ρƒ отсутствиСм Π°Π½ΠΎΠΌΠ°Π»ΠΈΠΉ ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, поэтому Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…, находящаяся Π² Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, считаСтся достаточно Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ, ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ всС-Ρ‚Π°ΠΊΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°! Если Вас интСрСсуСт язык SQL, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΈΠ³Ρƒ Β«SQL ΠΊΠΎΠ΄Β» – это ΡΠ°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ языку SQL для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… программистов. Π’ Π½Π΅ΠΉ язык SQL рассматриваСтся ΠΊΠ°ΠΊ стандарт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ послС прочтСния Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с языком SQL Π² любой систСмС управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

На сСгодня это всС, надСюсь, ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±Ρ‹Π» Π’Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ интСрСсСн, ΠΏΠΎΠΊΠ°!

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

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

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

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

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ проСктирования схСм Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… достиТСниС Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ (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 Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *