Π‘Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ писања ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ° Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°

Π‘Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ писања ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ° Ρƒ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°
Π£ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎΠΌ Π§Π»Π°Π½Π°ΠΊ Описао сам ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ Π±Π°Π·Π΅ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈΠ·Π³Ρ€Π°Ρ’Π΅Π½Π΅ Π½Π° основу Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, Π° Π½Π΅ Π½Π° Ρ‚Π°Π±Π΅Π»Π°ΠΌΠ° ΠΈ ΠΏΠΎΡ™ΠΈΠΌΠ° ΠΊΠ°ΠΎ Ρƒ Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½ΠΈΠΌ Π±Π°Π·Π°ΠΌΠ° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°. Π”Π°Π»ΠΎ јС ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° који ΠΏΠΎΠΊΠ°Π·ΡƒΡ˜Ρƒ прСдности ΠΎΠ²ΠΎΠ³ приступа Ρƒ односу Π½Π° класични. Многи су сматрали Π΄Π° нису Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ ΡƒΠ±Π΅Π΄Ρ™ΠΈΠ²ΠΈ.

Π£ ΠΎΠ²ΠΎΠΌ Ρ‡Π»Π°Π½ΠΊΡƒ Ρ›Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΠΈ ΠΊΠ°ΠΊΠΎ Π²Π°ΠΌ овај ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π±Ρ€Π·ΠΎ ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡ€Π°ΡšΠ΅ ΡƒΠΏΠΈΡΠΈΠ²Π°ΡšΠ° ΠΈ Ρ‡ΠΈΡ‚Π°ΡšΠ° Ρƒ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π±Π΅Π· ΠΈΠΊΠ°ΠΊΠ²ΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡ˜ Π»ΠΎΠ³ΠΈΡ†ΠΈ. Π‘Π»ΠΈΡ‡Π½Π° функционалност јС ΠΏΠΎΠΊΡƒΡˆΠ°Π½Π° Π΄Π° сС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Ρƒ ΠΌΠΎΠ΄Π΅Ρ€Π½Π΅ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½Π΅ Π”Π‘ΠœΠ‘ (посСбно, ΠžΡ€Π°Ρ†Π»Π΅ ΠΈ ΠœΠΈΡ†Ρ€ΠΎΡΠΎΡ„Ρ‚ Π‘ΠšΠ› Π‘Π΅Ρ€Π²Π΅Ρ€). На ΠΊΡ€Π°Ρ˜Ρƒ Ρ‡Π»Π°Π½ΠΊΠ° Ρ›Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΠΈ Π΄Π° ΠΎΠ½ΠΎ ΡˆΡ‚ΠΎ су ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, најблаТС Ρ€Π΅Ρ‡Π΅Π½ΠΎ, нијС испало баш Π½Π°Ρ˜Π±ΠΎΡ™Π΅.

Опис

Као ΠΈ Ρ€Π°Π½ΠΈΡ˜Π΅, Ρ€Π°Π΄ΠΈ Π±ΠΎΡ™Π΅Π³ Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡšΠ° ΠΏΠΎΡ‡Π΅Ρ›Ρƒ опис ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΠΌΠ°. Π Π΅Ρ†ΠΈΠΌΠΎ Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΠΌΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ која Ρ›Π΅ Π²Ρ€Π°Ρ‚ΠΈΡ‚ΠΈ списак ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° са Π±Ρ€ΠΎΡ˜Π΅ΠΌ запослСних Ρƒ њима ΠΈ ΡšΠΈΡ…ΠΎΠ²ΠΎΠΌ ΡƒΠΊΡƒΠΏΠ½ΠΎΠΌ ΠΏΠ»Π°Ρ‚ΠΎΠΌ.

Π£ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΡ˜ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρ‚ΠΎ Π±ΠΈ ΠΈΠ·Π³Π»Π΅Π΄Π°Π»ΠΎ ΠΎΠ²Π°ΠΊΠΎ:

CLASS Department β€˜ΠžΡ‚дСл’;
name β€˜ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅β€™ = DATA STRING[100] (Department);

CLASS Employee β€˜Π‘отрудник’;
department β€˜ΠžΡ‚дСл’ = DATA Department (Employee);
salary β€˜Π—арплата’ =  DATA NUMERIC[10,2] (Employee);

countEmployees β€˜ΠšΠΎΠ»-Π²ΠΎ ΡΠΎΡ‚рудников’ (Department d) = 
    GROUP SUM 1 IF department(Employee e) = d;
salarySum β€˜Π‘уммарная Π·Π°Ρ€ΠΏΠ»Π°Ρ‚а’ (Department d) = 
    GROUP SUM salary(Employee e) IF department(e) = d;

SELECT name(Department d), countEmployees(d), salarySum(d);

БлоТСност ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π°ΡšΠ° ΠΎΠ²ΠΎΠ³ ΡƒΠΏΠΈΡ‚Π° Ρƒ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌ Π”Π‘ΠœΠ‘-Ρƒ Π±ΠΈΡ›Π΅ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚Π½Π° О (Π±Ρ€ΠΎΡ˜ запослСних)Ρ˜Π΅Ρ€ овај ΠΏΡ€ΠΎΡ€Π°Ρ‡ΡƒΠ½ Π·Π°Ρ…Ρ‚Π΅Π²Π° ΡΠΊΠ΅Π½ΠΈΡ€Π°ΡšΠ΅ Ρ†Π΅Π»Π΅ Ρ‚Π°Π±Π΅Π»Π΅ запослСних ΠΈ Π·Π°Ρ‚ΠΈΠΌ ΡšΠΈΡ…ΠΎΠ²ΠΎ Π³Ρ€ΡƒΠΏΠΈΡΠ°ΡšΠ΅ ΠΏΠΎ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠΈΠΌΠ°. Π‘ΠΈΡ›Π΅ ΠΈ Π½Π΅ΠΊΠΈ ΠΌΠ°Π»ΠΈ (Π²Π΅Ρ€ΡƒΡ˜Π΅ΠΌΠΎ Π΄Π° јС ΠΌΠ½ΠΎΠ³ΠΎ вишС запослСних Π½Π΅Π³ΠΎ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°) Π΄ΠΎΠ΄Π°Ρ‚Π°ΠΊ Ρƒ зависности ΠΎΠ΄ ΠΈΠ·Π°Π±Ρ€Π°Π½ΠΎΠ³ ΠΏΠ»Π°Π½Π° О (Π΄Π½Π΅Π²Π½ΠΈ Π±Ρ€ΠΎΡ˜ запослСних) ΠΈΠ»ΠΈ О (Π±Ρ€ΠΎΡ˜ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°) Π·Π° Π³Ρ€ΡƒΠΏΠΈΡΠ°ΡšΠ΅ ΠΈ Ρ‚Π°ΠΊΠΎ Π΄Π°Ρ™Π΅.

Јасно јС Π΄Π° Ρ‚Ρ€ΠΎΡˆΠΊΠΎΠ²ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ΅ΡšΠ° ΠΌΠΎΠ³Ρƒ Π±ΠΈΡ‚ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈ Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΠΌ Π”Π‘ΠœΠ‘-ΠΎΠ²ΠΈΠΌΠ°, Π°Π»ΠΈ сС слоТСност Π½Π΅Ρ›Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ Π½ΠΈ Π½Π° који Π½Π°Ρ‡ΠΈΠ½.

Π£ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡ˜ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π”Π‘ΠœΠ‘ Ρ›Π΅ гСнСрисати јСдан ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚ који Ρ›Π΅ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π΅ врСдности Π·Π° ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ΅, Π° Π·Π°Ρ‚ΠΈΠΌ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ ЈОИН са Ρ‚Π°Π±Π΅Π»ΠΎΠΌ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° Π΄Π° Π±ΠΈ Π΄ΠΎΠ±ΠΈΠΎ ΠΈΠΌΠ΅. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Π·Π° сваку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ, ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡΠ°ΡšΠ°, ΠΌΠΎΠ³ΡƒΡ›Π΅ јС поставити посСбан ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠœΠΠ’Π•Π Π˜ΠΠ›Π˜Π—Π•Π”. БистСм Ρ›Π΅ аутоматски ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›Π΅ ΠΏΠΎΡ™Π΅ Π·Π° сваку Ρ‚Π°ΠΊΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ. Када ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ врСдност Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅, врСдност ΠΏΠΎΡ™Π° Ρ›Π΅ сС Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ Ρƒ ΠΈΡΡ‚ΠΎΡ˜ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜ΠΈ. Када приступитС овој Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ, приступићС сС ΡƒΠ½Π°ΠΏΡ€Π΅Π΄ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚ΠΎΠΌ ΠΏΠΎΡ™Ρƒ.

ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Π°ΠΊΠΎ поставитС ΠœΠΠ’Π•Π Π˜ΠΠ›Π˜Π—Π•Π” Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ цоунтЕмплоиССс ΠΈ салариБум, Ρ‚Π°Π΄Π° Ρ›Π΅ Ρƒ Ρ‚Π°Π±Π΅Π»Ρƒ са листом ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ° Π±ΠΈΡ‚ΠΈ Π΄ΠΎΠ΄Π°Ρ‚Π° Π΄Π²Π° ΠΏΠΎΡ™Π° Ρƒ којима Ρ›Π΅ сС Ρ‡ΡƒΠ²Π°Ρ‚ΠΈ Π±Ρ€ΠΎΡ˜ запослСних ΠΈ ΡšΠΈΡ…ΠΎΠ²Π° ΡƒΠΊΡƒΠΏΠ½Π° Π·Π°Ρ€Π°Π΄Π°. Кад Π³ΠΎΠ΄ Π΄ΠΎΡ’Π΅ Π΄ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ запослСних, ΡšΠΈΡ…ΠΎΠ²ΠΈΡ… ΠΏΠ»Π°Ρ‚Π° ΠΈΠ»ΠΈ припадности ΠΎΠ΄Π΅Ρ™Π΅ΡšΠΈΠΌΠ°, систСм Ρ›Π΅ аутоматски ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ врСдности ΠΎΠ²ΠΈΡ… ΠΏΠΎΡ™Π°. Π“ΠΎΡ€ΡšΠΈ ΡƒΠΏΠΈΡ‚ Ρ›Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ приступити ΠΎΠ²ΠΈΠΌ ΠΏΠΎΡ™ΠΈΠΌΠ° ΠΈ Π±ΠΈΡ›Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ΅Π½ Ρƒ њима О (Π±Ρ€ΠΎΡ˜ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°).

