Π Π°Π±ΠΎΡ‚Π° с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ эффСктивного программирования Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, избСгая Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Однако сама ΠΏΠΎ сСбС пустая Ρ‚Π°Π±Π»ΠΈΡ†Π° бСсполСзна. Π•Ρ‘ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ структуры, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π΅ΠΉ Π·Π°Π΄Π°Π΄ΠΈΡ‚Π΅. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ этапом Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (ΠΏΠΎΠ»Π΅ΠΉ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам выполнСния ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ добавлСния ΠΏΠΎΠ»Π΅ΠΉ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ происходит Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈΠ’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ этому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· свойство Колонки самой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. БущСствуСт Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ наполнСнию структуры: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈ массовоС созданиС Ρ‡Π΅Ρ€Π΅Π· конструктор.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ распространСнным. Он позволяСт Π²Π°ΠΌ динамичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру Π² зависимости ΠΎΡ‚ условий выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, пСрСдавая имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ описаниС Ρ‚ΠΈΠΏΠ°. Если Ρ‚ΠΈΠΏ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ явно, систСма присвоит Ρ‚ΠΈΠΏ НСопрСдСлСно, Ρ‡Ρ‚ΠΎ допустимо, Π½ΠΎ Π½Π΅ рСкомСндуСтся для строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания простой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с трСмя полями. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΌΡ‹ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для избСТания нСявных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ:

Π’Π— = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", ОписаниСВипов("БправочникБсылка.НомСнклатура"));

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", ОписаниСВипов("Число"));

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ", ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ† с извСстной, нСизмСняСмой структурой. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ строку описания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ прямо Π² конструктор Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΌ, хотя ΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΏΡ€ΠΈ большом количСствС ΠΏΠΎΠ»Π΅ΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИмСна ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ рСгистрозависимы ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ИмяКолонки), Π½ΠΎ рСгистронСзависимы ΠΏΡ€ΠΈ поискС Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΡΡ‚ΠΈΠ»ΡŒ имСнования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, CamelCase, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π Π°Π±ΠΎΡ‚Π° со слоТными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… Ρ€Π΅Π΄ΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с ΠΎΠ΄Π½ΠΈΠΌ простым Ρ‚ΠΈΠΏΠΎΠΌ. Π§Π°Ρ‰Π΅ всСго трСбуСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². НапримСр, ΠΏΠΎΠ»Π΅ "Π‘ΡƒΠΌΠΌΠ°" ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ пустым (Null). Для Ρ‚Π°ΠΊΠΈΡ… случаСв ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ОписаниСВипов.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ОписаниСВипов позволяСт ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ допустимыС Ρ‚ΠΈΠΏΡ‹ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ Π² строковом Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ массив Ρ‚ΠΈΠΏΠΎΠ². Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΈ записи Π² ячСйку. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Π½Π΅ поддСрТиваСтся.

Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, которая Ρ…Ρ€Π°Π½ΠΈΡ‚ ссылку Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π° ΠΈΠ»ΠΈ строку с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ, Ссли ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½. Код Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ОписВипа = Новый ОписаниСВипов("БправочникБсылка.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹, Π‘Ρ‚Ρ€ΠΎΠΊΠ°");

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€", ОписВипа);

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

  • πŸ“Š Для числовых Ρ‚ΠΈΠΏΠΎΠ² всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ допустимый Π·Π½Π°ΠΊ (ΠžΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π›ΡŽΠ±ΠΎΠΉ), Ссли Π»ΠΎΠ³ΠΈΠΊΠ° бизнСс-процСсса это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚.
  • πŸ“ ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ строк Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΌΠΈ ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π°ΡΡ…ΠΎΠ΄ΠΎΠ²Π°Ρ‚ΡŒ лишнюю ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ”— ΠŸΡ€ΠΈ использовании составных Ρ‚ΠΈΠΏΠΎΠ² ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС пСрСчислСнныС Ρ‚ΠΈΠΏΡ‹ совмСстимы с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ описания Ρ‚ΠΈΠΏΠΎΠ² ΠΈΠ· ΠΎΠ±Ρ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ссли Π² вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ принята Сдиная систСма Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ для стандартных ΠΏΠΎΠ»Π΅ΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ "ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ" ΠΈΠ»ΠΈ "Π‘ΡƒΠΌΠΌΠ°".

ВычисляСмыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ выраТСния

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

Для создания Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ пСрСдаСтся Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ β€” Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ записываСтся Π² Π²ΠΈΠ΄Π΅ строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ синтаксис, схоТий с языком запросов 1Π‘. Π’ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

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

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°", ОписаниСВипов("Число"), "Π¦Π΅Π½Π° * ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ");

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ любом ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ полю Π‘ΡƒΠΌΠΌΠ° систСма автоматичСски ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ значСния ΠΏΠΎΠ»Π΅ΠΉ Π¦Π΅Π½Π° ΠΈ ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки. Π­Ρ‚ΠΎ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ сортировкС ΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ вычисляСмоС ΠΏΠΎΠ»Π΅ Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ВычисляСмыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для записи Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΌΡƒ полю Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния. Они ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для чтСния ΠΈ отобраТСния рассчитанных Π²Π΅Π»ΠΈΡ‡ΠΈΠ½.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ вычисляСмых ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

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

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Ρ‚ΡƒΠ΄Π° Π½ΠΎΠ²Ρ‹Π΅ поля ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Ρ‚ΠΈΠΏΡ‹ старых. ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ пСрСносит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структуру, Π½ΠΎ Π½Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† для слоТных Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сработаСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Π½ΠΎ Π²ΠΎ всСх ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… строках Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ НСопрСдСлСно (ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ‚ΠΈΠΏΠ°). Π’Π°ΠΌ придСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ячСйки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Рассмотрим Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ сравнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ со структурой:

ДСйствиС ΠœΠ΅Ρ‚ΠΎΠ΄ ВлияниС Π½Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Π”Π°Π½Π½Ρ‹Π΅ Π² Π½ΠΎΠ²Ρ‹Ρ… ячСйках пустыС Высокая
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ() Π”Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠžΡ‡Π΅Π½ΡŒ высокая
ИзмСнСниС Ρ‚ΠΈΠΏΠ° НС поддСрТиваСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ВрСбуСтся пСрСсозданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Низкая
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() Π”Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ БрСдняя

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΡƒΠΆΠ΅ созданной ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Если бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»ΠΎ Число, стало Π‘Ρ‚Ρ€ΠΎΠΊΠ°), Π²Π°ΠΌ придСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Π΅Ρ‘ структуру с измСнСниями, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСнСсти Π΄Π°Π½Π½Ρ‹Π΅, выполняя явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ².

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ создания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π² Π½ΠΎΠ²ΠΎΠΌ
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π’Π—
ВычисляСмыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Поиск ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с динамичСскими структурами, ΠΊΠΎΠ³Π΄Π° состав ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, критичСски Π²Π°ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. ΠœΠ΅Ρ‚ΠΎΠ΄ Найти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠšΠΎΠ»ΠΎΠ½ΠΊΠΈΠ’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ НСопрСдСлСно, Ссли ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного получСния значСния:

ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°Π‘ΡƒΠΌΠΌΠ° = Π’Π—.Колонки.Найти("Π‘ΡƒΠΌΠΌΠ°");

