ΠΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ β Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ ΠΡΠ³Π° Π€Π°ΡΡΠ΅Π»Π»Π° Data Management With Python, SQLite, and SQLAlchemy. ΠΠΎΠ»Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΡΠΎΠ±ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² GitHub-ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΎΡΡΡΠ»Π°ΡΡ ΠΊ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ.
ΠΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ. Π Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±Π°Π· Π΄Π°Π½Π½ΡΡ . Π‘ ΡΠ°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²ΠΈΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Python, SQLite ΠΈ SQLAlchemy.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΌΠ°ΡΡ CSV, JSON, XML ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΊΠ°ΡΡΠΎΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ°ΠΊΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π»Π΅Π³ΠΊΠΈΠΉ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ β ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ½ΡΡΠ½Π° Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π°. ΠΠΈΠΆΠ΅ ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ·ΡΠΊΠ° SQL, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΎΠ±ΡΠΈΡ ΡΠ΅ΡΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΎΠΏΡΠΎΡΡ:
- ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ»ΠΎΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ SQLite Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ;
- ΠΊΠ°ΠΊ SQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄Π°Π½Π½ΡΠΌ;
- ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ SQLAlchemy Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠΎΡΠΌΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Python.
Π ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π°ΠΊΡΠ΅Π½Ρ Π² ΡΡΠ°ΡΡΠ΅ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° SQLAlchemy.
π§Ύ ΠΠ»ΠΎΡΠΊΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ΄ ΠΏΠ»ΠΎΡΠΊΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ (ΠΏΠ»ΠΎΡΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ) Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΠ°ΠΉΠ», ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π±Π΅Π· Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΈ ΡΡΡΠ»ΠΎΠΊ Π½Π° Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ ΡΡΠ΄ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ: Π² ΡΠ°ΠΊΠΈΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΏΠΎΠ»Π΅ΠΉ, Π° csv-ΡΠ°ΠΉΠ»Ρ (Π°Π½Π³Π». comma separated values) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Ρ Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ , Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΡΡΡΠΎΠΊΠ΅, ΠΎΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΡΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ β ΠΈΠΌΠ΅Π½Π° ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠ»ΠΎΡΠΊΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΠ΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠ»ΠΎΡΠΊΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ°, Π½Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ Π½Π°ΠΉΡΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΌΠ΅ΡΡ ΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΡΠΊΡΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ. Π Excel ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ csv-ΡΠ°ΠΉΠ» Π² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ.
ΠΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ»ΠΎΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² β ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½Ρ, Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ csv-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. Python ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ csv ΠΈ ΠΌΠΎΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ pandas.
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΏΠ»ΠΎΡΠΊΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΏΠ»ΠΎΡΠΊΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΠ½ΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π€Π°ΠΉΠ»Ρ ΠΎΡΡΠ°ΡΡΡΡ ΡΠΈΡΠ°Π΅ΠΌΡΠΌΠΈ, Π½ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΈΡΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ. Π Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° β ΡΠ°ΠΉΠ» ΡΠ°Π·ΡΠ°ΡΡΠ°Π΅ΡΡΡ, ΠΈ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠ΅Π±ΡΠ΅Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΡΡΠ³Π°Ρ ΡΡΡΠ΄Π½ΠΎΡΡΡ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ»ΠΎΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² β Π½ΡΠΆΠ½ΠΎ ΡΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π§ΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΈΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ.
ΠΡΡ ΠΎΠ΄Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ β Π»ΡΠ΄ΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π½Π°ΡΡ ΠΎ ΡΡΡΡΠΊΡΡΡΠ°Ρ ΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°Π·ΠΈΠ»ΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
π ΠΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ»ΠΎΡΠΊΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΠ°ΠΉΠ» author_book_publisher.csv
, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ², ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ
ΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ ΠΏΡΠΎΡΡΠΎΡΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΠΈΡΠ°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ Π°Π²ΡΠΎΡΡ, ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ, ΠΈ Π²ΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΈΡΡΡΡΡ Π°Π²ΡΠΎΡΠΎΠΌ Π±Π΅Π· ΡΠΎΠ°Π²ΡΠΎΡΠΎΠ².
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡ main()
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°Ρ
ΠΎΠ΄ΡΡΠ΅ΠΉΡΡ Π² ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ examples/example_1/main.py.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ csv-ΡΠ°ΠΉΠ»Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π±ΠΎΡΡ main()
Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅. Π‘Π°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ pandas.
ΠΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π΄Π°Π»Π΅Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SQLAlchemy Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
π¦ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SQLite Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°ΠΊ ΠΌΡ ΡΠΏΠΎΠΌΡΠ½ΡΠ»ΠΈ Π²ΡΡΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΈ, Π² ΡΠ°ΠΉΠ»Π΅ author_book_publisher.csv
Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄Π°Π½Π½ΡΡ
Π΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠΌΠ°Π½ ΠΠ΅ΡΠ» ΠΠ°ΠΊ The Good Earth
ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Π±ΡΠ»ΠΎ Π±Ρ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» Π±ΠΎΠ»ΡΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅, Π΄Π°ΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, ISBN ΠΊΠ½ΠΈΠ³ΠΈ, Π°Π΄ΡΠ΅Ρ ΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°: Π°Π²ΡΠΎΡΠ°, ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎ, Π½ΠΎ ΠΈ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ 1) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ 2) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΠ±ΡΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΡΡΠΈΡΡΠ²Π°ΡΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΡΡΡΡΠΌΠΈ Π² Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ β ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ Π² ΡΡΠΎΠΌ ΠΏΠ»Π°Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΠΊ Π²ΠΈΠ΄Ρ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅ΠΌΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΡΡΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ.
SQLite ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Python. ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΠΉΠ»Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΌ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ SQLite.
ποΈ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π Π΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠ°Π±Π»ΠΈΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL.
SQL β ΡΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΡ Π² Π±Π°Π·Π΅. ΠΠ΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π° Π½Π΅ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² SQL ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
Π§ΡΠΎΠ±Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ SQL, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈΠ· ΡΠ°ΠΉΠ»Π° author_book_publisher.csv
. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ Π°Π²ΡΠΎΡΠΎΠ², ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΠ°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡ. ΠΠ°Π½Π½ΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² ΠΏΠΎΠ»ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ: ΡΠ΅ΠΊΡΡ, ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ ΠΈ Ρ. Π΄. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΡ csv-ΡΠ°ΠΉΠ»ΠΎΠ², Π³Π΄Π΅ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ.
ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ (Π°Π½Π³Π». primary key), ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΊΠ»ΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ Python. ΠΠ²ΠΈΠΆΠΎΠΊ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² ΠΏΠΎΠ»Π΅, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΠ»Π΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ°Π±Π»ΠΈΡΠ΅, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ , Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅ ISBN.
π’ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² SQL ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π°Π²ΡΠΎΡΠΎΠ², ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π΄Π΅ΡΡ Π½Π΅Ρ Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , Π½ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π»Ρ ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅Π»Π°Π΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ. ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Π΄Π°Π»Π΅Π΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ SQL-Π·Π°ΠΏΡΠΎΡΡ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π·Π½Π°ΠΊ *
, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π°Π²ΡΠΎΡΠΎΠ²:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ sqlite3
Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
author_book_publisher.db:
ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ SQL ΠΈ Π΅Π΅ Π²ΡΠ²ΠΎΠ΄, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° .q
Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ csv-ΡΠ°ΠΉΠ»Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ Π°Π²ΡΠΎΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
πΉοΈ ΠΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL
SQL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
. ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° SQL Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ° Π² ΡΠ°Π±Π»ΠΈΡΡ author
:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ INSERT
Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Paul
ΠΈ Mendez
Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΡ first_name
ΠΈ last_name
ΡΠ°Π±Π»ΠΈΡΡ author
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΠ»Π±Π΅Ρ author_id
Π½Π΅ ΡΠΊΠ°Π·Π°Π½. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ ΡΡΠΎΠ»Π±Π΅Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ°ΠΌ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π‘ΡΠΈΠ²Π΅Π½ ΠΠΈΠ½Π³ Ρ ΠΎΡΠ΅Π», ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π·Π½Π°Π»ΠΈ ΠΏΠΎΠ΄ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ Π ΠΈΡΠ°ΡΠ΄ ΠΠ°Ρ ΠΌΠ°Π½:
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ SQL Π½Π°Ρ
ΠΎΠ΄ΠΈΡ Π·Π°ΠΏΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° WHERE
, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Ρ first_name
ΠΈ last_name
ΡΠ²Π΅ΠΆΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° (=
) Π² SQL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈ Π΄Π»Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΈ Π΄Π»Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° SQL Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ Π°Π²ΡΠΎΡΠΎΠ²:
first_name = 'Paul'
, ΡΠΎ Π±ΡΠ»ΠΈ Π±Ρ ΡΠ΄Π°Π»Π΅Π½Ρ Π²ΡΠ΅ Π°Π²ΡΠΎΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Paul.π€ Π‘ΡΡΠΎΠΈΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ: Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ»
ΠΠ°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ author_book_publisher.csv
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΠ²ΡΠ·ΠΈ ΠΏΡΡΠ΅ΠΌ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
SQLite ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ (author
, book
, and publisher)
ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ.
Π‘Π²ΡΠ·Ρ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠ²ΡΠ·Ρ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ Ρ Π·Π°ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠΎΠ²Π°ΡΠ°ΠΌΠΈ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·ΠΎΠ², Π½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΊΠ°Π· ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ. Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
author_book_publisher.db
ΡΠ²ΡΠ·Ρ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠ½ΠΈΠ³. ΠΠ°ΠΆΠ΄ΡΠΉ Π°Π²ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³, Π½ΠΎ ΠΊΠ°ΠΆΠ΄Π°Ρ Ρ
ΡΠ΄ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΎΠ΄Π½ΠΈΠΌ Π°Π²ΡΠΎΡΠΎΠΌ (Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°).
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·Ρ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ? ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ <ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ>_id
.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π±Π»ΠΈΡΠ° book
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Π΅ author_id
, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΡΠ°Π±Π»ΠΈΡΡ author
(ΡΠΌ. Π²ΡΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ»Π΅ author_id
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΡΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ (ERD), ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ JetBrains DataGrip. ΠΠ²Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ²ΡΠ·ΡΡ :
- ΠΠ½Π°ΡΠΊΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ (ΠΆΠ΅Π»ΡΡΠΉ ΡΠ²Π΅Ρ) ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ (Π³ΠΎΠ»ΡΠ±ΠΎΠΉ ΡΠ²Π΅Ρ) ΠΊΠ»ΡΡΠΈ.
- Π‘ΡΡΠ΅Π»ΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ°
author_id
.
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ SQL-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ JOIN
:
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ SQL-Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· author
ΠΈ book
, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ²ΡΠ·Ρ. ΠΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΡ ΡΡΡΠΎΠΊ SQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ author_name
ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ Π°Π²ΡΠΎΡΠ°. ΠΠ°Π½Π½ΡΠ΅, ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, ΡΠΎΡΡΠΈΡΡΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ last_name
.
Π‘ΠΎΠ·Π΄Π°Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠ½ΠΈΠ³ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΡΠ²ΡΠ·Ρ, ΠΌΡ ΡΠΌΠ΅Π½ΡΡΠΈΠ»ΠΈ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ . Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ β Π² Π΄ΡΡΠ³ΠΎΠΌ.
π ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ²ΡΠ·ΠΈ: Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ»
ΠΠ²ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΠΌΠΈ, Π° ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ β ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ. ΠΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π°Ρ
, Π° ΠΈΠ·Π΄Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π½ΡΡ
ΠΊΠ½ΠΈΠ³. Π’ΠΎ Π΅ΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
author_book_publisher.db
ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠ°ΠΌΠΈ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ.
Π’Π°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠ²ΡΠ·ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄Π²ΡΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΡΡΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Π’Π°ΠΊΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π΄Π²Π° ΠΏΠΎΠ»Ρ Π²Π½Π΅ΡΠ½ΠΈΡ ΠΊΠ»ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π΄Π²ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° author_publisher
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΡΠ°Π±Π»ΠΈΡ author
ΠΈ publisher
. Π’ΠΎ Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° author_publisher
ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ° book_publisher
.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²ΡΠ·Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΄Π²ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° JOIN
, Π½ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄Π²Π°ΠΆΠ΄Ρ:
- Π‘ΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ
author
ΠΈauthor_publisher
- Π‘ΠΎΠ΅Π΄ΠΈΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ
author_publisher
ΠΈpublisher
ΠΡΠΈΠΌΠ΅Ρ SQL-Π·Π°ΠΏΡΠΎΡΠ°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠ±Π»ΠΈΠΊΡΡΡΠΈΡ ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ:
ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΎΡΡΠ°ΠΆΠ°ΡΡΠ΅Π³ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ SQL:
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³. Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠ½ΠΈΠ³ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²ΡΠΎΡΠ° Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
Π’ΠΎ Π΅ΡΡΡ Π·Π΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ SQL ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Ρ ΠΆΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Ρ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² Python.
π§° Π Π°Π±ΠΎΡΠ° Ρ SQLAlchemy ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Python
SQLAlchemy β ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Python-ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΌΡΡΠ»ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΡΠ². ΠΡΠΎΡ Π·Π°Π·ΠΎΡ ΠΏΠΎΠΊΡΡΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ORM), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ SQLAlchemy. ΠΠ΅ΠΆΠ΄Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Python ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ Python ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, SQLAlchemy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΡΡΠ»ΠΈΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΌΠΎΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ΄Π΅Π»Ρ. ΠΠ»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ SQLAlchemy ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ β ΠΊΠ»Π°ΡΡ Python, ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° SQLAlchemy Base
, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Python, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ°, ΠΈ ΡΠ°ΠΌΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΠ°ΠΉΠ» models.py
ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
author_book_publisher.db
:
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ
Π² ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΡΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
author_book_publisher.db
.
ΠΠ»Π°ΡΡ Table
ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ β ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, Π²ΡΠΎΡΠΎΠΉ (Base.metadata
) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ SQLAlchemy ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° Column
, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΡΠΈΠΏΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΊΠ»ΡΡΡ.
ΠΠ»Π°ΡΡ ForeignKey
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΏΠΎΠ»ΡΠΌΠΈ Column
Π² ΡΠ°Π·Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ author_publisher
ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ SQLAlchemy, ΡΡΠΎ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ author_publisher
Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ author_id
, ΡΠΈΠΏ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ β Integer
, ΠΈ ΠΎΠ½ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ author
.
Π€ΡΠ½ΠΊΡΠΈΡ relationship
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ.
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ relationship
β ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° Book
(Π½Π΅ ΠΏΡΡΠ°ΠΉΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ book
) β ΡΡΠΎ ΠΊΠ»Π°ΡΡ, ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π°ΡΡΠΈΠ±ΡΡ books
. ΠΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ SQLAlchemy, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Author
ΠΈ Book
. SQLAlchemy Π½Π°ΠΉΠ΄Π΅Ρ ΡΠ²ΡΠ·Ρ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° Book
:
SQLAlchemy ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΡΠΎΡΠΊΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ForeignKey
ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ backref
ΡΠΎΠ·Π΄Π°Π΅Ρ Π°ΡΡΠΈΠ±ΡΡ author
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Book
. ΠΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Author
, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ²ΡΠ·Π°Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Book
.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Python, ΡΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Book
, ΠΈΠΌΠ΅ΡΡΠΈΠΉ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ½ΠΈΠ³Π΅:
ΠΠ°Π»ΠΈΡΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° author
Π² book
ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ backref
. ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΡΠ»ΠΊΠ° ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π°, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° Π²ΡΠ΅, ΡΡΠΎ Ρ Π½Π°Ρ Π΅ΡΡΡ, β ΡΡΠΎ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ.
ΠΡΡΠ³Π°Ρ ΡΠ²ΡΠ·Ρ Ρ Author
Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Publisher
:
ΠΠ°ΠΊ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ, Π°ΡΡΠΈΠ±ΡΡ publishers
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ Π°Π²ΡΠΎΡΠΎΠΌ. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, "Publisher"
, ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ SQLAlchemy, ΡΡΠΎ ΡΡΠΎ Π·Π° ΠΊΠ»Π°ΡΡ. ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ secondary
ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ SQLAlchemy, ΡΡΠΎ ΡΠ²ΡΠ·Ρ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ Publisher
ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Β«Π²ΡΠΎΡΠΈΡΠ½ΡΡΒ» ΡΠ°Π±Π»ΠΈΡΡ β ΡΠ°Π±Π»ΠΈΡΡ author_publisher
. Π’ΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ back_populate
ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ SQLAlchemy ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ Publisher
, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ authors
.
π¬ ΠΠ°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ SELECT * FROM author
Π² SQLAlchemy ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ΠΠ΄Π΅ΡΡ session
β ΠΎΠ±ΡΠ΅ΠΊΡ SQLAlchemy, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ²ΡΠ·ΠΈ Ρ SQLite Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ
Python. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ, ΡΡΠΎ Ρ
ΠΎΡΠΈΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ Author
ΠΈ Π²Π΅ΡΠ½ΡΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SQLAlchemy Π²ΠΌΠ΅ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ SQL ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Ρ ΡΡΠ΅ΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΏΠΈΡΠΊΠ° ΡΠΊΠ°Π»ΡΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Author
Ρ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ ΡΡΠΎΠ»Π±ΡΠΎΠ².
ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ ΠΈ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠ°Ρ SQLAlchemy, ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π°Π²ΡΠΎΡΠΎΠ² ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»ΠΈ. ΠΠ° ΠΊΡΠ»ΠΈΡΠ°ΠΌΠΈ SQLAlchemy ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ·ΠΎΠ²Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ SQL Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ SQLite. Π Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, SQLAlchemy ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ SQL, Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ Python.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ SQLAlchemy ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ Π°Π³ΡΠ΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° Π°Π²ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΏΡΠΎΡ session.query
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΠΈ ΡΠ°ΠΌΠΈΠ»ΠΈΡ Π°Π²ΡΠΎΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΈΠ³, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π°Π²ΡΠΎΡΠΎΠΌ. ΠΠ³ΡΠ΅Π³ΠΈΡΡΡΡΠΈΠΉ ΡΡΠ΅ΡΡΠΈΠΊ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ group_by
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ΄ΡΡΠ΅Ρ ΠΏΠΎ ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ Π°Π²ΡΠΎΡΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΡΡΠΈΡΡΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΎΠΌ book_total
.
π¨βπ» ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ examples/example_2/main.py ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SQLAlchemy ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
SQLite author_book_publisher.db
. ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π·Π΄Π΅ΡΡ ΡΡΠ½ΠΊΡΠΈΡ main()
:
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΈ Ρ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π²Π΅ΡΡ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ»Π΅ Π²ΡΡΠ°ΠΆΠ°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ, Π° Π½Π΅ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. Π Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π° ΡΠ΅ΠΏΠ΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SQL ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Python.
π₯ ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ
Π ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½ΡΠΌ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ pandas, SQLite ΠΈ SQLAlchemy. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ΅ΡΠ°ΡΡΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠ»ΠΎΡΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΡΡΠΊΡΡΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ, β Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΡ Π΄Π΅Π»ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π²ΠΎΠΏΡΠΎΡ ΠΊΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΈΡ ΡΠ°ΡΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ . Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²Π΅Ρ β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠΌΠ΅ΡΡΠ΅Π΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π·ΡΠ° ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΠΎΠΉ ΡΡΠ΅Π±Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite Chinook, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΡ , Π°Π»ΡΠ±ΠΎΠΌΠ°Ρ , ΡΡΠ΅ΠΊΠ°Ρ , ΠΆΠ°Π½ΡΠ°Ρ ΠΈ Ρ. ΠΏ. (11 ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ).
π ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Flask Ρ SQLite ΠΈ SQLAlchemy
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° examples/example_3/chinook_server.py ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flask, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ:
- Flask Blueprint β ΡΠ°ΡΡΡ Flask Π΄Π»Ρ Π΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΠΌΠΎΠ΄ΡΠ»ΡΠΌ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ;
- Flask SQLAlchemy β ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Flask, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ΅Π΅ Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ SQLAlchemy;
- Flask_Bootstrap4 ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Bootstrap, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΡ Π΅Π³ΠΎ Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Flask;
- Flask_WTF ΡΠ°ΡΡΠΈΡΡΠ΅Ρ Flask Ρ ΠΏΠΎΠΌΠΎΡΡΡ WTForms, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ Π²Π°ΡΠΈΠΌ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅Π±-ΡΠΎΡΠΌ;
- python_dotenv β ΠΌΠΎΠ΄ΡΠ»Ρ Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΅Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ, ΠΈ Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ Π΅Π³ΠΎ ΡΠ°ΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΡΠΊΡΠΈΠ½ΠΊΠ°ΡΡ, Π·Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ»Π΅Π΄ΡΠ΅Ρ HTML-ΠΊΠΎΠ΄ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Python-ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅.
HTML-ΡΠ°Π±Π»ΠΎΠ½ Jinja2, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
Π€Π°ΠΉΠ» Python, ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π°Π·ΡΠΌΠ½ΠΎ Π·Π°Π΄Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ: ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ SQLite ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ Π²ΡΠ±ΠΎΡΠΎΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ° Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ SQLite ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ SQLite β Ρ ΠΎΡΠΎΡΠΈΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ², ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΠΎΠΊΠΎΠ»ΠΎ 100 ΡΡΡ. ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ Π² Π΄Π΅Π½Ρ. ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π±ΠΎΠ»ΡΡΠ΅, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²Π°Ρ ΡΡΠΎΠΈΡ ΠΏΠΎΠ·Π΄ΡΠ°Π²ΠΈΡΡ π
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQLAlchemy, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· SQLite Π² Π΄ΡΡΠ³ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΡΡ ββΠΊΠ°ΠΊ MySQL ΠΈΠ»ΠΈ PostgreSQL. ΠΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ SQLAlchemy ΠΎΡΡΠ°Π½ΡΡΡΡ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌΠΈ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