Која су ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°? Π‘Π°ΠΌΠΎ јСдно: Ρ‚Π°ΠΊΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° ΠΌΠΎΡ€Π° ΠΈΠΌΠ°Ρ‚ΠΈ ΠΊΠΎΠ½Π°Ρ‡Π°Π½ Π±Ρ€ΠΎΡ˜ ΡƒΠ»Π°Π·Π½ΠΈΡ… врСдности Π·Π° којС јС дСфинисана њСна врСдност. Π£ супротном, Π±ΠΈΡ›Π΅ Π½Π΅ΠΌΠΎΠ³ΡƒΡ›Π΅ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΠΈ Ρ‚Π°Π±Π΅Π»Ρƒ која Ρ‡ΡƒΠ²Π° свС својС врСдности, Ρ˜Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ΠΈ Ρ‚Π°Π±Π΅Π»Π° са бСсконачним Π±Ρ€ΠΎΡ˜Π΅ΠΌ Ρ€Π΅Π΄ΠΎΠ²Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

employeesCount β€˜ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΠΎΠ² Ρ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚ΠΎΠΉ > N’ (Department d, NUMERIC[10,2] N) = 
    GROUP SUM salary(Employee e) IF department(e) = d AND salary(e) > N;

Ова Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° јС дСфинисана Π·Π° бСсконачан Π±Ρ€ΠΎΡ˜ врСдности Н (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΠΈΠ»ΠΎ која Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½Π° врСдност јС ΠΏΠΎΠ³ΠΎΠ΄Π½Π°). ΠŸΡ€Π΅ΠΌΠ° Ρ‚ΠΎΠΌΠ΅, Π½Π° њСга Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ставити ΠœΠΠ’Π•Π Π˜ΠˆΠΠ›Π˜Π—ΠžΠ’ΠΠΠž. Π”Π°ΠΊΠ»Π΅, ΠΎΠ²ΠΎ јС Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅, Π° Π½Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΎ (Ρ‚ΠΎ Ρ˜Π΅ΡΡ‚, Π½Π΅ Π·Π°Ρ‚ΠΎ ΡˆΡ‚ΠΎ Π³Π° нисмо ΠΌΠΎΠ³Π»ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚ΠΈ). Π˜Π½Π°Ρ‡Π΅, Π½Π΅ΠΌΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°. ΠœΠΎΠΆΠ΅Ρ‚Π΅ користити Π³Ρ€ΡƒΠΏΠΈΡΠ°ΡšΠ΅, ΡΠΎΡ€Ρ‚ΠΈΡ€Π°ΡšΠ΅, И ΠΈ Π˜Π›Π˜, ПАРВИЦИЈА, Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΡ˜Ρƒ ΠΈΡ‚Π΄.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ 2.2 ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ставити ΠœΠΠ’Π•Π Π˜ΠΠ›Π˜Π—Π•Π” Π½Π° ΠΎΠ±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅:

bought 'ΠšΡƒΠΏΠΈΠ»' (Customer c, Product p, INTEGER y) = 
    GROUP SUM sum(Detail d) IF 
        customer(order(d)) = c AND 
        product(d) = p AND 
        extractYear(date(order(d))) = y MATERIALIZED;
rating 'Π Π΅ΠΉΡ‚ΠΈΠ½Π³' (Customer c, Product p, INTEGER y) = 
    PARTITION SUM 1 ORDER DESC bought(c, p, y), p BY c, y MATERIALIZED;
SELECT contactName(Customer c), name(Product p) WHERE rating(c, p, 1997) < 3;

Π‘Π°ΠΌ систСм Ρ›Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ Ρ˜Π΅Π΄Π½Ρƒ Ρ‚Π°Π±Π΅Π»Ρƒ са типским ΠΊΡ™ΡƒΡ‡Π΅Π²ΠΈΠΌΠ° ΠšΡƒΠΏΠ°Ρ†, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ ΠΈ Π˜ΠΠ’Π•Π“Π•Π , Ρ›Π΅ ΠΌΡƒ Π΄ΠΎΠ΄Π°Ρ‚ΠΈ Π΄Π²Π° ΠΏΠΎΡ™Π° ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚ΠΈ врСдности ΠΏΠΎΡ™Π° Ρƒ њима свим ΠΏΡ€ΠΎΠΌΠ΅Π½Π°ΠΌΠ°. Када сС ΠΈΠ·Π²Ρ€ΡˆΠ΅ Π΄Π°Ρ™ΠΈ ΠΏΠΎΠ·ΠΈΠ²ΠΈ ΠΎΠ²ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, ΠΎΠ½Π΅ Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚Π΅, Π²Π΅Ρ› Ρ›Π΅ сС врСдности Ρ‡ΠΈΡ‚Π°Ρ‚ΠΈ ΠΈΠ· ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈΡ… ΠΏΠΎΡ™Π°.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ›ΠΈ овај ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° сС Ρ€Π΅ΡˆΠΈΡ‚Π΅ Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΡ˜Π° (Π¦Π’Π•) Ρƒ ΡƒΠΏΠΈΡ‚ΠΈΠΌΠ°. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ, Ρ€Π°Π·ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π³Ρ€ΡƒΠΏΠ΅ којС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ˜Ρƒ стабло користСћи однос Π΄Π΅Ρ‚Π΅/Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Ρ™ (свака Π³Ρ€ΡƒΠΏΠ° ΠΈΠΌΠ° Π²Π΅Π·Ρƒ са својим Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Ρ™Π΅ΠΌ):

parent = DATA Group (Group);

Π£ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΡ˜ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°, Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π΅ΠΊΡƒΡ€Π·ΠΈΡ˜Π΅ сС ΠΌΠΎΠΆΠ΅ спСцифицирати Π½Π° слСдСћи Π½Π°Ρ‡ΠΈΠ½:

level (Group child, Group parent) = RECURSION 1l IF child IS Group AND parent == child
                                                             STEP 2l IF parent == parent($parent);
isParent (Group child, Group parent) = TRUE IF level(child, parent) MATERIALIZED;

ΠŸΠΎΡˆΡ‚ΠΎ Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ ΠΈΡΠŸΠ°Ρ€Π΅Π½Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΎ јС ΠœΠΠ’Π•Π Π˜ΠˆΠΠ›Π˜Π—ΠžΠ’ΠΠΠž, Ρ‚Π°Π΄Π° Ρ›Π΅ сС Π·Π° њСга ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ Ρ‚Π°Π±Π΅Π»Π° са Π΄Π²Π° ΠΊΡ™ΡƒΡ‡Π° (Π³Ρ€ΡƒΠΏΠ΅) Ρƒ којој јС ΠΏΠΎΡ™Π΅ ΠΈΡΠŸΠ°Ρ€Π΅Π½Ρ‚ Π±ΠΈΡ›Π΅ истинит само Π°ΠΊΠΎ јС ΠΏΡ€Π²ΠΈ ΠΊΡ™ΡƒΡ‡ Π΄Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³. Π‘Ρ€ΠΎΡ˜ уноса Ρƒ овој Ρ‚Π°Π±Π΅Π»ΠΈ Π±ΠΈΡ›Π΅ јСднак Π±Ρ€ΠΎΡ˜Ρƒ Π³Ρ€ΡƒΠΏΠ° ΠΏΠΎΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠΌ са просСчном Π΄ΡƒΠ±ΠΈΠ½ΠΎΠΌ стабла. Ако Π²Π°ΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΏΡ€Π΅Π±Ρ€ΠΎΡ˜ΠΈΡ‚Π΅ Π±Ρ€ΠΎΡ˜ ΠΏΠΎΡ‚ΠΎΠΌΠ°ΠΊΠ° ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π΅ Π³Ρ€ΡƒΠΏΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ:

childrenCount (Group g) = GROUP SUM 1 IF isParent(Group child, g);

Π£ Π‘ΠšΠ› ΡƒΠΏΠΈΡ‚Ρƒ Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π¦Π’Π•. УмСсто Ρ‚ΠΎΠ³Π°, ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ›Π΅ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½Π° Π“Π ΠžΠ£ΠŸ Π‘Π˜.

ΠšΠΎΡ€ΠΈΡΡ‚Π΅Ρ›ΠΈ овај ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ, Ρ‚Π°ΠΊΠΎΡ’Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π°ΠΊΠΎ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΠΈ Π±Π°Π·Ρƒ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Π°ΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ:

CLASS Order 'Π—Π°ΠΊΠ°Π·';
date 'Π”Π°Ρ‚Π°' = DATA DATE (Order);

CLASS OrderDetail 'Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π·Π°ΠΊΠ°Π·Π°';
order 'Π—Π°ΠΊΠ°Π·' = DATA Order (OrderDetail);
date 'Π”Π°Ρ‚Π°' (OrderDetail d) = date(order(d)) MATERIALIZED INDEXED;

ΠŸΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ позивања Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π΄Π°Ρ‚ΡƒΠΌ Π·Π° Ρ€Π΅Π΄ ΠΏΠΎΡ€ΡƒΡŸΠ±ΠΈΠ½Π΅, ΠΏΠΎΡ™Π΅ Π·Π° којС ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ индСкс Π±ΠΈΡ›Π΅ ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ ΠΈΠ· Ρ‚Π°Π±Π΅Π»Π΅ са Ρ€Π΅Π΄ΠΎΠ²ΠΈΠΌΠ° Π½Π°Π»ΠΎΠ³Π°. Када сС Π΄Π°Ρ‚ΡƒΠΌ ΠΏΠΎΡ€ΡƒΡŸΠ±ΠΈΠ½Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, сам систСм Ρ›Π΅ аутоматски ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚ΠΈ Π΄Π΅Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π΄Π°Ρ‚ΡƒΠΌ Ρƒ Ρ€Π΅Π΄Ρƒ.

ΠŸΡ€Π΅Π΄Π½ΠΎΡΡ‚ΠΈ

Π§Π΅ΠΌΡƒ слуТи Ρ†Π΅ΠΎ овај ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ? Π£ класичним Π”Π‘ΠœΠ‘-ΠΎΠ²ΠΈΠΌΠ°, Π±Π΅Π· ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ писања ΡƒΠΏΠΈΡ‚Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ ДБА ΠΌΠΎΠ³Ρƒ само Π΄Π° ΠΌΠ΅ΡšΠ°Ρ˜Ρƒ индСксС, ΠΎΠ΄Ρ€Π΅Ρ’ΡƒΡ˜Ρƒ статистику ΠΈ Π³ΠΎΠ²ΠΎΡ€Π΅ ΠΏΠ»Π°Π½Π΅Ρ€Ρƒ ΡƒΠΏΠΈΡ‚Π° ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΈΡ… ΠΈΠ·Π²Ρ€ΡˆΠΈ (Π° Π₯ИНВ-ΠΎΠ²ΠΈ су доступни само Ρƒ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½ΠΈΠΌ Π”Π‘ΠœΠ‘-ΠΎΠ²ΠΈΠΌΠ°). Колико Π³ΠΎΠ΄ сС Ρ‚Ρ€ΡƒΠ΄ΠΈΠ»ΠΈ, Π½Π΅Ρ›Π΅ ΠΌΠΎΡ›ΠΈ Π΄Π° Π΄ΠΎΠΏΡƒΠ½Π΅ ΠΏΡ€Π²ΠΈ ΡƒΠΏΠΈΡ‚ Ρƒ Ρ‡Π»Π°Π½ΠΊΡƒ Ρƒ О (Π±Ρ€ΠΎΡ˜ ΠΎΠ΄Π΅Ρ™Π΅ΡšΠ°) Π±Π΅Π· ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ ΡƒΠΏΠΈΡ‚Π° ΠΈΠ»ΠΈ додавања ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°Ρ‡Π°. Π£ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎΡ˜ шСми, Ρƒ Ρ„Π°Π·ΠΈ Ρ€Π°Π·Π²ΠΎΡ˜Π° Π½Π΅ ΠΌΠΎΡ€Π°Ρ‚Π΅ Π΄Π° Ρ€Π°Π·ΠΌΠΈΡˆΡ™Π°Ρ‚Π΅ ΠΎ структури ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ΡšΠ° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΈ ΠΎ Ρ‚ΠΎΠΌΠ΅ којС Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡ˜Π΅ Ρ›Π΅Ρ‚Π΅ користити. Π‘Π²Π΅ ΠΎΠ²ΠΎ сС ΠΌΠΎΠΆΠ΅ Π»Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ Ρƒ Ρ…ΠΎΠ΄Ρƒ, Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Ρƒ Ρ€Π°Π΄Ρƒ.

