Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π±Π΄ ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅
Π ΠΏΡΠΎΡΠ»ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΠ) ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Π° ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ (ΡΠ°Π±Π»ΠΈΡΠ½Π°Ρ) Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΡΡΡΡ: ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎΠ»Π±ΡΡ ΠΈ ΡΡΡΠΎΠΊΠΈ, Π° Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΠ½ΡΡΠΈΡΡ : ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆΠΈ. Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΎ, ΡΡΡΠΎΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡΠΌΠΈ, ΡΡΠΎΠ»Π±ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ, Π° ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΡΠ΅ΠΉΠΊΠΎΠΉ.
ΠΠ°ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² Π±Π°Π·Π°Ρ
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π±Π°Π·Ρ Π΄Π»Ρ Π»ΡΠ±ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ : ΡΠ΅ΠΊΡΡΠΎΠ², Π΄Π°Ρ, Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠΈΡΡ. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π΅Π»ΡΡ Π½Π° ΡΠΈΠΏΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ (Π°ΡΡΠΈΠ±ΡΡ) ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΡΠΈΡΠ΅ΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² (ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ ).
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ
ΠΡΡΠ΅ ΠΌΡ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ: ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° (Π·Π°ΠΏΠΈΡΡ) ΠΠ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π°. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² Π²ΠΈΠ΄Π΅ Π½Π°Π±ΠΎΡΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ: Π½Π°Π±ΠΎΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠ², ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΠΊΠ°ΠΊ 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 ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ². Π’ΠΎ Π΅ΡΡΡ:
Π Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Ρ, ΡΡΠΎ Π»ΡΠ±Π°Ρ Π‘Π£ΠΠ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠ°Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΠ»ΡΡ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ΅Π· Π½Π΅Π³ΠΎ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π½Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ΅ΠΊΡΠ΅ΡΡΡΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΠ»ΡΡ β ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ.
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° (ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°) Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΡΠ΅ΡΡΡ ΡΠ΅, ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΆΠ°.
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ, ΠΈ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π·Π½Π°ΡΠΈΡ ΠΊΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΡ ΡΡΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π’Π°ΠΊΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠ»ΡΡΠ΅ΠΉ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ Π² Π½Π΅Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΠΉ ΡΠ»ΠΎΠΌΠ°Π½ΠΎ Π² Π΄ΠΈΡΠΊΡΡΡΠΈΡΡ ΠΎ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌΒ» Π²ΡΠ±ΠΎΡΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π²ΡΠ±ΠΎΡ Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡ ΡΠΈΠΏΠΎΠ² Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ½Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΠΆΠ½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°Ρ .
Π ΠΈΡΠΎΠ³Π΅, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ±ΠΎΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. Π ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅, 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΡΠ΅Π»ΡΠΉ ΡΠΈΠΏ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡ 2 31 = 2 1 47 483 648 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π½Π΅ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΡΠ»ΡΡΠ°Π΅Π².
ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΠ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ·Π»Π°, Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ-ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, Π²Π΅Π΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π² ΠΠ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ β1 ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Β«125Β» Π½Π΅ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Β«125Β», ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌ Π² ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ β2. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎ- ΡΠ°Π·Π½ΠΎΠΌΡ, Π²ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ:
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠΈΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ UUID, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π»ΡΠ±ΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ :
ΠΠΎΡΠ° ΠΏΠΎΠ΄Π²Π΅ΡΡΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΎΠ³ΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ ΠΊΠ»ΡΡΠ΅ΠΉ.
ΠΡΠ±ΠΎΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, Π΅Π³ΠΎ ΡΠΈΠΏ ΠΈ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π½Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ ΠΊ Π²ΠΎΠΏΡΠΎΡΡ ΡΠΎ Π²ΡΠ΅ΠΉ ΡΠ΅ΡΡΡΠ·Π½ΠΎΡΡΡΡ.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΊΠ»ΡΡΠΈ β ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΏΡΠΈΡΡΡΠΈΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ½ΠΈ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π±ΡΠ΄ΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈΒ» ΠΈ Β«ΡΡΡΡΠΎΠ³Π°ΡΠ½ΡΠΌΠΈΒ» ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ»ΠΎΠ²Π½Π°, Π·Π°ΡΠ°ΡΡΡΡ Β«Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉΒ» ΠΊΠ»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΌ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ Β«ΡΡΡΡΠΎΠ³Π°ΡΠΎΠΌΒ» Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π²Π°ΠΌ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΠ Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Π½ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠ»ΡΠΆΠ±Ρ. ΠΠ΅ ΡΡΠΎΠΈΡ ΡΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π½Π° Π²ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΎΡΠ²Π΅Ρ Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠ»ΠΎΡΠΎΡΡΠΊΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π°Π²ΡΠΎΡΠΎΠ². Π Π°Π·ΡΠΌΠ½Π΅Π΅ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΡΡ ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π»ΡΠ±Π°Ρ ΠΠ β Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΡΠ΅ΡΠ²Π°ΡΠΈΠ²Π½ΡΠΉ Π΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ.
BestProg
Π Π΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠ°. ΠΠΈΠ΄Ρ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ. ΠΠ»Π°Π²Π½Π°Ρ ΠΈ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΡ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅, Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅
ΠΠΎΠΈΡΠΊ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΡΡΡΠ°Ρ :
ΠΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΡΡΡΡ Π·Π°Π΄Π°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°Π±Π»ΠΈΡ. ΠΠ΅ΡΠ²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΡΠΎΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°.
Π’Π°Π±Π»ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ». Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ΅
Π’Π°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β». Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ².
ΠΠΎΠΏΡΠΎΡ/ΠΎΡΠ²Π΅Ρ
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ? ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ?
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ), ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΈΠΌΠ΅Π»Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ.
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ) Π² ΠΏΠΎΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ (Π·Π°ΠΏΠΈΡΠΈ) ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ.
Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ (Π΄Π²Π΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ).
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ»Ρ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ, ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ ΡΠ°Π±Π΅Π»ΡΠ½ΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠ². ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²Π²Π΅Π΄Π΅Π½ ΠΏΠΎ ΠΎΡΠΈΠ±ΠΊΠ΅ ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ, Π»ΡΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅-ΡΡΠ΅ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
2. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ (ΡΠ²ΡΠ·Ρ) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ (relationship)? ΠΡΠΈΠΌΠ΅Ρ
Π’Π°Π±Π»ΠΈΡΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π’Π°ΠΊΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ»Ρ ΡΠ°Π±Π»ΠΈΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ».
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β». Π ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». Π’ΠΎ Π΅ΡΡΡ, ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»Ρ (Π°ΡΡΠΈΠ±ΡΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ».
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π°ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ° ΠΠ²Π°Π½ΠΎΠ² Π.Π., ΡΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π ΠΈΡ. 1. ΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ. Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ 2145 ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β»
Π ΠΈΡ. 2. Π‘Π²ΡΠ·Ρ (ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅) ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡ
3. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ (foreign key)? ΠΡΠΈΠΌΠ΅Ρ
ΠΠΎΠ½ΡΡΠΈΠ΅ Β«Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΒ» Π΅ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ (Π°ΡΡΠΈΠ±ΡΡΠΎΠ²), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ Π² Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΏΠΎ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΏΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, Π° ΠΏΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ».
4. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ?
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ β ΡΡΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΊΠ»ΡΡΡ, Π΅ΡΡΡ ΠΊΠ»ΡΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ (ΡΠ²ΡΠ·ΠΈ).
5. ΠΠΎΠ³ΡΡ Π»ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΠΈ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ (ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ)?
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ, Π²ΡΠΎΡΠΈΡΠ½ΡΠΉ ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ°ΠΊ ΠΈ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ (ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ). ΠΡΠΎΡΡΡΠ΅ ΠΊΠ»ΡΡΠΈ β ΡΡΠΎ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ (ΠΎΠ΄ΠΈΠ½ Π°ΡΡΠΈΠ±ΡΡ). Π‘ΠΎΡΡΠ°Π²Π½ΡΠ΅ (ΡΠ»ΠΎΠΆΠ½ΡΠ΅) ΠΊΠ»ΡΡΠΈ β ΡΡΠΎ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ (Π°ΡΡΠΈΠ±ΡΡΠΎΠ²).
6. ΠΠ°ΠΊΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ? ΠΡΠΈΠΌΠ΅Ρ
ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΊΠ»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΠΎΠΉ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (ΠΏΠΎΠ»Π΅ΠΉ) ΡΠ°Π±Π»ΠΈΡΡ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ ΡΠΈΠΏΠ° ΡΡΠ΅ΡΡΠΈΠΊ (counter). Π ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅, ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ (ΡΡΡΠΎΠΊΠΈ) Π² ΡΠ°Π±Π»ΠΈΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 1 (ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ). ΠΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΡΡΡΠΎΠΊ ΡΠΆΠ΅ Π½Π΅ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΡΡΡ, Π° ΠΎΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π΅ΡΡΡ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π·Π° ΡΡΠΈΠΌ Π²ΡΠ΅ ΡΠ»Π΅Π΄ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ (Π°ΡΡΠΈΠ±ΡΡ) Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ». ΠΠΎΠ»Π΅ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ» Π΅ΡΡΡ ΡΠ°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π²ΡΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ.
Π ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ, Π·Π΄Π΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅-ΡΡΠ΅ΡΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
Π³Π΄Π΅ ΠΏΠΎΠ»Π΅ Β«ΠΠΎΠΌΠ΅ΡΒ» Π΅ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ.
7. ΠΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°?
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 3 ΡΠΏΠΎΡΠΎΠ±Π° Π²ΡΠ±ΠΎΡΠ° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°:
8. Π§ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Ρ Β«Π³Π»Π°Π²Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°Β» (master) ΠΈ Β«ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ°Β» (detail)?
ΠΡΠ»ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π΅ΡΡΡ ΡΠ²ΡΠ·Ρ, ΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ (master), Π° Π΄ΡΡΠ³Π°Ρ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ (detail). ΠΠ»Π°Π²Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΉ. ΠΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ (ΡΠ΅ΠΊΡΡΠΈΠΌ). ΠΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β», ΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ, Π° ΡΠ°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ.
9. ΠΠ°ΠΊΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΈΠΏΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ (ΡΠ²ΡΠ·Π΅ΠΉ) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ?
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ 4 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ:
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» ΠΈ Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β», ΡΠΎ ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π΅ΡΡΡ ΡΠΈΠΏΠ° Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ». Π’Π°Π±Π»ΠΈΡΠ° Β«Π Π°Π±ΠΎΡΠ½ΠΈΠΊΒ» Π΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠΉ. Π’Π°Π±Π»ΠΈΡΠ° Β«ΠΠ°ΡΠΏΠ»Π°ΡΠ°Β» Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΠΎΠΉ.
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 ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠΠΎΠ΄Π°ΡΡ Π·Π°ΡΠ²ΠΊΡ Π½Π° Π²ΡΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π΄Π΅ΡΡ.