Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ
BestProg
Π Π΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ°. ΠΠΈΠ΄Ρ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ. ΠΠ»Π°Π²Π½Π°Ρ ΠΈ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΡ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΎΠΈΡΠΊ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ :
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΡΡΡ Π·Π°Π΄Π°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΡΠΎΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°.
Π’Π°Π±Π»ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ». Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ΅
Π’Π°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β». Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ².
ΠΠΎΠΏΡΠΎΡ/ΠΎΡΠ²Π΅Ρ
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ? ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ?
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ), ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠΌΠ΅Π»Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ) Π² ΠΏΠΎΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ (Π·Π°ΠΏΠΈΡΠΈ) ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ.
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ (Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ).
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ»Ρ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°Π±Π΅Π»ΡΠ½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ². ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅-ΡΡΠ΅ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
2. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ (ΡΠ²ΡΠ·Ρ) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ (relationship)? ΠΡΠΈΠΌΠ΅Ρ
Π’Π°Π±Π»ΠΈΡΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π±Π»ΠΈΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ».
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β». Π ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». Π’ΠΎ Π΅ΡΡΡ, ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»Ρ (Π°ΡΡΠΈΠ±ΡΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ».
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π°ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ° ΠΠ²Π°Π½ΠΎΠ² Π.Π., ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π ΠΈΡ. 1. ΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 2145 ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β»
Π ΠΈΡ. 2. Π‘Π²ΡΠ·Ρ (ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅) ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡ
3. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ (foreign key)? ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠ½ΡΡΠΈΠ΅ Β«Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΒ» Π΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ (Π°ΡΡΠΈΠ±ΡΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, Π° ΠΏΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ».
4. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ?
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΊΠ»ΡΡΡ, Π΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ (ΡΠ²ΡΠ·ΠΈ).
5. ΠΠΎΠ³ΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΠΈ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ (ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ)?
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ, Π²ΡΠΎΡΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ°ΠΊ ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ (ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ). ΠΡΠΎΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ β ΡΡΠΎ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ (ΠΎΠ΄ΠΈΠ½ Π°ΡΡΠΈΠ±ΡΡ). Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ (ΡΠ»ΠΎΠΆΠ½ΡΠ΅) ΠΊΠ»ΡΡΠΈ β ΡΡΠΎ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ (Π°ΡΡΠΈΠ±ΡΡΠΎΠ²).
6. ΠΠ°ΠΊΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ? ΠΡΠΈΠΌΠ΅Ρ
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (ΠΏΠΎΠ»Π΅ΠΉ) ΡΠ°Π±Π»ΠΈΡΡ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ ΡΠΈΠΏΠ° ΡΡΠ΅ΡΡΠΈΠΊ (counter). Π ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ (ΡΡΡΠΎΠΊΠΈ) Π² ΡΠ°Π±Π»ΠΈΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1 (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ). ΠΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠΎΠΊ ΡΠΆΠ΅ Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ, Π° ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π·Π° ΡΡΠΈΠΌ Π²ΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». ΠΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» Π΅ΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ, Π·Π΄Π΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅-ΡΡΠ΅ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
Π³Π΄Π΅ ΠΏΠΎΠ»Π΅ Β«ΠΠΎΠΌΠ΅ΡΒ» Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ.
7. ΠΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°?
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 3 ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°:
8. Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ Β«Π³Π»Π°Π²Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°Β» (master) ΠΈ Β«ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°Β» (detail)?
ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π΅ΡΡΡ ΡΠ²ΡΠ·Ρ, ΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ (master), Π° Π΄ΡΡΠ³Π°Ρ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ (detail). ΠΠ»Π°Π²Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΉ. ΠΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ (ΡΠ΅ΠΊΡΡΠΈΠΌ). ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β», ΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ, Π° ΡΠ°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ.
9. ΠΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΈΠΏΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ (ΡΠ²ΡΠ·Π΅ΠΉ) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ?
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 4 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ:
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β», ΡΠΎ ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΡΠΈΠΏΠ° Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ». Π’Π°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ. Π’Π°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
Π ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ) ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ (ΡΠ°Π±Π»ΠΈΡΠ½Π°Ρ) Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ: ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ, Π° Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ : ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠΈ. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ, ΡΡΡΠΎΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡΠΌΠΈ, ΡΡΠΎΠ»Π±ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ, Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ΅ΠΉΠΊΠΎΠΉ.
ΠΠ°ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² Π±Π°Π·Π°Ρ
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π°Π·Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ : ΡΠ΅ΠΊΡΡΠΎΠ², Π΄Π°Ρ, Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠΈΡΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π΅Π»ΡΡ Π½Π° ΡΠΈΠΏΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ (Π°ΡΡΠΈΠ±ΡΡ) ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠΈΡΠ΅ΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ
ΠΡΡΠ΅ ΠΌΡ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ: ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° (Π·Π°ΠΏΠΈΡΡ) ΠΠ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ: Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ², ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΊΠ°ΠΊ primary key.
Primary key (PK) ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ΅Π½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΡΡΠ½Ρ ΠΏΠΎΡΠ΅ΠΌΡ.
ΠΠ° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΡΡΠΎΠΈΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΠ»ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ
Foreign key, ΠΊΡΠ°ΡΠΊΠΎ FK. ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ²ΡΠ·Ρ, ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΠ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΡΡ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π ΠΈ Π. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Π (ΠΎΠ±ΡΠ²Ρ), Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ: ΡΠ°Π·ΠΌΠ΅Ρ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π (ΡΠ²Π΅Ρ) Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ. Π ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΡΠ°Π·ΠΌΠ΅ΡΒ» ΡΡΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΡΠ°Π±Π»ΠΈΡ Π ΠΈ Π.
ΠΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΡ : ΠΡΠ΄ΠΈ ΠΈ ΠΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ².
Π’Π°Π±Π»ΠΈΡΠ°: ΠΡΠ΄ΠΈ
primary key | ΠΠΌΡ |
1 | ΠΠ°ΠΉΡΠ΅Π² |
2 | ΠΠ΅Π»ΠΊΠΈΠ½ |
3 | ΠΠΎΠ»ΠΊΠΎΠ² |
Π’Π°Π±Π»ΠΈΡΠ°: ΠΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ²
primary key | ΡΠ΅Π»Π΅ΡΠΎΠ½ | foreign key |
1 | 12345 | 1 |
2 | 54321 | 1 |
3 | 678910 | 2 |
4 | 109876 | 3 |
5 | 13579 | 3 |
Π ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΠΎΠΌΠ΅ΡΠ° ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² PK ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½. FK ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ PK ΡΠ°Π±Π»ΠΈΡΡ ΠΡΠ΄ΠΈ. Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΈ Π»ΡΠ΄ΡΠΌΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ FK ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ². Π’ΠΎ Π΅ΡΡΡ:
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Ρ, ΡΡΠΎ Π»ΡΠ±Π°Ρ Π‘Π£ΠΠ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠ°Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
Sysadminium
ΠΠ°Π·Π° Π·Π½Π°Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ SQL
ΠΠ· ΡΡΠ°ΡΡΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π² SQL. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π― ΠΏΠΎΠΊΠ°ΠΆΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² PostgreSQL.
Π’Π΅ΠΎΡΠΈΡ
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠ½ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π»ΡΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
Π ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅:
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ:
Π― ΡΠ°ΠΌ Π½Π΅ ΠΈΠΌΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ SQL, Π½ΠΎ Π² ΠΊΠ½ΠΈΠ³Π°Ρ ΠΏΠΈΡΡΡ ΡΡΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. ΠΠΎΡΠ΅ΠΌΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ, Ρ ΠΏΠΎΠΊΠ° ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π΅ ΡΠΌΠΎΠ³Ρ.
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ
ΠΠ΅ΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΡΠΈΡΡ Π΅ΡΡ ΠΎΠ΄Π½Ρ Π·Π°Π΄Π°ΡΡ. Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΈΡ. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ sql. Π ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ»Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° Π»ΡΠ±ΡΠ΅ ΠΏΠΎΠ»Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, Π° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅:
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° βΠ£ΡΠ΅Π½ΠΈΠΊΠΈβ (pupils) ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΠ½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π€ΠΠ full_name | ΠΠΎΠ·ΡΠ°ΡΡ age | ΠΠ»Π°ΡΡ class |
ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ | 15 | 9Π |
Π‘ΡΠΌΠΊΠΈΠ½ Π€ΡΠ΄ΠΎΡ ΠΠ½Π΄ΡΠ΅Π΅Π²ΠΈΡ | 15 | 9Π |
ΠΠ΅ΡΡΠΎΠ² ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠΊΠΎΠ»Π°Π΅Π²ΠΈΡ | 14 | 8Π |
ΠΡΠ»Π³Π°ΠΊΠΎΠ² ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠ΅Π½Π½Π°Π΄ΡΠ΅Π²ΠΈΡ | 14 | 8Π |
Π’Π°Π±Π»ΠΈΡΠ° pupils
Π Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° βΠ£ΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡΡβ (evaluations):
ΠΡΠ΅Π΄ΠΌΠ΅Ρ item | Π€ΠΠ full_name | ΠΡΠ΅Π½ΠΊΠ° evaluation |
Π ΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ | ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ | 4 |
Π ΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ | ΠΠ΅ΡΡΠΎΠ² ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΠΈΠΊΠΎΠ»Π°Π΅Π²ΠΈΡ | 5 |
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° | ΠΡΠ»Π³Π°ΠΊΠΎΠ² ΠΠ»Π΅ΠΊΡΠ°Π½Π΄Ρ ΠΠ΅Π½Π½Π°Π΄ΡΠ΅Π²ΠΈΡ | 3 |
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ° | Π‘ΡΠΌΠΊΠΈΠ½ Π€ΡΠ΄ΠΎΡ ΠΠ½Π΄ΡΠ΅Π΅Π²ΠΈΡ | 5 |
Π’Π°Π±Π»ΠΈΡΠ° evaluations
Π ΠΎΠ±ΠΎΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅: Π€ΠΠ. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ βΠ£ΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡΡβ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π€ΠΠ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ β Π£ΡΠ΅Π½ΠΈΠΊΠΈβ. ΠΠ΅Π΄Ρ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅Π½ΠΈΠΊΡ ΠΎΡΠ΅Π½ΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΏΠΎΠ»Π΅ βΠ€ΠΠβ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ β Π£ΡΠ΅Π½ΠΈΠΊΠΈβ. Π Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ βΠ€ΠΠβ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ βΠ£ΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡΡβ. ΠΡΠΈ ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-ΡΠΎ ΡΡΠ΅Π½ΠΈΠΊΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ βΠ£ΡΠ΅Π½ΠΈΠΊΠΈβ, ΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄Π°Π»ΠΈΡΡΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ βΠ£ΡΠΏΠ΅Π²Π°Π΅ΠΌΠΎΡΡΡβ.
ΠΡΡ ΡΡΠΎΠΈΡ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² PostgreSQL Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ½Π΄Π΅ΠΊΡ ΡΡΠΊΠΎΡΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. Π’ΠΎ Π΅ΡΡΡ Π΄Π²ΡΡ ΠΠ²Π°Π½ΠΎΠ²ΡΡ ΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ΠΎΠ²ΠΈΡΠ΅ΠΉ Ρ Π½Π°Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΠΊΠΈ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΡΠ°ΠΊΡΠΈΠΊΠ°
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ school ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌΡΡ ΠΊ Π½Π΅ΠΉ. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ pupils. ΠΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π» ΡΡΡ, Π° ΠΏΡΠΎ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ \d:
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ PRIMARY KEY (ΠΈΠΌΡ_ΠΏΠΎΠ»Ρ) Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠ²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ \d Π½Π°ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ Ρ Π½Π°Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠ΄Π΅Π»Π°Π» Π΄Π²Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
ΠΠ½Π΄Π΅ΠΊΡ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π½Π°Π»ΠΎΠΆΠΈΠ» Π΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ β Π·Π°ΠΏΠΈΡΠΈ Π² ΠΏΠΎΠ»Π΅ full_name Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ evaluations:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠ· Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ \d Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π»ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ (Foreign-key), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΏΠΎΠ»Ρ full_name ΠΈ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ pupils.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ FOREIGN KEY (ΠΈΠΌΡ_ΠΏΠΎΠ»Ρ) REFERENCES ΡΠ°Π±Π»ΠΈΡΠ°_Π½Π°_ΠΊΠΎΡΠΎΡΡΡ_ΡΡΡΠ»Π°ΡΡΡΡ.
Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΌΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΎΠΏΡΠΈΡ ON DELETE CASCADE. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΡΡΠ΅Π½ΠΈΠΊΠΎΠΌ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ pupils, Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ ΡΡΠ΅Π½ΠΈΠΊΠΎΠΌ ΡΠ΄Π°Π»ΡΡΡΡ ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Π½ΠΈΠΌΠΈ
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ βpupilsβ:
ΠΠ°ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ βevaluationsβ:
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΡΠ΅Π½ΠΊΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌΡ ΡΡΠ΅Π½ΠΈΠΊΡ:
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ. ΠΡΡΠ°Π²Π»ΡΡΡ (insert) ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ (update) Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations, Π² ΠΏΠΎΠ»Π΅ full_name ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΡΡ Π² ΡΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΠ»Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ pupils.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΄Π°Π»ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ΅Π½ΠΈΠΊΠ° ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ pupils:
Π ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΡΠΎΠΊΠ° Ρ full_name ΡΠ°Π²Π½Π°Ρ βΠΠ²Π°Π½ΠΎΠ² ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡβ ΡΠΎΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΠ»Π°ΡΡ. ΠΡΠ»ΠΈ Π±Ρ Ρ ΠΠ²Π°Π½ΠΎΠ²Π° Π±ΡΠ»ΠΎ Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠ΅Π½ΠΎΠΊ, ΠΎΠ½ΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π±Ρ Π²ΡΠ΅ ΡΠ΄Π°Π»ΠΈΠ»ΠΈΡΡ. ΠΠ° ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΎΠΏΡΠΈΡ ON DELETE CASCADE.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅Π½ΠΈΠΊΠ° Ρ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΈΠΌ-ΠΆΠ΅ Π€ΠΠ, ΠΊΠ°ΠΊ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ :
ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΡΠ»ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠ°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠΎΠ»Π΅ full_name, Π° ΡΡΠΎ ΠΏΠΎΠ»Π΅ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ. ΠΠ½Π°ΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½ΡΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅.
Π‘ΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ
ΠΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠΊΠΎΠ»Π΅ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΡΡΡ Π΄Π²Π° ΡΡΠ΅Π½ΠΈΠΊΠ° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π€ΠΠ. ΠΠΎ ΠΌΠ΅Π½ΡΡΠ΅ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΡΠΎ ΡΡΠΈ Π΄Π²Π° ΡΡΠ΅Π½ΠΈΠΊΠ° Π±ΡΠ΄ΡΡ ΡΡΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. ΠΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡΡ Π΄Π²Π° ΠΏΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ full_name ΠΈ class.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΄Π°Π»ΠΈΠΌ Π½Π°ΡΠΈ ΡΠ°Π±Π»ΠΈΡΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡ Π·Π°Π½ΠΎΠ²ΠΎ, Π½ΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ:
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΠ°Π·Π½ΠΈΡΠ° Π½Π΅ Π±ΠΎΠ»ΡΡΠ°Ρ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π² PRIMARY KEY ΡΠΊΠ°Π·Π°ΡΡ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. Π Π² FOREIGN KEY ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ. ΠΡ ΠΈ Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ»Π΅ class, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ°ΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ:
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ pupils ΡΠΆΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΡΠΈ Π΄Π²Π° ΠΏΠΎΠ»Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠ΅Π½ΠΈΠΊΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ Π€ΠΠ Π²Π±ΠΈΡΡ Π² Π½Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΡΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΡΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ :
Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅:
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ
ΠΡΡΠ°ΡΠΈ, ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅:
ΠΠΎΡΡΠΎΠΌΡ ΡΠ΄Π°Π»ΠΈΠΌ Π½Π°ΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅:
ΠΠΈΠ±ΠΎ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΎ ΡΠ°Π±Π»ΠΈΡΡ pupils Π²ΠΌΠ΅ΡΡΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ Ρ ΡΠ°Π±Π»ΠΈΡΡ evaluations:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Ρ Π½Π°Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ pupils ΡΠ΄Π°Π»ΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ
ΠΡΡΠ΅ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Π» ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΠΈ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ.
ΠΠ½Π°ΡΠ°Π»Π΅ ΡΠ΄Π°Π»ΠΈΠΌ ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ:
Π ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π±Π΅Π· ΠΊΠ»ΡΡΠ΅ΠΉ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ pupils:
Π ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ evaluations:
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π» ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ sql. Π ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π», ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. ΠΡ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΎΠ½ ΡΠ΅ΡΠ°Π΅Ρ. Π Π²Π΄ΠΎΠ±Π°Π²ΠΎΠΊ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π» Π²Π°ΠΌ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ sql ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΡΡ.
SQL ΠΊΠ»ΡΡΠΈ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΡ
Π ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎ Π΄ΠΎΠ³ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π·Π°ΠΏΠΎΠ²Π΅Π΄Π΅ΠΉ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΎΠ³Π΄Π° ΡΠΏΠΎΡΡ Π΄Π°ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΡΡ Π² Ρ ΠΎΠ»ΠΈΠ²Π°ΡΡ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ? ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΠΈΠ»ΠΈ UUID?
ΠΡΠΎΡΠΈΡΠ°Π² ΡΠ΅ΡΡΡΠ΄Π΅ΡΡΡ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ°ΡΡΠΈ, ΠΏΡΠΎΠ»ΠΈΡΡΠ°Π² ΡΠ°Π·Π΄Π΅Π»Ρ ΠΏΡΡΠΈ ΠΊΠ½ΠΈΠ³ ΠΈ Π·Π°Π΄Π°Π² ΠΊΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ² Π² IRC ΠΈ StackOverflow, Ρ (Π°Π²ΡΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ Joe Β«begriffsΒ» Nelson), ΠΊΠ°ΠΊ ΠΌΠ½Π΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ, ΡΠΎΠ±ΡΠ°Π» ΠΊΡΡΠΊΠΈ ΠΏΠ°Π·Π·Π»Π° Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΌΠΎΠ³Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΡΡ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠΎΠ². ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΏΠΎΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΈΠ·-Π·Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΡΠΆΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
Π§ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ Β«ΠΊΠ»ΡΡΠΈΒ»?
ΠΠ°Π±ΡΠ΄Π΅ΠΌ Π½Π° ΠΌΠΈΠ½ΡΡΡ ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ°Ρ , Π½Π°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ°Ρ ΠΈΠ΄Π΅Ρ. ΠΠ»ΡΡ β ΡΡΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° (column) ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ Π² ΡΡΡΠΎΠΊΠ°Ρ Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΡΠΎ Π΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡΡ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΡΡΠ° ΠΊΠ°ΡΡ Π² ΠΊΠ°ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ³ΡΠ΅:
ΠΡΠ»ΠΈ ΠΌΡ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅ΠΌ ΠΎΠ΄Π½Ρ ΠΊΠΎΠ»ΠΎΠ΄Ρ (ΡΠΎ Π΅ΡΡΡ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΊΠ°ΡΡ), ΡΠΎ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΡΠ±Π°ΡΠΊΠΈ ΠΈ Π»ΠΈΡΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ Π½Π°ΠΌ Π±Ρ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π²Π½ΠΎΡΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΡΠ±Π°ΡΠΊΡ ΠΈ Π»ΠΈΡΠΎ Π΄Π²Π°ΠΆΠ΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΠΊΠ°ΡΡΠ° Π΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΅Ρ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β Π½Π΅ Π²ΠΈΠ΄Π΅Π»ΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π΄Π°ΡΡ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Π‘Π°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅ Π½ΠΈ suit (ΡΡΠ±Π°ΡΠΊΠ°), Π½ΠΈ face (Π»ΠΈΡΠΎ) Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠ°ΡΡΡ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΡΡΠ±Π°ΡΠΊΠΎΠΉ ΠΈΠ»ΠΈ Π»ΠΈΡΠΎΠΌ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ (suit, face) ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ, Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ ΠΈΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π½Π΅ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΠΎ, Π° (suit, face) ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ.
Π Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ΄ ΠΊΠ°ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠ°ΡΡΡ:
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ
Π PostgreSQL ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΏΡΡΠΌΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ , Π½ΠΎ Π½Π΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½ΠΈΠΌ Π½Π°ΠΏΡΡΠΌΡΡ. ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΡΡΠ½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΡΠΆΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ; ΡΠ°ΠΊΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΠΎ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ°.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΈ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΈΡ Π²ΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΠ±Π»ΡΠ΄Π°ΡΡ ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡ Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°Π±Π»ΠΈΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ.
Π Π°Π΄ΠΈ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π±Ρ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠ°ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠΎΠ², ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ max_income Π΄Π»Ρ Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π³ΡΡΠΏΠΏ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ NULL ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΡ).
ΠΡΠ±ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ
Π’ΠΎ, ΡΡΠΎ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π½Π°Π·Π²Π°Π»ΠΈ ΠΏΡΠΎΡΡΠΎ Β«ΠΊΠ»ΡΡΠ°ΠΌΠΈΒ», ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈΒ» (candidate keys). Π’Π΅ΡΠΌΠΈΠ½ Β«candidateΒ» ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ»ΡΡΠΈ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡ Π·Π° ΠΏΠΎΡΡΡΠ½ΡΡ ΡΠΎΠ»Ρ Β«ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°Β» (primary key), Π° ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Β«Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈΒ» (alternate keys).
ΠΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡ SQL ΠΏΡΠΎΠΏΠ°Π»ΠΎ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΌΡΠ΅ ΡΠ°Π½Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±ΡΠ»ΠΈ Π·Π°ΡΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π² ΡΠ°ΠΊΠΈΡ Π±Π°Π·Π°Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π½Π° Π½ΠΎΡΠΈΡΠ΅Π»ΡΡ Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π΄Π°Π½Π½ΡΠΌ. ΠΠΎΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΠΠΆΠΎ Π‘Π΅Π»ΠΊΠΎ:
Π’Π΅ΡΠΌΠΈΠ½ Β«ΠΊΠ»ΡΡΒ» ΠΎΠ·Π½Π°ΡΠ°Π» ΠΊΠ»ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π½ΡΠΆΠ΅Π½ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π»ΡΠ±ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ°Π±ΠΎΡ ΠΏΠ΅ΡΡΠΎΠΊΠ°ΡΡ ΡΡΠΈΡΡΠ²Π°Π»ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅; Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Β«Π²Π΅ΡΠ½ΡΡΡΡΡ Π½Π°Π·Π°Π΄Β». ΠΠ΅ΡΠ²ΡΠ΅ Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»ΠΈ Π½Π° ΠΌΠ°Π³Π½ΠΈΡΠ½ΡΡ Π»Π΅Π½ΡΠ°Ρ ΠΈΠΌΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ. Π’.Π΅., ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΡΠΉ Sybase SQL Server Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π» Β«ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈΒ» ΡΠ°Π±Π»ΠΈΡΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ.
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ SQL Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΡΠ·ΠΈ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΠΎΠΊ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π²Π°ΠΆΠ΅Π½. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈ ΡΠ΅ΠΉΡΠ°Ρ SQL-ΡΠ΅ΡΠ²Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ, ΠΏΠΎ ΡΡΠ°ΡΠΎΠΉ ΡΡΠ°Π΄ΠΈΡΠΈΠΈ, ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΠΎΠΊ.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅ΠΆΠΈΡΠΎΠΊ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ, ΠΈ Π΅Π΄Π²Π° Π»ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠΎ-ΡΠΎ, ΠΊΡΠΎΠΌΠ΅ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ PostgreSQL ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ NOT NULL ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° JOIN.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π½Π΅ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΡΡ Π½Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ, ΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ° Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠΎΠ»Π½ΠΈΡ, Π²ΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π² Π²Π°Ρ Π½Π΅ ΡΠ΄Π°ΡΠΈΡ.
ΠΠ°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π²ΡΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈΒ», ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΌΠΈ ΠΏΠΎ ΡΠ΅Π±Π΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ· Π½ΠΈΡ ΠΊΠ»ΡΡ.
ΠΠ΅ΡΠ²ΠΎΠ΅, ΡΡΠΎ ΡΡΠΎΠΈΡ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΏΡΠΈ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ β Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠ°ΡΡΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΌΡΠ΄ΡΠΈΡΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ sqlvogel Π½Π° StackExchange Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΠ²Π΅Ρ:
Π£ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π»ΡΠ΄Π΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎΒ» ΠΊΠ»ΡΡΠ° ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ΄ΡΠΌΡΠ²Π°ΡΡ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈ Π½Π΅ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° Π·Π°Π΄Π°ΡΠΈ. Π‘ΠΌΡΡΠ» ΠΊΠ»ΡΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π°ΡΡΠΈΠ±ΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅. Π’Π°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌ ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ (Π² Β«ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈΒ» ΠΈΠ»ΠΈ Π² Β«ΠΎΠ±Π»Π°ΡΡΠΈ Π΄ΠΈΡΠΊΡΡΡΠ°Β») ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
ΠΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ»ΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° ΠΏΡΠΈ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΈ Π²Π΅ΡΠΎΡΡΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡΡ . Π ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΡΠ°Π½ΠΈΡΡ (Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²Π°Ρ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ, ΡΠΎ Π½ΠΈΠΆΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ»ΡΡΠ°.)
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠ»Π΅Π½ΠΎΠ² Ρ ΠΎΠ±Π±ΠΈ-ΠΊΠ»ΡΠ±Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π² Π΄Π²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ β first_name, last_name. ΠΡΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΎΠ±ΡΡΠΌΠ΅ Π΄Π°Π½Π½ΡΡ Π΄ΡΠ±Π»ΠΈΠΊΠ°ΡΡ ΠΌΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½Ρ, ΠΈ Π΄ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ»ΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π·ΡΠΌΠ½ΠΎ.
Π‘ ΡΠΎΡΡΠΎΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΡΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π²ΡΠ±ΠΎΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π₯ΡΠ°Π½ΠΈΠΌΡΠ΅ Π½Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π² ΡΠ΅Π±Π΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΌΠΈΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ. ΠΡΠ»ΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ΄, ΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠΈΡΡ Π΄Π²Π΅ Π±Π°Π½ΠΊΠΈ Ρ Π½Π°ΠΏΠΈΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π²Π΅ ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Ρ ΠΎΠ²ΡΡΠ½ΠΊΠΎΠΉ, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊ ΠΏΠΎ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΠΏΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΌ Π² Π²Π΅ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅?
ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ³Π°Π½Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π½Π°Π½ΠΎΡΡΡ Π½Π° ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ. ΠΠ° Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΡ ΡΡΠ°ΠΌΠΏΡΠ΅ΡΡΡ Vehicle Identification Number (VIN), Π² ΠΊΠ½ΠΈΠ³Π°Ρ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ISBN, Π½Π° ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ΅ ΠΏΠΈΡΠ΅Π²ΡΡ ΡΠΎΠ²Π°ΡΠΎΠ² Π΅ΡΡΡ UPC. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΠ·ΡΠ°Π·ΠΈΡΡ, ΡΡΠΎ ΡΡΠΈ ΡΠΈΡΠ»Π° Π½Π΅ ΠΊΠ°ΠΆΡΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ. Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Ρ Π½Π°Π·ΡΠ²Π°Ρ ΠΈΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ?
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΡΠ²ΠΎΠΉΡΡΠ² Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½Π° ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΌΠΈΡΡ. ΠΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΡΠ²ΠΎΡΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π² ΠΎΡΠ³Π°Π½Π΅ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ»ΠΈ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΈ Π±ΡΠ» ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄Π»Ρ Π½Π°Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² ΡΠ΅Π»ΠΎΠΌ ΠΌΠΈΡΠ΅ ΠΎΠ½ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ
.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΡΠ°ΡΠ»Π΅Π²ΡΡ
, ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΈ ΠΌΠ΅ΠΆΠ΄ΡΠ½Π°ΡΠΎΠ΄Π½ΡΡ
ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π΄Π»Ρ Π²Π°Π»ΡΡ, ΡΠ·ΡΠΊΠΎΠ², ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², Ρ
ΠΈΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
Π²Π΅ΡΠ΅ΡΡΠ² ΠΈ ΠΌΠ΅Π΄ΠΈΡΠΈΠ½ΡΠΊΠΈΡ
Π΄ΠΈΠ°Π³Π½ΠΎΠ·ΠΎΠ². ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ:
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ
Π‘ ΡΡΡΡΠΎΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΊΠ»ΡΡ β ΡΡΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΡΠ»ΡΠ½ΠΈΡΠ΅ΡΡΠ²ΠΎ β Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΠ΄ΡΠΌΠ°Π½Π½ΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΠΈ Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ: ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΊΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ Π½ΠΈΠΊΠΎΠΌΡ, ΠΊΡΠΎΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π·Π°ΡΠΈΡΠ΅ ΠΎΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎΡΡΠΈ ΡΡΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΆΠ΅ ΠΊΠ»ΡΡΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π»ΡΠ΄ΡΠΌ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΏΡΠΎΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΡΠΎΠΊΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ²ΡΡΠ°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊΠ° ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ (ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ»Π±ΡΠΎΠ²ΡΡ ) ΠΊΠ»ΡΡΠ΅ΠΉ.
Π‘ΡΡΡΠΎΠ³Π°ΡΡ
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ β Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌΒ» ΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ. Π‘ΡΡΡΠΎΠ³Π°ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½ΠΈΠΆΠ΅.
ΠΠ΅ ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΡΡΡΠΎΠ³Π°ΡΠ°ΠΌΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠ΄ΠΎΠ±Π½Ρ Π΄Π»Ρ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΡΡΡΠΎΠΊΡ ΡΠ½Π°ΡΡΠΆΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΊΡΠ°ΡΠΊΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ: ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠ°Π·Π°Π½ ΠΊΠ°ΠΊ URL, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»ΡΠ½ ΠΊ ΡΡΡΡΡ, ΠΏΡΠΎΠ΄ΠΈΠΊΡΠΎΠ²Π°Π½ ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, ΠΏΠΎΠ»ΡΡΠ΅Π½ Π² Π±Π°Π½ΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ Π½Π° Π½ΠΎΠΌΠ΅ΡΠ½ΠΎΠΌ Π·Π½Π°ΠΊΠ΅. (ΠΠΎΠΌΠ΅ΡΠ½ΠΎΠΉ Π·Π½Π°ΠΊ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ Π΄Π»Ρ Π½Π°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²ΠΎΠΌ ΠΊΠ°ΠΊ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ.)
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΠΈΡΠ°ΡΡ, ΡΡΠΈΡΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ. ΠΠ°Π΄ΠΎ ΡΡΠ΅ΡΡΡ, ΡΡΠΎ ΠΊΠ»ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡ, ΡΠΈΡΠ°ΡΡ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Π½ΡΠΌ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎ SMS, ΡΠΈΡΠ°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ ΠΎΡ ΡΡΠΊΠΈ, Π²Π²ΠΎΠ΄ΠΈΡΡ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π² URL. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎΠΌΠ΅ΡΠ° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΡΡ ΠΊΠ°ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Ρ ΠΎΡΡ Π±Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ.
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Π΅ (Ρ.Π΅. pseudo_encrypt(pseudo_encrypt(x)) = x ). Π’ΠΎΡΠ½ΠΎΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΡΠ½ΠΎΡΡΡ, ΠΈ Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π΄ΠΎΠ³Π°Π΄Π°Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠ΅ΡΡ Π€Π΅ΠΉΡΡΠ΅Π»Ρ ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ PostgreSQL, ΡΠΎ Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ΄Π½Π°ΠΊΠΎ Π²ΠΌΠ΅ΡΡΠΎ (((1366 * r1 + 150889) % 714025) / 714025.0) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΎΠ±Π»Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΡ 0 Π΄ΠΎ 1, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΠΎΡ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ pseudo_encrypt:
Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π»Ρ short_id ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ΅Π»ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, Π΄Π»Ρ bigint Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π€Π΅ΠΉΡΡΠ΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ XTEA.
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠ°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Π΅Ρ Π² ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ pg_hashids:
ΠΠ΄Π΅ΡΡ ΡΠ½ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ Π±ΡΡΡΡΠ΅Π΅ Ρ ΡΠ°Π½ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ°ΠΌΠΈ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π° ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ, Π½ΠΎ Π·Π°ΠΌΠ΅ΡΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ ΡΡΠΎ ΡΠΌΡΡΠ» Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅.
Π’Π΅ΠΏΠ΅ΡΡ, ΡΡΡΠΊΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ² ΡΠΌΡΡΠ» ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠΏΠΎΡΡ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΠ² ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ Β» ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠΆΠ½ΠΎΠΉ Π΄ΠΈΡ ΠΎΡΠΎΠΌΠΈΠ΅ΠΉ. ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π΅ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°! Π ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈ ΡΠ΅, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΡΠ°Π±Π»ΠΈΡΠ° Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ, Π·Π° ΡΠ΅Π΄ΠΊΠΈΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΊΠΎΠ΄ΠΎΠ² ΠΊΡΠΏΠΎΠ½ΠΎΠ²):
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ Π²Ρ Π½Π΅ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΠ΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ, ΡΠΎ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΌΠΈ:
ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΡΠΎΡΠΈΠ² ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ Π½Π΅ΡΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π°ΡΡΠ°ΡΡ Π½Π° Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΌ Π²Π°ΠΆΠ½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, ΠΊΠ»ΡΡΠΈ Π²ΡΠ΅ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΅ΡΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ (Applicants) ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ (Employees). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Π±ΡΠ» ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ, ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°ΠΌ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΈ ΠΊΠ»ΡΡΠΎΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° ΠΈ ΠΈΠΌΡ Π»ΠΎΠ³ΠΈΠ½Π° ΠΊΠ°ΠΊ Π΄Π²Π° ΠΊΠ»ΡΡΠ° Π² Employees.
Π‘ΡΡΡΠΎΠ³Π°ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ
ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ, Π²Π°ΠΆΠ½ΡΠΉ ΡΠΈΠΏ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΠΉ ΠΊΠ»ΡΡΒ». ΠΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠΌ, ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΠ°, Π²ΡΠ΅Π³Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΡ. ΠΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² SQL, Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (system columns) ΠΈΠ· PostgreSQL, ΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΡΡΠΎΠ³Π°ΡΡ ΠΏΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π²ΡΠΎΠ΄Π΅ ctid), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ΄Π½Π°ΠΊΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠ³Π°ΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΡΠΎΠΌ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ.
ΠΠ΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈΒ». ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΠΈΠ»ΠΈ, ΡΡΠΎ Ρ ΡΠΆΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅ ΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠΈΡΠΊ), ΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΠ΄Π°Π΄ΠΈΡΠ΅ ΠΊΠ»ΡΡΡ Π·Π½Π°ΡΠΈΠΌΠΎΡΡΡ. ΠΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΈΠ· Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π² ΡΡΠ΅ΠΉ-ΡΠΎ ΡΡΠΆΠΎΠΉ ΠΠ.
ΠΡΠΈΠ½ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΊΠ»ΡΡΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ, Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΡΡΡΠ»ΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΡΠΎΠ³Π°ΡΠΎΠ².
ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ bigint
ΠΠ΄Π½Π°ΠΊΠΎ, Ρ ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΠΏΠ»ΠΎΡ ΠΎΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. Π’Π°ΠΊΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡΡΡ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ:
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄ΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» (128-Π±ΠΈΡΠ½ΡΡ ), Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ. ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² (universally unique identifier, UUID) ΠΈΠΌΠ΅ΡΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΌΠ°Π»ΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π²Π°ΠΆΠ΄Ρ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π½Π° Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ .
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, UUID ΠΊΠ°ΠΆΡΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π½Π΅ ΠΏΡΠ°Π²Π΄Π° Π»ΠΈ? ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎ Π½ΠΈΡΡΠΎ Π½Π΅ ΡΡΠ°Π²Π½ΠΈΡΡΡ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ!
Π’Π°ΠΊ ΠΏΠΎΡΠ΅ΠΌΡ ΠΆΠ΅ Π²ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΈΠΌΠΈ Π² PostgreSQL? ΠΠ° ΡΡΠΎ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π°Π΄ΡΠΌΠ°Π½Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½ ΠΈ ΠΎΠ΄Π½Π° Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ, ΠΈ Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ Π½Π°Π΄ΡΠΌΠ°Π½Π½ΡΡ ΠΏΡΠΈΡΠΈΠ½Π°Ρ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΡΠ΄ΠΈ Π΄ΡΠΌΠ°ΡΡ, ΡΡΠΎ UUID β ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠΌ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅ Ρ Π΄Π΅ΡΠΈΡΠΎΠΌ: 5bd68e64-ff52-4f54-ace4-3cd9161c8b7f. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ (128-Π±ΠΈΡΠ½ΠΎΠ³ΠΎ) ΡΠΈΠΏΠ° uuid, Π½ΠΎ Π² PostgreSQL ΠΎΠ½ Π΅ΡΡΡ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π²ΡΡ bigint, Ρ.Π΅., ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΏΡΠΎΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½Ρ.
ΠΡΡ UUID Π½Π΅Π·Π°ΡΠ»ΡΠΆΠ΅Π½Π½ΠΎ ΠΎΠ±Π²ΠΈΠ½ΡΠ΅ΡΡΡ Π² Π³ΡΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΡΡΠΈ, Π½ΠΎ ΠΊΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΠΈΡΡ, ΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ? ΠΡ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ, ΡΡΠΎ ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π½ΠΎ Π½ΠΈΠΊΡΠΎ (ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ) Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΠΉ UUID. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ UUID Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π΄Π΅Π»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π·Π°ΠΏΡΡΠΊΠ°ΡΡΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SQL Π² psql Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Π½ΠΎ Π½Π° ΡΡΠΎΠΌ Π²ΡΡ. Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΡΠΎΠΊΠΈ ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π·Π°Π΄Π°Π½Ρ.
Π Π΅Π°Π»ΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ UUID Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ (write amplification) ΠΈΠ·-Π·Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π² ΠΆΡΡΠ½Π°Π» Ρ ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡΡ (write-ahead log, WAL). ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ UUID.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌ write amplification. ΠΠΎ ΠΏΡΠ°Π²Π΄Π΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ . ΠΠΎΠ³Π΄Π° PostgreSQL Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊ, ΠΎΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ Β«ΡΡΡΠ°Π½ΠΈΡΡΒ» Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎΠ± ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΅ΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΡΠ»ΠΈ PostgreSQL Π½Π°ΠΈΠ²Π½ΠΎ Π²ΠΎΡΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΡΠ½Π½ΡΠΌ, ΡΠΎ ΠΏΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½Π°.
Π Π°Π· PostgreSQL Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ²Π΅ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΠ‘/ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ/ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π΄ΠΈΡΠΊΠΎΠ² Π² Π²ΠΎΠΏΡΠΎΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠ°Π·ΡΡΠ²Π½ΠΎΡΡΠΈ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΠΎΠΉ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΆΡΡΠ½Π°Π» Ρ ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡΡ (write-ahead log), ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡ. ΠΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ UUID ΠΎΠ±ΡΡΠ½ΠΎ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΠΊΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π΄ΠΈΡΠΊΠ° ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ (ΠΎΠ±ΡΡΠ½ΠΎ 4 ΠΈΠ»ΠΈ 8 ΠΠ) Π² WAL Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ (full-page write, FPW).
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ UUID (ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Β«snowflakeΒ» ΠΎΡ Twitter ΠΈΠ»ΠΈ uuid_generate_v1() Π² ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ uuid-ossp Π΄Π»Ρ PostgreSQL) ΡΠΎΠ·Π΄Π°ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΌΠΎΠ½ΠΎΡΠΎΠ½Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈΠ΄ΠΈΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΌΠ΅Π½ΡΡΠ΅Π΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ°Π½ΠΈΡ Π΄ΠΈΡΠΊΠ° ΠΈ ΡΠ½ΠΈΠΆΠ°Π΅Ρ FPW.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠΈΠΌ Π²Π»ΠΈΡΠ½ΠΈΠ΅ FPW Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ UUID, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ WAL. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ Π·Π°ΠΌΠ΅ΡΠ°.
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ UUID Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ write-ahead log.
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΡΠ°ΠΊΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ WAL ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ°. Π’Π°ΠΊ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΡΠ»Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ:
Π― ΠΏΡΠΎΠ²ΡΠ» ΡΠ΅ΡΡΡ ΡΡΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π²:
Π Π²ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π·Π°ΠΌΠ΅ΡΠΎΠ² ΡΠΊΠΎΡΠΎΡΡΠΈ:
ΠΡΠ°ΡΠΈΠΊ ΡΠΊΠΎΡΠΎΡΡΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ UUID
ΠΠΎΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ° WAL Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ²:
Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ, ΡΡΠΎ gen_random_uuid ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π² WAL ΠΈΠ·-Π·Π° ΠΏΠΎΠ»Π½ΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² (full-page images, FPI), Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΠΈΠΌ Π½Π΅ ΡΡΡΠ°Π΄Π°ΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π² ΡΡΠ΅ΡΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΡΠ΅ΡΠΈΠ» Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π·Π°ΠΏΡΠ΅Ρ FPW ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠΎ, ΡΡΠΎ ΡΡΠΎΠΈΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΈΡΠΊΠΎΠ². Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ZFS ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ FPW, Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΈΠΌ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ.
Π―Π²Π½ΡΠΌ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Π΅ΠΌ Π² ΠΌΠΎΡΠΌ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠ΅ ΠΎΠΊΠ°Π·Π°Π»ΡΡ uuid_generate_v1() β ΠΎΠ½ Π±ΡΡΡΡ ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ uuid-ossp ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠ°ΠΊ RDS ΠΈ Citus Cloud, ΠΈ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ.
Π Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ uuid_generate_v1:
Π Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ MAC-Π°Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ ΠΌΠ΅ΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π£ΡΠΈΡΡΠ²Π°ΠΉΡΠ΅, ΡΡΠΎ UUID ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΈ Π²ΡΠ΅ΠΌΡ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΡΠΎΠΊΠ°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
ΠΡΠΎΠ³ΠΈ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Ρ Ρ ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΠΌΠΎΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΡ Π² Π²Π°ΡΠΈΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ:
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, Π² ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠΏΡΡΠΊΠ°Ρ ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΡΠΈΡΠ°Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ. Π ΡΠΎΠΌΡ ΠΆΠ΅, Π²ΠΈΠ΄ΠΈΠΌΡΠ΅ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π½Π΅ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΊ ΡΠ΅ΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Β«ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ°Ρ Β» ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΡΠ΅ΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΠ±ΡΡΠΆΠ΄Π°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π½Π° Π½Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡΡ . ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π·Π° ΠΏΠ»Π΅ΡΠ°ΠΌΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΡ Π² ΠΠ’-ΡΡΠ΅ΡΠ΅, Π½Π°Π±ΠΎΠ»Π΅Π»ΠΎ, Π½Π°ΠΊΠΈΠΏΠ΅Π»ΠΎ ΠΈ Ρ ΠΎΡΠ΅ΡΡΡ Π²ΡΡΠΊΠ°Π·Π°ΡΡΡΡ, ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΠΎΠΏΡΡΠΎΠΌ ΠΈΠ»ΠΈ Π³Π΄Π΅-ΡΠΎ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ ΡΠΎΠ²Π΅ΡΠ°, ΡΠΎ Π½Π° ΠΌΠ°ΠΉΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠΈΠ²Π°Π»Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΠΉ Π ΠΠ’++ Π±ΡΠ΄ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΡ, 8 ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ ΡΡΠΎΠ½ΡΠ΅Π½Π΄Π° ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ DevOps ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²ΠΊΡ Π½Π° Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.