Π£ пракси Ρ‚ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° ΠΎΠ²Π°ΠΊΠΎ. НСки Ρ™ΡƒΠ΄ΠΈ Ρ€Π°Π·Π²ΠΈΡ˜Π°Ρ˜Ρƒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π½Π° основу Π·Π°Π΄Π°Ρ‚ΠΊΠ°. НС Ρ€Π°Π·ΡƒΠΌΠ΅Ρ˜Ρƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΈ ΡšΠΈΡ…ΠΎΠ²Ρƒ слоТСност, Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ ΠΈΠ·Π²Ρ€ΡˆΠ΅ΡšΠ°, Π½ΠΈ Ρ‚ΠΈΠΏΠΎΠ²Π΅ спојСва, Π½ΠΈΡ‚ΠΈ Π±ΠΈΠ»ΠΎ ΠΊΠΎΡ˜Ρƒ Π΄Ρ€ΡƒΠ³Ρƒ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ. Ови Ρ™ΡƒΠ΄ΠΈ су вишС пословни Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π°Ρ€ΠΈ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ. Π—Π°Ρ‚ΠΈΠΌ, свС ΠΎΠ²ΠΎ ΠΈΠ΄Π΅ Ρƒ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π΄. ΠžΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π΄ΡƒΠ³ΠΎΡ‚Ρ€Π°Ρ˜Π½ΠΈΡ… ΡƒΠΏΠΈΡ‚Π°. Када сС ΠΎΡ‚ΠΊΡ€ΠΈΡ˜Π΅ Π΄ΡƒΠ³Π°Ρ‡Π°ΠΊ ΡƒΠΏΠΈΡ‚, ΠΎΠ½Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ™ΡƒΠ΄ΠΈ (вишС Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈ - Ρƒ ΡΡƒΡˆΡ‚ΠΈΠ½ΠΈ ДБА) ΠΎΠ΄Π»ΡƒΡ‡ΡƒΡ˜Ρƒ Π΄Π° ΠΎΠΌΠΎΠ³ΡƒΡ›Π΅ ΠœΠΠ’Π•Π Π˜ΠΠ›Π˜Π—Π•Π” Π½Π° нСкој ΡΡ€Π΅Π΄ΡšΠΎΡ˜ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ. Ово ΠΌΠ°Π»ΠΎ успорава снимањС (ΠΏΠΎΡˆΡ‚ΠΎ Π·Π°Ρ…Ρ‚Π΅Π²Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΎΠ³ ΠΏΠΎΡ™Π° Ρƒ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜ΠΈ). ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, нијС само овај ΡƒΠΏΠΈΡ‚ Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ ΡƒΠ±Ρ€Π·Π°Π½, Π²Π΅Ρ› ΠΈ сви Π΄Ρ€ΡƒΠ³ΠΈ који користС ΠΎΠ²Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Ρƒ. Π£ исто Π²Ρ€Π΅ΠΌΠ΅, Ρ€Π΅Π»Π°Ρ‚ΠΈΠ²Π½ΠΎ јС Π»Π°ΠΊΠΎ ΠΎΠ΄Π»ΡƒΡ‡ΠΈΡ‚ΠΈ која Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π΄Π° сС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΡƒΡ˜Π΅. Π”Π²Π° Π³Π»Π°Π²Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: Π±Ρ€ΠΎΡ˜ ΠΌΠΎΠ³ΡƒΡ›ΠΈΡ… ΡƒΠ»Π°Π·Π½ΠΈΡ… врСдности (ΠΎΠ²ΠΎ јС ΠΊΠΎΠ»ΠΈΠΊΠΎ записа Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Ρƒ ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΎΡ˜ Ρ‚Π°Π±Π΅Π»ΠΈ) ΠΈ ΠΊΠΎΠ»ΠΈΠΊΠΎ чСсто сС користи Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°ΠΌΠ°.

Аналоги

Π‘Π°Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½ΠΈ Π”Π‘ΠœΠ‘ ΠΈΠΌΠ°Ρ˜Ρƒ сличнС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅: ΠœΠΠ’Π•Π Π˜ΠˆΠΠ›Π˜Π—ΠžΠ’ΠΠΠ˜ ΠŸΠ Π˜ΠšΠΠ— са Π‘Π Π—Π˜Πœ ΠžΠ‘Π’Π•Π–ΠΠ’ΠΠŠΠ•Πœ (ΠžΡ€Π°Ρ†Π»Π΅) ΠΈ Π˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠΠΠ˜ ΠŸΠ Π•Π“Π›Π•Π” (ΠœΠΈΡ†Ρ€ΠΎΡΠΎΡ„Ρ‚ Π‘ΠšΠ› Π‘Π΅Ρ€Π²Π΅Ρ€). Π£ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›-Ρƒ, ΠœΠΠ’Π•Π Π˜ΠΠ›Π˜Π—ΠžΠ’ΠΠΠ˜ ΠŸΠ Π˜ΠšΠΠ— сС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°Ρ‚ΠΈ Ρƒ Ρ‚Ρ€Π°Π½ΡΠ°ΠΊΡ†ΠΈΡ˜ΠΈ, Π²Π΅Ρ› само Π½Π° Π·Π°Ρ…Ρ‚Π΅Π² (ΠΏΠ° Ρ‡Π°ΠΊ ΠΈ ΡƒΠ· Π²Ρ€Π»ΠΎ строга ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°), Ρ‚Π°ΠΊΠΎ Π΄Π° Ρ‚ΠΎ Π½Π΅ ΡƒΠ·ΠΈΠΌΠ°ΠΌΠΎ Ρƒ ΠΎΠ±Π·ΠΈΡ€. Али ΠΎΠ½ΠΈ ΠΈΠΌΠ°Ρ˜Ρƒ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° који Π·Π½Π°Ρ‡Π°Ρ˜Π½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Ρ˜Ρƒ ΡšΠΈΡ…ΠΎΠ²Ρƒ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Ρƒ.

ΠŸΡ€Π²ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΎΠΌΠΎΠ³ΡƒΡ›ΠΈΡ‚Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ само Π°ΠΊΠΎ стС Π²Π΅Ρ› ΠΊΡ€Π΅ΠΈΡ€Π°Π»ΠΈ ΠΎΠ±ΠΈΡ‡Π°Π½ ΠŸΠ Π•Π“Π›Π•Π”. Π£ супротном, ΠΌΠΎΡ€Π°Ρ›Π΅Ρ‚Π΅ Π΄Π° ΠΏΡ€Π΅ΠΏΠΈΡˆΠ΅Ρ‚Π΅ прСосталС Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° приступ Π½ΠΎΠ²ΠΎΠΊΡ€Π΅ΠΈΡ€Π°Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·Ρƒ Π΄Π° бистС користили ΠΎΠ²Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Ρƒ. Или оставитС свС ΠΊΠ°ΠΊΠΎ Ρ˜Π΅ΡΡ‚Π΅, Π°Π»ΠΈ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Ρƒ Π½Π°Ρ˜ΠΌΠ°ΡšΡƒ Ρ€ΡƒΠΊΡƒ нССфикасно Π°ΠΊΠΎ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ ΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈ Π²Π΅Ρ› ΡƒΠ½Π°ΠΏΡ€Π΅Π΄ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ‚ΠΈ ΠΏΠΎΠ΄Π°Ρ†ΠΈ, Π°Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΈ ΡƒΠΏΠΈΡ‚ΠΈ ΠΈΡ… Π½Π΅ користС ΡƒΠ²Π΅ΠΊ, Π²Π΅Ρ› ΠΈΡ… ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Π²Π°Ρ˜Ρƒ.

Π”Ρ€ΡƒΠ³ΠΎ, ΠΎΠ½ΠΈ ΠΈΠΌΠ°Ρ˜Ρƒ Π²Π΅Π»ΠΈΠΊΠΈ Π±Ρ€ΠΎΡ˜ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°:

пророчанство

5.3.8.4 ΠžΠΏΡˆΡ‚Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС

Π£ΠΏΠΈΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΠΎΠ³Π»Π΅Π΄Π° јС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π½Π° слСдСћи Π½Π°Ρ‡ΠΈΠ½:

  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· Π½Π΅ смС Π΄Π° садрТи Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π·Π΅ који сС Π½Π΅ ΠΏΠΎΠ½Π°Π²Ρ™Π°Ρ˜Ρƒ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС SYSDATE ROWNUM.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· Π½Π΅ смС Π΄Π° садрТи Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†Π΅ Π½Π° RAW or LONG RAW Ρ‚ΠΈΠΏΠΎΠ²ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи Π° SELECT лист ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡ΠΊΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ (Π½ΠΏΡ€. RANK) Π£ SELECT ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.
  • НС ΠΌΠΎΠΆΠ΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ Ρ‚Π°Π±Π΅Π»Ρƒ Π½Π° којој јС XMLIndex индСкс јС дСфинисан.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи Π° MODEL ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи Π° HAVING ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π° са ΠΏΠΎΠ΄ΡƒΠΏΠΈΡ‚ΠΎΠΌ.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи ΡƒΠ³Π½Π΅ΠΆΡ’Π΅Π½Π΅ ΡƒΠΏΠΈΡ‚Π΅ који ΠΈΠΌΠ°Ρ˜Ρƒ ANY, ALL, Или NOT EXISTS.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи Π° [START WITH …] CONNECT BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.
  • НС ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи вишС Ρ‚Π°Π±Π΅Π»Π° са Π΄Π΅Ρ‚Π°Ρ™ΠΈΠΌΠ° Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΠΌ Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π°ΠΌΠ°.
  • ON COMMIT ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΠΌΠ°Ρ‚ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½Π΅ Ρ‚Π°Π±Π΅Π»Π΅ Π΄Π΅Ρ‚Π°Ρ™Π°.
  • Π£Π³Π½Π΅ΠΆΡ’Π΅Π½ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈ ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π΄Π° ΠΈΠΌΠ°Ρ˜Ρƒ спој ΠΈΠ»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ спојСни ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π·Π±ΠΈΡ€Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ са Π° GROUP BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΠΈΡ€Π° ΠΈΠ· Ρ‚Π°Π±Π΅Π»Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π΅ индСксом.

