Classic architecture ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ InterBase, ΠΊΠΎΠ³Π΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ°ΡΡΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π‘ΡΠΏΠ΅ΡΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°. ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΎΠ±Π΅ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
CLOB
ΠΠΊΡΠΎΠ½ΠΈΠΌ Π΄Π»Ρ Character Large OBject (Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ). ΠΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΡΠ°Π½Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³ΠΈΠ΅ Π‘Π£ΠΠ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ Π² Firebird Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . CLOB ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ BLOB SUB_TYPE 1 (TEXT). Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ BLOB
coercing data types ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π ΡΡΡΡΠΊΡΡΡΠ°Ρ XSQLDA API Firebird ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° SQL Π² Π΄ΡΡΠ³ΠΎΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ
collation order ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π½Π°Π±ΠΎΡΠ°Ρ , Π·Π°Π΄Π°Π²Π°Ρ ΠΏΠ°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΈ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ UPPERO, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΡΠΎΠ»Π±ΡΠ°Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΈΡΠΊΠ΅. ΠΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π΄Π»Ρ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ, ΡΡΠΎ ΠΈ Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
column ΡΡΠΎΠ»Π±Π΅Ρ
Π Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ SQL Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ±ΡΠ°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠ°Π±Π»ΠΈΡ, ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ - Π½Π°Π±ΠΎΡΠΎΠ². ΠΠ°Π±ΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΊ, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Π° Π² Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ. ΠΠ΄ΠΈΠ½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Π΅ Π½Π°Π±ΠΎΡΠ°, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠΌ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠΎΠ»Π±ΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ (ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ)
commit
ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ (ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ)
ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ»Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π° ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΡΡΠΎΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π±Π»ΠΎΠΊΠ°Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. Π₯ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ° Π²ΠΈΠ΄Π½Π° Π² ΡΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½Π° Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΎΠ½Π° Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌΠ° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΠ±ΡΠΈΡΡ
ΡΠ΅ΡΠ²Π΅ΡΡ ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ (commit) ΡΠ°Π±ΠΎΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌΠΈ. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, Π΄Π»Ρ Π½Π΅Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΎΡΠΊΠ°Ρ (rollback), ΡΡΠΎΠ±Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΡΡ ΡΠ°Π±ΠΎΡΡ
CommitRetaining
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄Π»Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ COMMIT WITH RETAIN (ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°). Π’Π°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΡΠ³ΠΊΠΈΠΌ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ. ΠΡΠΈ ΡΡΠΎΠΌ Π°ΡΡΠΈΠ±ΡΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΏΠΎΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ Π²ΡΠ·ΠΎΠ²Π΅Ρ COMMIT (ΠΆΠ΅ΡΡΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅) ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΡΡΠΎΡΠ°. Π¨ΠΈΡΠΎΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ CommitRetaining ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΡ ΡΠ΄ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅ Oldest Interesting Transaction (OIT)
concurrency ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΡ, ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΡ
Π’Π΅ΡΠΌΠΈΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌ. ΠΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΡ ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ: ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ, ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²Π°Ρ ΡΠΏΡΠΎΡΠΈΡΡ: "ΠΠ°ΠΊΠΈΠ΅ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΎΡΡΠΈ?". ΠΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ ΡΡΠΎΠ²Π½Ρ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ SNAPSHOT
constraint ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅
Firebird ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΏΡΠ°Π²ΠΈΠ», ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ. Π’Π°ΠΊΠΈΠ΅ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, PRIMARY KEY ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅Ρ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΊΠ°ΠΊ ΠΎΠ±ΡΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΡΡΡΠΎΠΊΠ΅. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ CHECK ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ», ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΡ ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠΎΠ»Π±Π΅Ρ
contention ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ
ΠΠΎΠ³Π΄Π° Π΄Π²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΡΠΎΠΊΡ, ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ΅, Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΡΠΌΠΈ
correlated subquery
ΠΊΠΎΡΡΠ΅Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡ
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΠ΄Π·Π°ΠΏΡΠΎΡ - ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΠ΅Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° SELECT. Π ΠΊΠΎΡΡΠ΅Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΏΠΎΠΈΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
crash ΠΊΡΠ°Ρ
ΠΠ°ΡΠ³ΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠΌΠΈΠ½ Π΄Π»Ρ Π½Π΅Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
crash recovery Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΡΠ°Ρ Π°
ΠΡΠΎΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ/ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠΈΡ ) Π² ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅
CVS
ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° Π΄Π»Ρ Concurrent Versions System (ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΠΉ) - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. CVS ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Ρ ΠΎΡΠΊΡΡΡΡΠΌΠΈ ΠΊΠΎΠ΄Π°ΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Firebird
cyclic links
ΡΠΈΠΊΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ
Π ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableA) ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ (TableB), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ, ΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· Π΄ΡΡΠ³ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ TableA
database Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
Π ΡΠ°ΠΌΠΎΠΌ ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΠ΅ΡΠΌΠΈΠ½ "Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ " ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ ΠΈΡ ΠΎΡΡΡΠΊΠΈΠ²Π°ΡΡ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
DB_KEY
Π‘ΠΌ. RDB$DB_KEY
DDL
ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Data Definition Language (ΡΠ·ΡΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ), ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° SQL, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ SQL, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° CREATE, ALTER, RECREATE, CREATE OR REPLACE ΠΈΠ»ΠΈ DROP, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ DDL. Π Firebird Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ DDL Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° DECLARE, Ρ ΠΎΡΡ Π½Π΅ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ DECLARE ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ DDL
deadlock
Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°
ΠΠΎΠ³Π΄Π° Π΄Π²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΠΎΠΊΠΈ, ΠΏΡΠΎ Π½ΠΈΡ Π³ΠΎΠ²ΠΎΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ (T1), ΠΈΠΌΠ΅ΡΡΠ°Ρ Π±Π»ΠΎΠΊ Π½Π° ΡΡΡΠΎΠΊΡ Π, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ (T2), ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T2 ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΡΠΎΠΊΡ Π. ΠΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΡΠ΅ Π²Π·Π°ΠΈΠΌΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°ΠΊΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΈ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΈΡ Π±Π΅Π· Π²ΡΠ΄Π°ΡΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ΅ΡΠ²Π΅Ρ Firebird ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ "Π²Π·Π°ΠΈΠΌΠ½ΠΎΠΉ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅", Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°. ΠΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΎΡΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ
degree (of a set) ΡΡΠ΅ΠΏΠ΅Π½Ρ(Π½Π°Π±ΠΎΡΠ°)
ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π² ΡΠ°Π±Π»ΠΈΡΠ½ΠΎΠΌ Π½Π°Π±ΠΎΡΠ΅. Π’Π΅ΡΠΌΠΈΠ½ ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΡΠΎΠ»Π±ΡΠ° (degree of a column) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1
deployment ΠΏΠΎΡΡΠ°Π²ΠΊΠ°
ΠΡΠΎΡΠ΅ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
dialect Π΄ΠΈΠ°Π»Π΅ΠΊΡ
Π’Π΅ΡΠΌΠΈΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΡΠΎΠ΄Π½ΠΎΠΉ Π΄Π»Ρ Firebird ΡΠ·ΡΠΊ ΠΎΡ ΡΡΠ°ΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΠΊΠ΅ Firebird, InterBase 5. Π‘ΡΠ°ΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ΡΠ·ΡΠΊΠ° ΠΎΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² Firebird Ρ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ ΡΠΎ ΡΡΠ°ΡΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ° 1. Π ΠΎΠ΄Π½ΡΠΌ Π΄Π»Ρ Firebird ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ°Π»Π΅ΠΊΡ 3
DML
ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Data Manipulation Language (ΡΠ·ΡΠΊ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ), ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² SQL, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
domain Π΄ΠΎΠΌΠ΅Π½
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ SQL Firebird, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ (CREATE DOMAIN), Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΈΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΡΠ°Π±Π»ΠΈΡΡ
DPB
ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Database Parameter Buffer (Π±ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ), ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² API Firebird. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
DSQL
ΠΠ±Π±ΡΠ΅Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ Dynamic SQL (Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ SQL). DSQL ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ Π±Π΅Π· Π½ΠΈΡ , Π² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ "ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ SQL", ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ΄ΠΈΡΡΡΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠ°Ρ ΠΊΠΎΠ΄Π° Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, GPRE) ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠΎ "Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌ SQL". ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ API Firebird Π² "ΡΡΡΠΎΠΌ" Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ API Firebird, ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ DSQL