Если ΠšΠΎΠ»ΠΎΠ½ΠΊΠ°Π‘ΡƒΠΌΠΌΠ° <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π‘ΡƒΠΌΠΌΠ°Π˜Ρ‚ΠΎΠ³ΠΎ = Π’Π—.Π˜Ρ‚ΠΎΠ³("Π‘ΡƒΠΌΠΌΠ°");

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ. Π₯отя ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ ΡƒΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚, всСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с синтаксис-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ использовании Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

πŸ’‘

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Найти() ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ β€” ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ качСствСнного ΠΈ отказоустойчивого ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ оптимизация

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ошибка β€” использованиС Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π±Π΅Π· ограничСния Π΄Π»ΠΈΠ½Ρ‹ для всСх подряд ΠΏΠΎΠ»Π΅ΠΉ. Π­Ρ‚ΠΎ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π΅Ρ‚ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΉ памяти. Если Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ΄ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 20 символов), ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ это Π² описании Ρ‚ΠΈΠΏΠ°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° основС этих подсказок.

Для очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ с сохранСниСм структуры, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). Если ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈ структуру Ρ‚ΠΎΠΆΠ΅, Π²Ρ‹Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Колонки.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). ПониманиС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ этими ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ создания Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

  • πŸš€ Никогда Π½Π΅ мСняйтС структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ) Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ±Ρ…ΠΎΠ΄Π° строк.
  • πŸ’Ύ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ Π₯ранилищСЗначСния для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 1Π‘ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Найти() ΠΏΠ΅Ρ€Π΅Π΄ использованиСм, Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· внСшнСго источника.
МоТно Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, которая ΡƒΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ?

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

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСсовмСстимого Ρ‚ΠΈΠΏΠ°?

БистСма выдаст ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния "ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ значСния ΠΊ Ρ‚ΠΈΠΏΡƒ Π½Π΅ поддСрТиваСтся". Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ составляСт случай, ΠΊΠΎΠ³Π΄Π° Π² описании Ρ‚ΠΈΠΏΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ явно ΡƒΠΊΠ°Π·Π°Π½ составной Ρ‚ΠΈΠΏ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ записываСмого значСния.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Для удалСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Π—.Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИмяКолонки) ΠΈΠ»ΠΈ Π’Π—.Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс). ВсС Π΄Π°Π½Π½Ρ‹Π΅, содСрТащиСся Π² этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅, Π±ΡƒΠ΄ΡƒΡ‚ Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ РСгистромНакоплСния?

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

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Π°Π±Π»ΠΈΡ†ΡƒΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ внСшнСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

Π”Π°, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся сСриализуСмым Ρ‚ΠΈΠΏΠΎΠΌ. Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²ΠΎ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ XML/JSON послС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.