5.3.8.5 ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈΠΌΠ° само са спајањСм

Π”Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΡƒΠΏΠΈΡ‚Π° Π·Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Π΅ само са спајањима ΠΈ Π±Π΅Π· Π°Π³Ρ€Π΅Π³Π°Ρ‚Π° ΠΈΠΌΠ° слСдСћа ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС:

  • Π‘Π²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° ΠΎΠ΄ Β«ΠžΠΏΡˆΡ‚Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС".
  • НС ΠΌΠΎΠ³Ρƒ ΠΈΠΌΠ°Ρ‚ΠΈ GROUP BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π΅ ΠΈΠ»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π΅.
  • Π Π΅Π΄ΠΎΠ²ΠΈ свих Ρ‚Π°Π±Π΅Π»Π° Ρƒ FROM листа сС ΠΌΠΎΡ€Π° ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ Ρƒ SELECT листу ΡƒΠΏΠΈΡ‚Π°.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π΄Π½Π΅Π²Π½ΠΈΠΊΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π° ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ΠΈ са Ρ€Π΅Π΄ΠΎΠ²ΠΈΠΌΠ° Π·Π° свС основнС Ρ‚Π°Π±Π΅Π»Π΅ Ρƒ FROM листу ΡƒΠΏΠΈΡ‚Π°.
  • НС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· који сС Π±Ρ€Π·ΠΎ ΠΌΠΎΠΆΠ΅ освСТити ΠΈΠ· вишС Ρ‚Π°Π±Π΅Π»Π° са Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΈΠΌ спајањима која ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Ρƒ ΠΊΠΎΠ»ΠΎΠ½Ρƒ Ρ‚ΠΈΠΏΠ° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚Π° Ρƒ SELECT изјава.

Π’Π°ΠΊΠΎΡ’Π΅, ΠΌΠ΅Ρ‚ΠΎΠ΄ освСТавања који ΠΎΠ΄Π°Π±Π΅Ρ€Π΅Ρ‚Π΅ Π½Π΅Ρ›Π΅ Π±ΠΈΡ‚ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ Сфикасан Π°ΠΊΠΎ:

  • Π£ΠΏΠΈΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ користи ΡΠΏΠΎΡ™Π°ΡˆΡšΠΈ спој који сС понаша ΠΊΠ°ΠΎ ΡƒΠ½ΡƒΡ‚Ρ€Π°ΡˆΡšΠΈ спој. Ако ΡƒΠΏΠΈΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ садрТи Ρ‚Π°ΠΊΠ²ΠΎ спајањС, размислитС ΠΎ ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΈΡΠ°ΡšΡƒ ΡƒΠΏΠΈΡ‚Π° Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ Ρ‚Π°ΠΊΠΎ Π΄Π° садрТи ΡƒΠ½ΡƒΡ‚Ρ€Π°ΡˆΡšΠ΅ спајањС.
  • SELECT листа ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΠΎΠ³Π»Π΅Π΄Π° садрТи ΠΈΠ·Ρ€Π°Π·Π΅ Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°ΠΌΠ° ΠΈΠ· вишС Ρ‚Π°Π±Π΅Π»Π°.

5.3.8.6 ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈΠΌΠ° са Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈΠΌΠ°

Π”Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΡƒΠΏΠΈΡ‚Π° Π·Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Π΅ са Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈΠΌΠ° ΠΈΠ»ΠΈ спајањима ΠΈΠΌΠ° слСдСћа ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС:

Π‘Ρ€Π·ΠΎ освСТавањС јС ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π½ΠΎ Π·Π° ΠΎΠ±Π° ON COMMIT ON DEMAND ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ, ΠΌΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ Π²Π°ΠΆΠ΅ слСдСћа ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°:

  • Π‘Π²Π΅ Ρ‚Π°Π±Π΅Π»Π΅ Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·Ρƒ ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΈΠΌΠ°Ρ‚ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π΅ Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Π°, Π° Π΅Π²ΠΈΠ΄Π΅Π½Ρ†ΠΈΡ˜Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° ΠΌΠΎΡ€Π°Ρ˜Ρƒ:
    • Π‘Π°Π΄Ρ€ΠΆΠΈ свС ΠΊΠΎΠ»ΠΎΠ½Π΅ ΠΈΠ· Ρ‚Π°Π±Π΅Π»Π΅ Π½Π° којС сС ΠΏΠΎΠ·ΠΈΠ²Π° Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·Ρƒ.
    • НавСдитС са ROWID INCLUDING NEW VALUES.
    • Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ SEQUENCE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Ρƒ Π°ΠΊΠΎ сС ΠΎΡ‡Π΅ΠΊΡƒΡ˜Π΅ Π΄Π° Ρ‚Π°Π±Π΅Π»Π° ΠΈΠΌΠ° ΠΌΠ΅ΡˆΠ°Π²ΠΈΠ½Ρƒ ΡƒΠΌΠ΅Ρ‚Π°ΡšΠ°/Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎΠ³ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ°, Π±Ρ€ΠΈΡΠ°ΡšΠ° ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°.

  • Π‘Π°ΠΌΠΎ SUM, COUNT, AVG, STDDEV, VARIANCE, MIN MAX су ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π½ΠΈ Π·Π° Π±Ρ€Π·ΠΎ освСТавањС.
  • COUNT(*) ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½.
  • АгрСгатнС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ сС ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ само ΠΊΠ°ΠΎ Π½Π°Ρ˜ΡƒΠ΄Π°Ρ™Π΅Π½ΠΈΡ˜ΠΈ Π΄Π΅ΠΎ ΠΈΠ·Ρ€Π°Π·Π°. Односно, Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈ ΠΊΠ°ΠΎ Π½ΠΏΡ€ AVG(AVG(x)) or AVG(x)+ AVG(x) нису Π΄ΠΎΠ·Π²ΠΎΡ™Π΅Π½ΠΈ.
  • Π—Π° сваки Π°Π³Ρ€Π΅Π³Π°Ρ‚ ΠΊΠ°ΠΎ Π½ΠΏΡ€ AVG(expr), ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ COUNT(expr) ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ присутан. ΠžΡ€Π°Ρ†Π»Π΅ Ρ‚ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ SUM(expr) Π±ΠΈΡ‚ΠΈ ΠΏΡ€Π΅Ρ†ΠΈΠ·ΠΈΡ€Π°Π½.
  • If VARIANCE(expr) or STDDEV(expr) јС Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ, COUNT(expr) SUM(expr) ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½. ΠžΡ€Π°Ρ†Π»Π΅ Ρ‚ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ SUM(expr *expr) Π±ΠΈΡ‚ΠΈ ΠΏΡ€Π΅Ρ†ΠΈΠ·ΠΈΡ€Π°Π½.
  • SELECT ΠΊΠΎΠ»ΠΎΠ½Π° Ρƒ ΡƒΠΏΠΈΡ‚Ρƒ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ слоТСн ΠΈΠ·Ρ€Π°Π· са ΠΊΠΎΠ»ΠΎΠ½Π°ΠΌΠ° ΠΈΠ· вишС основних Ρ‚Π°Π±Π΅Π»Π°. ΠœΠΎΠ³ΡƒΡ›Π΅ Ρ€Π΅ΡˆΠ΅ΡšΠ΅ Π·Π° ΠΎΠ²ΠΎ јС ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ ΡƒΠ³Π½Π΅ΠΆΡ’Π΅Π½ΠΎΠ³ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΠΎΠ³Π»Π΅Π΄Π°.
  • SELECT листа ΠΌΠΎΡ€Π° Π΄Π° садрТи свС GROUP BY ΠΊΠΎΠ»ΠΎΠ½Π΅.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· нијС заснован Π½Π° јСдној ΠΈΠ»ΠΈ вишС ΡƒΠ΄Π°Ρ™Π΅Π½ΠΈΡ… Ρ‚Π°Π±Π΅Π»Π°.
  • Ако користитС Π° CHAR Ρ‚ΠΈΠΏ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρƒ ΠΊΠΎΠ»ΠΎΠ½Π°ΠΌΠ° Ρ„ΠΈΠ»Ρ‚Π΅Ρ€Π° Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π°, скупови Π·Π½Π°ΠΊΠΎΠ²Π° Π³Π»Π°Π²Π½ΠΎΠ³ ΡΠ°Ρ˜Ρ‚Π° ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ исти.
  • Ако ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· ΠΈΠΌΠ° Π½Π΅ΡˆΡ‚ΠΎ ΠΎΠ΄ слСдСћСг, Π±Ρ€Π·ΠΎ освСТавањС јС ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π½ΠΎ само Π½Π° ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΠΌ Π”ΠœΠ› ΡƒΠΌΠ΅Ρ‚Ρ†ΠΈΠΌΠ° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈΠΌ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠΈΠΌΠ°.
    • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ са MIN or MAX Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈ
    • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ који ΠΈΠΌΠ°Ρ˜Ρƒ SUM(expr) Π°Π»ΠΈ Π½Π΅ COUNT(expr)
    • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ Π±Π΅Π· COUNT(*)

    Π’Π°ΠΊΠ°Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ сС Π½Π°Π·ΠΈΠ²Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· само Π·Π° ΡƒΠΌΠ΅Ρ‚Π°ΡšΠ΅.

  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠ³Π»Π΅Π΄ са MAX or MIN сС Π±Ρ€Π·ΠΎ освСТава Π½Π°ΠΊΠΎΠ½ Π±Ρ€ΠΈΡΠ°ΡšΠ° ΠΈΠ»ΠΈ ΠΌΠ΅ΡˆΠ°Π½ΠΈΡ… Π”ΠœΠ› изјава Π°ΠΊΠΎ Π½Π΅ΠΌΠ° Π° WHERE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.
    Максимално/ΠΌΠΈΠ½ Π±Ρ€Π·ΠΎ освСТавањС Π½Π°ΠΊΠΎΠ½ Π±Ρ€ΠΈΡΠ°ΡšΠ° ΠΈΠ»ΠΈ мСшаног Π”ΠœΠ›-Π° Π½Π΅ΠΌΠ° исто понашањС ΠΊΠ°ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ само Π·Π° ΡƒΠΌΠ΅Ρ‚Π°ΡšΠ΅. Π‘Ρ€ΠΈΡˆΠ΅ ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΈΠ·Ρ€Π°Ρ‡ΡƒΠ½Π°Π²Π° максималнС/ΠΌΠΈΠ½ врСдности Π·Π° ΠΏΠΎΠ³ΠΎΡ’Π΅Π½Π΅ Π³Ρ€ΡƒΠΏΠ΅. ΠœΠΎΡ€Π°Ρ‚Π΅ Π±ΠΈΡ‚ΠΈ свСсни њСговог ΡƒΡ‚ΠΈΡ†Π°Ρ˜Π° Π½Π° пСрформансС.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈ са ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈΠΌΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡƒΠΏΠΈΡ‚ΠΈΠΌΠ° Ρƒ FROM ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π° сС ΠΌΠΎΠΆΠ΅ Π±Ρ€Π·ΠΎ освСТити ΠΏΠΎΠ΄ условом Π΄Π° сС ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡ‚ΠΏΡƒΠ½ΠΎ ΡΠΏΠΎΡ˜ΠΈΡ‚ΠΈ. Π—Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ Ρ‚ΠΎΠΌΠ΅ који Ρ›Π΅ сС ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ ΡΠΏΠΎΡ˜ΠΈΡ‚ΠΈ, ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ ΠžΡ€Π°Ρ†Π»Π΅ ДатабасС Π‘ΠšΠ› Π›Π°Π½Π³ΡƒΠ°Π³Π΅ Π Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†Π΅.
  • Ако Π½Π΅ΠΌΠ° спољних спојСва, ΠΌΠΎΠΆΠ΄Π° Ρ›Π΅Ρ‚Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΡ™Π½Π΅ ΡΠ΅Π»Π΅ΠΊΡ†ΠΈΡ˜Π΅ ΠΈ спојСвС Ρƒ WHERE ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.
  • ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·ΠΈ са спољним спојСвима сС Π±Ρ€Π·ΠΎ ΠΌΠΎΠ³Ρƒ освСТити Π½Π°ΠΊΠΎΠ½ ΠΊΠΎΠ½Π²Π΅Π½Ρ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΠ³ Π”ΠœΠ›-Π° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎΠ³ ΡƒΡ‡ΠΈΡ‚Π°Π²Π°ΡšΠ°, ΠΏΠΎΠ΄ условом Π΄Π° јС само спољна Ρ‚Π°Π±Π΅Π»Π° измСњСна. Π’Π°ΠΊΠΎΡ’Π΅, ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ΠΈ Ρ˜Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°ΠΌΠ° Π·Π° спајањС ΡƒΠ½ΡƒΡ‚Ρ€Π°ΡˆΡšΠ΅ Ρ‚Π°Π±Π΅Π»Π΅ спајања. Ако ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ спољни спојСви, сви спојСви ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈ ΠΏΠΎΠΌΠΎΡ›Ρƒ ANDс ΠΈ ΠΌΠΎΡ€Π° користити Ρ˜Π΅Π΄Π½Π°ΠΊΠΎΡΡ‚ (=) ΠΎΠΏΠ΅Ρ€Π°Ρ‚Π΅Ρ€.
  • Π—Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π΅ са CUBE, ROLLUP, Π³Ρ€ΡƒΠΏΠΈΡΠ°ΡšΠ΅ скупова ΠΈΠ»ΠΈ ΡšΠΈΡ…ΠΎΠ²ΠΎ спајањС, ΠΏΡ€ΠΈΠΌΠ΅ΡšΡƒΡ˜Ρƒ сС слСдСћа ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°:
    • SELECT листа Ρ‚Ρ€Π΅Π±Π° Π΄Π° садрТи Ρ€Π°Π·Π»ΠΈΠΊΠΎΠ²Π°Ρ‡ Π³Ρ€ΡƒΠΏΠΈΡΠ°ΡšΠ° који ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Π° GROUPING_ID Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π° свС GROUP BY ΠΈΠ·Ρ€Π°Π·ΠΈ ΠΈΠ»ΠΈ GROUPING Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΏΠΎ Ρ˜Π΅Π΄Π½Ρƒ Π·Π° сваку GROUP BY ΠΈΠ·Ρ€Π°Π·. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°ΠΊΠΎ јС GROUP BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΠΎΠ³Π»Π΅Π΄Π° јС "GROUP BY CUBE(a, b)", Π·Π°Ρ‚ΠΈΠΌ SELECT листа Ρ‚Ρ€Π΅Π±Π° Π΄Π° садрТи ΠΈΠ»ΠΈ "GROUPING_ID(a, b)Β» ΠΈΠ»ΠΈ Β«GROUPING(a) AND GROUPING(b)Β» Π΄Π° Π±ΠΈ сС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· Π±Ρ€Π·ΠΎ освСТио.
    • GROUP BY Π½Π΅ Π±ΠΈ Ρ‚Ρ€Π΅Π±Π°Π»ΠΎ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π΄ΡƒΠΏΠ»ΠΈΡ… Π³Ρ€ΡƒΠΏΠ°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "GROUP BY a, ROLLUP(a, b)" сС Π½Π΅ ΠΌΠΎΠΆΠ΅ Π±Ρ€Π·ΠΎ освСТити Ρ˜Π΅Ρ€ Π΄ΠΎΠ²ΠΎΠ΄ΠΈ Π΄ΠΎ Π΄ΡƒΠΏΠ»ΠΈΡ… Π³Ρ€ΡƒΠΏΠ° "(a), (a, b), AND (a)".

5.3.8.7 ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Π·Π° Π±Ρ€Π·ΠΎ освСТавањС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΡ… ΠΏΠΎΠ³Π»Π΅Π΄Π° са УНИОН АЛЛ

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ са UNION ALL подСсити ΠΏΠΎΠ΄Ρ€ΡˆΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚Π΅Ρ€Π° REFRESH FAST ΠΎΠΏΡ†ΠΈΡ˜Ρƒ Π°ΠΊΠΎ су ΠΈΡΠΏΡƒΡšΠ΅Π½ΠΈ слСдСћи услови:

  • Π£ΠΏΠΈΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΠΌΠΎΡ€Π° Π΄Π° ΠΈΠΌΠ° UNION ALL ΠΎΠΏΠ΅Ρ€Π°Ρ‚Π΅Ρ€ Π½Π° највишСм Π½ΠΈΠ²ΠΎΡƒ.

    UNION ALL ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ ΡƒΠ³Ρ€Π°Ρ’Π΅Π½ Ρƒ ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚, са јСдним ΠΈΠ·ΡƒΠ·Π΅Ρ‚ΠΊΠΎΠΌ: Π’Ρ…Π΅ UNION ALL ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Ρƒ ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚Ρƒ Ρƒ FROM ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Ρƒ ΠΏΠΎΠ΄ условом Π΄Π° јС ΡƒΠΏΠΈΡ‚ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΠΎΠ±Π»ΠΈΠΊΠ° SELECT * FROM (ΠΏΡ€Π΅Π³Π»Π΅Π΄ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΡƒΠΏΠΈΡ‚ са UNION ALL) ΠΊΠ°ΠΎ Ρƒ слСдСћСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

    ЦРЕАВЕ Π’Π˜Π•Π’ Π²ΠΈΠ΅Π²_Π²ΠΈΡ‚Ρ…_ΡƒΠ½ΠΈΠΎΠ½Π°Π»Π» АБ (Π˜Π—ΠΠ‘Π˜Π  Ρ†.Ρ€ΠΎΠ²ΠΈΠ΄ Ρ†Ρ€ΠΈΠ΄, Ρ†.цуст_ΠΈΠ΄, 2 ΡƒΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ЀРОМ ΠΊΡƒΠΏΠ°Ρ†Π° Ρ† Π’Π₯Π•Π Π• Ρ†.цуст_ласт_Π½Π°ΠΌΠ΅ = 'Π‘ΠΌΠΈΡ‚Ρ…' УНИОН АЛЛ Π‘Π•Π›Π•Π¦Π’ Ρ†.Ρ€ΠΎΠ²ΠΈΠ΄ Ρ†Ρ€ΠΈΠ΄, Ρ†.цуст_ΠΈΠ΄, 3 ΡƒΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ЀРОМ ΠΊΡƒΠΏΠ°Ρ†Π° Ρ† Π’Π₯Π•Π Π• Ρ†.цуст_Π»Π° 'ЈонСс'); ΠΠΠŸΠ ΠΠ’Π˜Π’Π• ΠœΠΠ’Π•Π Π˜ΠˆΠΠ›Π˜Π—ΠžΠ’ΠΠΠ˜ ΠŸΠ Π˜ΠšΠΠ— ΡƒΠ½ΠΈΠΎΠ½Π°Π»Π»_инсидС_Π²ΠΈΠ΅Π²_ΠΌΠ² Π‘Π Π—Πž ΠžΠ‘Π’Π•Π–Π˜Π’Π• НА ЗАΠ₯Π’Π•Π’ КАО Π‘Π•Π›Π•Π¦Π’ * ЀРОМ Π²ΠΈΠ΅Π²_Π²ΠΈΡ‚Ρ…_ΡƒΠ½ΠΈΠΎΠ½Π°Π»Π»;
    

    Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄ view_with_unionall Π·Π°Π΄ΠΎΠ²ΠΎΡ™Π°Π²Π° Π·Π°Ρ…Ρ‚Π΅Π²Π΅ Π·Π° Π±Ρ€Π·ΠΎ освСТавањС.

  • Π‘Π²Π°ΠΊΠΈ Π±Π»ΠΎΠΊ ΡƒΠΏΠΈΡ‚Π° Ρƒ UNION ALL ΡƒΠΏΠΈΡ‚ ΠΌΠΎΡ€Π° Π΄Π° Π·Π°Π΄ΠΎΠ²ΠΎΡ™ΠΈ Π·Π°Ρ…Ρ‚Π΅Π²Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° са Π°Π³Ρ€Π΅Π³Π°Ρ‚ΠΈΠΌΠ° који сС Π±Ρ€Π·ΠΎ ΠΌΠΎΠΆΠ΅ освСТити ΠΈΠ»ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° који сС Π±Ρ€Π·ΠΎ ΠΌΠΎΠΆΠ΅ освСТити са спојСвима.

    ΠžΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ записници ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° ΠΌΠΎΡ€Π°Ρ˜Ρƒ сС ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ Π½Π° Ρ‚Π°Π±Π΅Π»Π°ΠΌΠ° ΠΊΠ°ΠΊΠΎ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π·Π° ΠΎΠ΄Π³ΠΎΠ²Π°Ρ€Π°Ρ˜ΡƒΡ›ΠΈ Ρ‚ΠΈΠΏ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° који сС Π±Ρ€Π·ΠΎ ΠΌΠΎΠΆΠ΅ освСТити.
    Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ Π΄Π° ΠžΡ€Π°Ρ†Π»Π΅ Π±Π°Π·Π° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρ‚Π°ΠΊΠΎΡ’Π΅ Π΄ΠΎΠ·Π²ΠΎΡ™Π°Π²Π° посСбан ΡΠ»ΡƒΡ‡Π°Ρ˜ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠ³ ΠΏΡ€ΠΈΠΊΠ°Π·Π° јСднС Ρ‚Π°Π±Π΅Π»Π΅ са спојСвима само ΠΏΠΎΠ΄ условом ROWID ΠΊΠΎΠ»ΠΎΠ½Π° јС ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½Π° Ρƒ SELECT листу ΠΈ Ρƒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΠΌ Π΄Π½Π΅Π²Π½ΠΈΠΊΡƒ ΠΏΡ€ΠΈΠΊΠ°Π·Π°. Ово јС ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΎ Ρƒ ΡƒΠΏΠΈΡ‚Ρƒ Π·Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡΠ°ΡšΠ΅ ΠΏΠΎΠ³Π»Π΅Π΄Π° view_with_unionall.

  • SELECT листа сваког ΡƒΠΏΠΈΡ‚Π° ΠΌΠΎΡ€Π° Π΄Π° садрТи Π° UNION ALL ΠΌΠ°Ρ€ΠΊΠ΅Ρ€, ΠΈ UNION ALL ΠΊΠΎΠ»ΠΎΠ½Π° ΠΌΠΎΡ€Π° ΠΈΠΌΠ°Ρ‚ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Ρƒ константну Π½ΡƒΠΌΠ΅Ρ€ΠΈΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ стринг врСдност Ρƒ свакој UNION ALL Π³Ρ€Π°Π½Π°. Π”Π°Ρ™Π΅, ΠΊΠΎΠ»ΠΎΠ½Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΌΠΎΡ€Π° сС ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ Π½Π° истом Ρ€Π΅Π΄Π½ΠΎΠΌ мСсту Ρƒ SELECT листа сваког Π±Π»ΠΎΠΊΠ° ΡƒΠΏΠΈΡ‚Π°. Π²ΠΈΠ΄ΠΈ "УНИОН АЛЛ ΠœΠ°Ρ€ΠΊΠ΅Ρ€ ΠΈ ΠΏΡ€Π΅ΠΏΠΈΡΠΈΠ²Π°ΡšΠ΅ ΡƒΠΏΠΈΡ‚Π°Β» Π·Π° вишС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΎ UNION ALL ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ.
  • НСкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су спољна спајања, Π·Π±ΠΈΡ€Π½ΠΈ ΡƒΠΏΠΈΡ‚ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈΡ… ΠΏΡ€ΠΈΠΊΠ°Π·Π° само Π·Π° ΡƒΠΌΠ΅Ρ‚Π°ΡšΠ΅ ΠΈ ΡƒΠ΄Π°Ρ™Π΅Π½Π΅ Ρ‚Π°Π±Π΅Π»Π΅ нису ΠΏΠΎΠ΄Ρ€ΠΆΠ°Π½Π΅ Π·Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π΅ ΠΏΡ€ΠΈΠΊΠ°Π·Π΅ са UNION ALL. Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌΡƒ, ΠΌΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Π΄Π° сС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄ΠΈ који сС користС Ρƒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜ΠΈ, Π° који Π½Π΅ садрТС спојСвС ΠΈΠ»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π΅, ΠΌΠΎΠ³Ρƒ Π±Ρ€Π·ΠΎ освСТити ΠΊΠ°Π΄Π° UNION ALL ΠΈΠ»ΠΈ сС користС даљински столови.
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ˜Π΅ компатибилности ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ постављСн Π½Π° 9.2.0 ΠΈΠ»ΠΈ новији Π΄Π° Π±ΠΈ сС ΠΊΡ€Π΅ΠΈΡ€Π°ΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· који сС ΠΌΠΎΠΆΠ΅ Π±Ρ€Π·ΠΎ освСТити са UNION ALL.

НС ΠΆΠ΅Π»ΠΈΠΌ Π΄Π° ΡƒΠ²Ρ€Π΅Π΄ΠΈΠΌ Ρ„Π°Π½ΠΎΠ²Π΅ ΠžΡ€Π°Ρ†Π»Π΅-Π°, Π°Π»ΠΈ судСћи ΠΏΠΎ ΡšΠΈΡ…ΠΎΠ²ΠΎΡ˜ листи ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°, Ρ‡ΠΈΠ½ΠΈ сС Π΄Π° јС овај ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ писан Π½Π΅ Ρƒ ΠΎΠΏΡˆΡ‚Π΅ΠΌ ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, ΠΏΠΎ Π½Π΅ΠΊΠΎΠΌ ΠΌΠΎΠ΄Π΅Π»Ρƒ, Π²Π΅Ρ› ΠΎΠ΄ Ρ…ΠΈΡ™Π°Π΄Π° Π˜Π½Π΄ΠΈΡ˜Π°Ρ†Π°, Π³Π΄Π΅ су сви Π΄ΠΎΠ±ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΈΠΊΡƒ Π΄Π° написати ΡΠ²ΠΎΡ˜Ρƒ Π³Ρ€Π°Π½Ρƒ ΠΈ свако ΠΎΠ΄ ΡšΠΈΡ… јС ΡƒΡ€Π°Π΄ΠΈΠΎ ΡˆΡ‚Π° јС ΠΌΠΎΠ³Π°ΠΎ.ΠΈ ΡƒΡ€Π°Π΄ΠΈΠΎ. ΠšΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ ΠΎΠ²ΠΎΠ³ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡ€Π°Π²Ρƒ Π»ΠΎΠ³ΠΈΠΊΡƒ јС ΠΊΠ°ΠΎ Ρ…ΠΎΠ΄Π°ΡšΠ΅ ΠΊΡ€ΠΎΠ· минско ΠΏΠΎΡ™Π΅. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΠΈ ΠΌΠΈΠ½Ρƒ Ρƒ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ притиском Π½Π° јСдно ΠΎΠ΄ Π½Π΅ΠΎΡ‡ΠΈΠ³Π»Π΅Π΄Π½ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°. Како Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡˆΠ΅ јС Ρ‚Π°ΠΊΠΎΡ’Π΅ посСбно ΠΏΠΈΡ‚Π°ΡšΠ΅, Π°Π»ΠΈ Ρ‚ΠΎ јС Π²Π°Π½ ΠΎΠΊΠ²ΠΈΡ€Π° ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°.

ΠœΠΈΡ†Ρ€ΠΎΡΠΎΡ„Ρ‚ Π‘ΠšΠ› Π‘Π΅Ρ€Π²Π΅Ρ€

Π”ΠΎΠ΄Π°Ρ‚Π½ΠΈ Π·Π°Ρ…Ρ‚Π΅Π²ΠΈ

ΠŸΠΎΡ€Π΅Π΄ Π‘Π•Π’ ΠΎΠΏΡ†ΠΈΡ˜Π° ΠΈ Π·Π°Ρ…Ρ‚Π΅Π²Π° дСтСрминистичкС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅, ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ ΠΈΡΠΏΡƒΡšΠ΅Π½ΠΈ ΠΈ слСдСћи Π·Π°Ρ…Ρ‚Π΅Π²ΠΈ:

  • ΠšΠΎΡ€ΠΈΡΠ½ΠΈΠΊ који ΠΈΠ·Π²Ρ€ΡˆΠ°Π²Π° CREATE INDEX ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ власник ΠΏΡ€ΠΈΠΊΠ°Π·Π°.
  • Када ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚Π΅ индСкс, IGNORE_DUP_KEY ΠΎΠΏΡ†ΠΈΡ˜Π° ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ постављСна Π½Π° ОЀЀ (ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½Π° поставка).
  • Π’Π°Π±Π΅Π»Π΅ ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π½Π΅ Π΄Π²ΠΎΠ΄Π΅Π»Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, шСма.ΠΈΠΌΠ΅ Ρ‚Π°Π±Π΅Π»Π΅ Ρƒ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π°.
  • ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΈ дСфинисанС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π½Π° којС сС ΡƒΠΏΡƒΡ›ΡƒΡ˜Π΅ Ρƒ ΠΏΡ€ΠΈΠΊΠ°Π·Ρƒ ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°Π½Π΅ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ΠΌ WITH SCHEMABINDING ΠΎΠΏΡ†ΠΈΡ˜Π°.
  • Π‘Π²Π΅ кориснички дСфинисанС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π½Π° којС сС ΡƒΠΏΡƒΡ›ΡƒΡ˜Π΅ Ρƒ ΠΏΡ€ΠΈΠΊΠ°Π·Ρƒ ΠΌΠΎΡ€Π°Ρ˜Ρƒ Π±ΠΈΡ‚ΠΈ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Π½Π΅ Π΄Π²ΠΎΠ΄Π΅Π»Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½ΠΈΠΌΠ°, ..
  • Π‘Π²ΠΎΡ˜ΡΡ‚Π²ΠΎ приступа ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ° кориснички дСфинисанС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ NO SQL, Π° ΡΠ²ΠΎΡ˜ΡΡ‚Π²ΠΎ спољног приступа ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ NO.
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Π¦ΠΎΠΌΠΌΠΎΠ½ Π›Π°Π½Π³ΡƒΠ°Π³Π΅ Π ΡƒΠ½Ρ‚ΠΈΠΌΠ΅ (Π¦Π›Π ) ΠΌΠΎΠ³Ρƒ сС ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ Π½Π° листи ΠΈΠ·Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π°, Π°Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³Ρƒ Π±ΠΈΡ‚ΠΈ Π΄Π΅ΠΎ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π΅ кластСризованог индСксног ΠΊΡ™ΡƒΡ‡Π°. Π¦Π›Π  Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ сС Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΡ˜Π°Π²ΠΈΡ‚ΠΈ Ρƒ ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»ΠΈ Π’Π₯Π•Π Π• Ρƒ ΠΏΠΎΠ³Π»Π΅Π΄Ρƒ ΠΈΠ»ΠΈ Ρƒ ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»ΠΈ ОН ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ˜Π΅ ЈОИН Ρƒ ΠΏΠΎΠ³Π»Π΅Π΄Ρƒ.
  • Π¦Π›Π  Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ Π¦Π›Π  кориснички дСфинисаних Ρ‚ΠΈΠΏΠΎΠ²Π° који сС користС Ρƒ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π° ΠΌΠΎΡ€Π°Ρ˜Ρƒ ΠΈΠΌΠ°Ρ‚ΠΈ ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° постављСна ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ јС ΠΏΡ€ΠΈΠΊΠ°Π·Π°Π½ΠΎ Ρƒ ΡΠ»Π΅Π΄Π΅Ρ›ΠΎΡ˜ Ρ‚Π°Π±Π΅Π»ΠΈ.

    Имовина
    бСлСшкС

    Π”Π•Π’Π•Π ΠœΠ˜ΠΠ˜Π‘Π’Π˜Π§ΠΠž = ВАЧНО
    ΠœΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ Сксплицитно дСкларисан ΠΊΠ°ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠœΠΈΡ†Ρ€ΠΎΡΠΎΡ„Ρ‚ .НЕВ Π€Ρ€Π°ΠΌΠ΅Π²ΠΎΡ€ΠΊ.

    ΠŸΠ Π•Π¦Π˜Π—ΠΠž = ВАЧНО
    ΠœΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ Сксплицитно дСкларисан ΠΊΠ°ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ .НЕВ Π€Ρ€Π°ΠΌΠ΅Π²ΠΎΡ€ΠΊ.

    ПРИБВУП ΠŸΠžΠ”ΠΠ¦Π˜ΠœΠ = ΠΠ•ΠœΠ Π‘ΠšΠ›-Π°
    ΠžΠ΄Ρ€Π΅Ρ’ΡƒΡ˜Π΅ сС подСшавањСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ДатаАццСсс Π½Π° Π”Π°Ρ‚Π°ΠΡ†Ρ†Π΅ΡΡΠšΠΈΠ½Π΄.НонС ΠΈ БистСмДатаАццСсс Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π° Π‘ΠΈΡΡ‚Π΅ΠΌΠ”Π°Ρ‚Π°ΠΡ†Ρ†Π΅ΡΡΠšΠΈΠ½Π΄.НонС.

    Π‘ΠŸΠžΠ‰ΠΠ˜ ПРИБВУП = НЕ
    Ово ΡΠ²ΠΎΡ˜ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π½ΠΎ јС НЕ Π·Π° Π¦Π›Π  Ρ€ΡƒΡ‚ΠΈΠ½Π΅.

  • ΠŸΡ€ΠΈΠΊΠ°Π· ΠΌΠΎΡ€Π° Π±ΠΈΡ‚ΠΈ ΠΊΡ€Π΅ΠΈΡ€Π°Π½ ΠΊΠΎΡ€ΠΈΡˆΡ›Π΅ΡšΠ΅ΠΌ WITH SCHEMABINDING ΠΎΠΏΡ†ΠΈΡ˜Π°.
  • ПоглСд ΠΌΠΎΡ€Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ само основнС Ρ‚Π°Π±Π΅Π»Π΅ којС сС Π½Π°Π»Π°Π·Π΅ Ρƒ ΠΈΡΡ‚ΠΎΡ˜ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΊΠ°ΠΎ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄. ПоглСд Π½Π΅ ΠΌΠΎΠΆΠ΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ Π΄Ρ€ΡƒΠ³Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π΅.
  • НарСдба Π‘Π•Π›Π•Π¦Π’ Ρƒ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π° Π½Π΅ смС Π΄Π° садрТи слСдСћС Врансацт-Π‘ΠšΠ› Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π΅:

    COUNT
    Π ΠžΠ’Π‘Π•Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ (OPENDATASOURCE, OPENQUERY, OPENROWSET, И OPENXML)
    OUTER ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΡƒΡ˜Π΅ (LEFT, RIGHT, Или FULL)

    ИзвСдСна Ρ‚Π°Π±Π΅Π»Π° (дСфинисана Π½Π°Π²ΠΎΡ’Π΅ΡšΠ΅ΠΌ Π° SELECT изјава Ρƒ FROM klauzula)
    Π‘Π΅Π»Ρ„-јоинс
    ΠžΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΡ›Ρƒ SELECT * or SELECT <table_name>.*

    DISTINCT
    STDEV, STDEVP, VAR, VARP, Или AVG
    Π—Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Ρ‚Π°Π±Π΅Π»Π°Ρ€Π½ΠΈ ΠΈΠ·Ρ€Π°Π· (Π¦Π’Π•)

    ΠΏΠ»ΠΎΠ²Π°ΠΊ1, тСкст, Π½Ρ‚Π΅ΠΊΡ‚, слика, ΠšΠ‘ΠœΠ›, Или филСстрСам ΠΊΠΎΠ»ΠΎΠ½Π΅
    ΠΏΠΎΠ΄ΡƒΠΏΠΈΡ‚
    OVER ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Ρƒ, која ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Ρ€Π°Π½Π³ΠΈΡ€Π°ΡšΠ° ΠΈΠ»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π°

    ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈ Ρ†Π΅Π»ΠΎΠ³ тСкста (CONTAINS, FREETEXT)
    SUM Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° која ΡƒΠΏΡƒΡ›ΡƒΡ˜Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π· који ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Π½ΡƒΠ»Ρ‚Π°Π½
    ORDER BY

    Π¦Π›Π  кориснички дСфинисана Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°
    TOP
    CUBE, ROLLUP, Или GROUPING SETS ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ

    MIN, MAX
    UNION, EXCEPT, Или INTERSECT ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ
    TABLESAMPLE

    Π’Π°Π±Π΅Π»Π°Ρ€Π½Π΅ Π²Π°Ρ€ΠΈΡ˜Π°Π±Π»Π΅
    OUTER APPLY or CROSS APPLY
    PIVOT, UNPIVOT

    Π Π΅Ρ‚ΠΊΠΈ скупови ΠΊΠΎΠ»ΠΎΠ½Π°
    Π£Π³Ρ€Π°Ρ’Π΅Π½Π΅ (Π’Π’Π€) ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ са Ρ‚Π°Π±Π΅Π»ΠΎΠΌ са вишС исказа (ΠœΠ‘Π’Π’Π€)
    OFFSET

    CHECKSUM_AGG

    1 Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€Π°Π½ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π· ΠΌΠΎΠΆΠ΅ Π΄Π° садрТи ΠΏΠ»ΠΎΠ²Π°ΠΊ ΠΊΠΎΠ»ΠΎΠ½Π΅; ΠΌΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Ρ‚Π°ΠΊΠ²Π΅ ΠΊΠΎΠ»ΠΎΠ½Π΅ Π½Π΅ ΠΌΠΎΠ³Ρƒ Π±ΠΈΡ‚ΠΈ ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½Π΅ Ρƒ кластСризовани индСксни ΠΊΡ™ΡƒΡ‡.

  • If GROUP BY јС присутна, Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π’Π˜Π•Π’ ΠΌΠΎΡ€Π° Π΄Π° садрТи COUNT_BIG(*) ΠΈ Π½Π΅ смС Π΄Π° садрТи HAVING. Ово GROUP BY ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° су ΠΏΡ€ΠΈΠΌΠ΅Π½Ρ™ΠΈΠ²Π° само Π½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Ρƒ индСксираног ΠΏΠΎΠ³Π»Π΅Π΄Π°. Π£ΠΏΠΈΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° користи индСксирани ΠΏΡ€ΠΈΠΊΠ°Π· Ρƒ свом ΠΏΠ»Π°Π½Ρƒ ΠΈΠ·Π²Ρ€ΡˆΠ΅ΡšΠ° Ρ‡Π°ΠΊ ΠΈ Π°ΠΊΠΎ Π½Π΅ Π·Π°Π΄ΠΎΠ²ΠΎΡ™Π°Π²Π° ΠΎΠ²Π΅ GROUP BY ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ°.
  • Ако Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° ΠΏΠΎΠ³Π»Π΅Π΄Π° садрТи Π° GROUP BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π΅, ΠΊΡ™ΡƒΡ‡ Ρ˜Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½ΠΎΠ³ кластСризованог индСкса ΠΌΠΎΠΆΠ΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ само ΠΊΠΎΠ»ΠΎΠ½Π΅ Π½Π°Π²Π΅Π΄Π΅Π½Π΅ Ρƒ GROUP BY ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Π°.

ОвдС јС јасно Π΄Π° Π˜Π½Π΄ΠΈΡ˜Π°Π½Ρ†ΠΈ нису Π±ΠΈΠ»ΠΈ ΡƒΠΌΠ΅ΡˆΠ°Π½ΠΈ, Ρ˜Π΅Ρ€ су ΠΎΠ΄Π»ΡƒΡ‡ΠΈΠ»ΠΈ Π΄Π° Ρ‚ΠΎ ΡƒΡ€Π°Π΄Π΅ ΠΏΠΎ шСми β€žΠΌΠ°Π»ΠΎ Ρ›Π΅ΠΌΠΎ, Π°Π»ΠΈ Π΄ΠΎΠ±Ρ€ΠΎβ€œ. Односно, ΠΈΠΌΠ°Ρ˜Ρƒ вишС ΠΌΠΈΠ½Π° Π½Π° Ρ‚Π΅Ρ€Π΅Π½Ρƒ, Π°Π»ΠΈ јС ΡšΠΈΡ…ΠΎΠ²Π° Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Π° Ρ‚Ρ€Π°Π½ΡΠΏΠ°Ρ€Π΅Π½Ρ‚Π½ΠΈΡ˜Π°. НајвишС Ρ€Π°Π·ΠΎΡ‡Π°Ρ€Π°Π²Π°Ρ˜ΡƒΡ›Π΅ јС ΠΎΠ²ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅:

ПоглСд ΠΌΠΎΡ€Π° Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ само основнС Ρ‚Π°Π±Π΅Π»Π΅ којС сС Π½Π°Π»Π°Π·Π΅ Ρƒ ΠΈΡΡ‚ΠΎΡ˜ Π±Π°Π·ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° ΠΊΠ°ΠΎ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄. ПоглСд Π½Π΅ ΠΌΠΎΠΆΠ΅ Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€Π°Ρ‚ΠΈ Π΄Ρ€ΡƒΠ³Π΅ ΠΏΠΎΠ³Π»Π΅Π΄Π΅.

Π£ нашој Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ˜ΠΈ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ приступити Π΄Ρ€ΡƒΠ³ΠΎΡ˜ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎΡ˜ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜ΠΈ. Π’ΠΈΠΌΠ΅ сС Ρƒ ΠΊΠΎΡ€Π΅Π½Ρƒ ΡƒΠΊΠΈΠ΄Π° свака идСологија.
Π’Π°ΠΊΠΎΡ’Π΅, ΠΎΠ²ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ΅ (ΠΈ Π΄Π°Ρ™Π΅ Ρƒ тСксту) Ρƒ вСликој ΠΌΠ΅Ρ€ΠΈ ΡΠΌΠ°ΡšΡƒΡ˜Π΅ ΡΠ»ΡƒΡ‡Π°Ρ˜Π΅Π²Π΅ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π΅:

НарСдба Π‘Π•Π›Π•Π¦Π’ Ρƒ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π° Π½Π΅ смС Π΄Π° садрТи слСдСћС Врансацт-Π‘ΠšΠ› Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π΅:

COUNT
Π ΠžΠ’Π‘Π•Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ (OPENDATASOURCE, OPENQUERY, OPENROWSET, И OPENXML)
OUTER ΠΏΡ€ΠΈΠ΄Ρ€ΡƒΠΆΡƒΡ˜Π΅ (LEFT, RIGHT, Или FULL)

ИзвСдСна Ρ‚Π°Π±Π΅Π»Π° (дСфинисана Π½Π°Π²ΠΎΡ’Π΅ΡšΠ΅ΠΌ Π° SELECT изјава Ρƒ FROM klauzula)
Π‘Π΅Π»Ρ„-јоинс
ΠžΠ΄Ρ€Π΅Ρ’ΠΈΠ²Π°ΡšΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π° ΠΏΠΎΠΌΠΎΡ›Ρƒ SELECT * or SELECT <table_name>.*

DISTINCT
STDEV, STDEVP, VAR, VARP, Или AVG
Π—Π°Ρ˜Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ Ρ‚Π°Π±Π΅Π»Π°Ρ€Π½ΠΈ ΠΈΠ·Ρ€Π°Π· (Π¦Π’Π•)

ΠΏΠ»ΠΎΠ²Π°ΠΊ1, тСкст, Π½Ρ‚Π΅ΠΊΡ‚, слика, ΠšΠ‘ΠœΠ›, Или филСстрСам ΠΊΠΎΠ»ΠΎΠ½Π΅
ΠΏΠΎΠ΄ΡƒΠΏΠΈΡ‚
OVER ΠΊΠ»Π°ΡƒΠ·ΡƒΠ»Ρƒ, која ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ Ρ€Π°Π½Π³ΠΈΡ€Π°ΡšΠ° ΠΈΠ»ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π° ΠΏΡ€ΠΎΠ·ΠΎΡ€Π°

ΠŸΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΈ Ρ†Π΅Π»ΠΎΠ³ тСкста (CONTAINS, FREETEXT)
SUM Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π° која ΡƒΠΏΡƒΡ›ΡƒΡ˜Π΅ Π½Π° ΠΈΠ·Ρ€Π°Π· који ΠΌΠΎΠΆΠ΅ Π±ΠΈΡ‚ΠΈ Π½ΡƒΠ»Ρ‚Π°Π½
ORDER BY

Π¦Π›Π  кориснички дСфинисана Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°
TOP
CUBE, ROLLUP, Или GROUPING SETS ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ

MIN, MAX
UNION, EXCEPT, Или INTERSECT ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ
TABLESAMPLE

Π’Π°Π±Π΅Π»Π°Ρ€Π½Π΅ Π²Π°Ρ€ΠΈΡ˜Π°Π±Π»Π΅
OUTER APPLY or CROSS APPLY
PIVOT, UNPIVOT

Π Π΅Ρ‚ΠΊΠΈ скупови ΠΊΠΎΠ»ΠΎΠ½Π°
Π£Π³Ρ€Π°Ρ’Π΅Π½Π΅ (Π’Π’Π€) ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π΅ са Ρ‚Π°Π±Π΅Π»ΠΎΠΌ са вишС исказа (ΠœΠ‘Π’Π’Π€)
OFFSET

CHECKSUM_AGG

Π‘ΠŸΠžΠ‰ΠΠ¨ΠŠΠ• Π‘ΠŸΠžΠˆΠ•ΠŠΠ•, УНИОН, ΠžΠ Π”Π•Π  Π‘Π˜ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎ су Π·Π°Π±Ρ€Π°ΡšΠ΅Π½ΠΈ. МоТда јС Π±ΠΈΠ»ΠΎ лакшС ΠΎΠ΄Ρ€Π΅Π΄ΠΈΡ‚ΠΈ ΡˆΡ‚Π° сС ΠΌΠΎΠΆΠ΅ користити, Π° Π½Π΅ ΡˆΡ‚Π° сС Π½Π΅ ΠΌΠΎΠΆΠ΅ користити. Листа Π±ΠΈ Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΎ Π±ΠΈΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΡ€Π°Ρ›Π°.

Π”Π° Ρ€Π΅Π·ΠΈΠΌΠΈΡ€Π°ΠΌΠΎ: ΠΎΠ³Ρ€ΠΎΠΌΠ°Π½ скуп ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Ρƒ сваком (Π·Π°ΠΏΠ°Π·ΠΈΠΌΠΎ ΠΊΠΎΠΌΠ΅Ρ€Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ) Π”Π‘ΠœΠ‘ наспрам нијСдног (са ΠΈΠ·ΡƒΠ·Π΅Ρ‚ΠΊΠΎΠΌ јСдног Π»ΠΎΠ³ΠΈΡ‡ΠΊΠΎΠ³, Π° Π½Π΅ Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΎΠ³) Ρƒ Π›Π“ΠŸΠ› Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ˜ΠΈ. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, Ρ‚Ρ€Π΅Π±Π° Π½Π°ΠΏΠΎΠΌΠ΅Π½ΡƒΡ‚ΠΈ Π΄Π° јС ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° ΠΎΠ²ΠΎΠ³ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρƒ Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½ΠΎΡ˜ Π»ΠΎΠ³ΠΈΡ†ΠΈ Π½Π΅ΡˆΡ‚ΠΎ Ρ‚Π΅ΠΆΠ΅ Π½Π΅Π³ΠΎ Ρƒ описаној Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΎΡ˜ Π»ΠΎΠ³ΠΈΡ†ΠΈ.

Π˜ΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°

Како Ρ‚ΠΎ Ρ€Π°Π΄ΠΈ? ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ› сС користи ΠΊΠ°ΠΎ β€žΠ²ΠΈΡ€Ρ‚ΡƒΠ΅Π»Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°β€œ. Π£Π½ΡƒΡ‚Ρ€Π° јС слоТСн Π°Π»Π³ΠΎΡ€ΠΈΡ‚Π°ΠΌ који ΠΏΡ€Π°Π²ΠΈ ΡƒΠΏΠΈΡ‚Π΅. Π•Π²ΠΎ ΠΈΠ·Π²ΠΎΡ€. И Π½Π΅ ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ само Π²Π΅Π»ΠΈΠΊΠΈ скуп хСуристика са Π³ΠΎΠΌΠΈΠ»ΠΎΠΌ Π°ΠΊΠΎ. Π”Π°ΠΊΠ»Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ мСсСци Π·Π° ΡƒΡ‡Π΅ΡšΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ‚ΠΈ Π΄Π° Ρ€Π°Π·ΡƒΠΌΠ΅Ρ‚Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ.

Π”Π° Π»ΠΈ Π΄Π΅Π»ΡƒΡ˜Π΅ Сфикасно? ΠŸΡ€ΠΈΠ»ΠΈΡ‡Π½ΠΎ Сфикасно. НаТалост, ΠΎΠ²ΠΎ јС Ρ‚Π΅ΡˆΠΊΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΠΈ. ΠœΠΎΠ³Ρƒ само Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Π΄Π° Π°ΠΊΠΎ ΡƒΠ·ΠΌΠ΅Ρ‚Π΅ Ρƒ ΠΎΠ±Π·ΠΈΡ€ Ρ…ΠΈΡ™Π°Π΄Π΅ ΡƒΠΏΠΈΡ‚Π° који ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ Ρƒ Π²Π΅Π»ΠΈΠΊΠΈΠΌ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°ΠΌΠ°, ΠΎΠ½Π΄Π° су ΠΎΠ½ΠΈ Ρƒ просСку Π΅Ρ„ΠΈΠΊΠ°ΡΠ½ΠΈΡ˜ΠΈ ΠΎΠ΄ ΠΎΠ½ΠΈΡ… ΠΊΠΎΠ΄ Π΄ΠΎΠ±Ρ€ΠΎΠ³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€Π°. ΠžΠ΄Π»ΠΈΡ‡Π°Π½ Π‘ΠšΠ› ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅ Π΅Ρ„ΠΈΠΊΠ°ΡΠ½ΠΈΡ˜Π΅ Π΄Π° напишС Π±ΠΈΠ»ΠΎ који ΡƒΠΏΠΈΡ‚, Π°Π»ΠΈ са Ρ…ΠΈΡ™Π°Π΄Ρƒ ΡƒΠΏΠΈΡ‚Π° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π½Π΅Ρ›Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ Π½ΠΈ ΠΌΠΎΡ‚ΠΈΠ²Π°Ρ†ΠΈΡ˜Π΅ Π½ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π° Π΄Π° Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈ. ЈСдино ΡˆΡ‚ΠΎ сада ΠΌΠΎΠ³Ρƒ Π΄Π° Π½Π°Π²Π΅Π΄Π΅ΠΌ ΠΊΠ°ΠΎ Π΄ΠΎΠΊΠ°Π· Сфикасности јС Π΄Π° Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΏΡ€ΠΎΡ˜Π΅ΠΊΠ°Ρ‚Π° Ρ€Π°Π΄ΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΈΠ·Π³Ρ€Π°Ρ’Π΅Π½ΠΎΡ˜ Π½Π° ΠΎΠ²ΠΎΠΌ Π”Π‘ΠœΠ‘-Ρƒ Π•Π ΠŸ систСми, који ΠΈΠΌΠ°Ρ˜Ρƒ Ρ…ΠΈΡ™Π°Π΄Π΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚ΠΈΡ… ΠœΠΠ’Π•Π Π˜ΠˆΠΠ›Π˜Π—ΠžΠ’ΠΠΠ˜Π₯ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°, са Ρ…ΠΈΡ™Π°Π΄Π°ΠΌΠ° корисника ΠΈ Π±Π°Π·Π°ΠΌΠ° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρ‚Π΅Ρ€Π°Π±Π°Ρ˜Ρ‚Π° са стотинама ΠΌΠΈΠ»ΠΈΠΎΠ½Π° записа који Ρ€Π°Π΄Π΅ Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π½ΠΎΠΌ сСрвСру са Π΄Π²Π° процСсора. ΠœΠ΅Ρ’ΡƒΡ‚ΠΈΠΌ, свако ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈ/побијС Сфикасност ΠΏΡ€Π΅ΡƒΠ·ΠΈΠΌΠ°ΡšΠ΅ΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ ΠŸΠΎΡΡ‚Π³Ρ€Π΅Π‘ΠšΠ›, ΡƒΠΊΡ™ΡƒΡ‡Π΅Π½ Π΅Π²ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅ Π‘ΠšΠ› ΡƒΠΏΠΈΡ‚Π° ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΈ ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° Ρ‚Π°ΠΌΠΎ.

Π£ слСдСћим Ρ‡Π»Π°Π½Ρ†ΠΈΠΌΠ° Ρ›Ρƒ Ρ‚Π°ΠΊΠΎΡ’Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΠΈ ΠΎ Ρ‚ΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° поставитС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅ΡšΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°ΠΌΠ°, Ρ€Π°Π΄ΠΈΡ‚Π΅ са сСсијама ΠΏΡ€ΠΎΠΌΠ΅Π½Π° ΠΈ још ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΎΠ³Π°.

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€