ΠΠ·ΡΡΠ°Π΅ΠΌ sql. ΠΡΠΎΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ β UNIQUE, DEFAULT, CHECK. ΠΠ°ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ
ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΠΊΡΡΡΡ SQL "Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²" ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ, Π²Π΅Π΄Ρ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ "Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΠ΅" Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ ΠΈ ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π½Π° ΠΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠ²ΡΡΠΈΡΡ ΡΠ°ΠΉΡΠΎΠ², ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π° ΠΊΡΡΡΡ SQL "Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²".
ΠΠ°ΡΠ΅ΠΌ ΠΈΠ·ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ?
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ SQL ΡΡΠ°Ρ Ρ ΡΠ΅Π»ΡΡ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ Π΄Π²ΠΈΠΆΠΊΠΎΠ² Π±Π»ΠΎΠ³ΠΎΠ² - WordPress. ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΡΡΡΡ ΡΡΠΎΠΊΠΎΠ² Π²Ρ ΡΠΆΠ΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΠΏΡΠΎΡΡΠΎΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SQL?
ΠΠ»ΠΈ ΡΠ·ΡΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ Ρ ΠΎΠ΄Π½ΠΎΠΉ-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ: ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ Π·Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ SQL-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ³Π΄Π° Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌ "Π½Π΅ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΌ" ΡΠ·ΡΠΊΠ°ΠΌ. Π’ΠΎ Π΅ΡΡΡ Π² Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ -Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠΎ ΠΏΡΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΡΠ½ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ Π½ΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π² ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ "Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ". ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΠ½ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ.
ΠΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅ΡΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°?
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΡ ΠΏΡΠΎΡΡΠΎΡΡ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ SQL ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². Π’Π°ΠΊ ΡΡΠΎ ΠΆΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ Π²Π°ΠΆΠ½ΡΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ·ΡΠΊ?
- ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ;
- ΠΏΠΎΠ»ΡΡΠ°ΡΡ, Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅;
- ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅;
- ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π΅Π΄ΠΈΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ;
- Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅;
- ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΡΠΌΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅?
ΠΡΠ»ΠΈ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΡ ΠΊΡΡΡΡ SQL "Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²", ΡΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ. Π‘Π°ΠΌΡΠΌΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ Π½Π° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅:
- DDL - ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅. ΠΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π±Π°Π·Π΅.
- DCL - ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ°Π·Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±Π°Π·Π΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
- TCL - ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΡΠΎΠ΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ. ΠΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ ΠΎΠ΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
- DML - ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. Π Π΅Π΅ Π·Π°Π΄Π°ΡΡ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π²Π½ΠΎΡΠΈΡΡ ΡΡΠ΄Π° Π΅Π΅.
Π’ΠΈΠΏΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΡΡΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
ΠΠΎΠ΄ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠ²ΠΎΠΈΠΌ ΡΡΠ°ΡΡΡΠΎΠΌ. Π‘Π°ΠΌΠΎΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ, Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ Π²Ρ ΠΎΠ΄ Π² ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ. Π‘ΡΠ°ΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»ΡΡΡΡΡ, Π° Π½ΠΎΠ²ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ. ΠΠ° ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΠΉ Π΄Π΅Π½Ρ, Π²ΡΠ΅ ΡΠ΅, ΠΊΡΠΎ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΠΊΡΡΡΡ SQL Server "Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²", Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
- ΠΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ - ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠΎΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½ΠΎ ΠΈ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ. ΠΡΠ»ΠΈ ΠΊΡΠΎ-Π»ΠΈΠ±ΠΎ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ²ΠΎΠΈΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π» ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΠΎΠ½ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΅Π΅ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ. ΠΠΎΡΡΠΎΠΌΡ Π² Π΅Π³ΠΎ ΠΏΡΠ°Π²Π΅ Π½Π°Π·Π½Π°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π² Π½Π΅ΠΉ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠΈΠΏ - ΡΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π°Π²ΡΠΎΡΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²Π° Π½Π° Π΄Π°Π½Π½ΡΠ΅. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² Π±Π°Π·Π΅.
ΠΡΡΠΎΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ SQL
ΠΡΠΎΡ ΡΠ·ΡΠΊ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠΈΠ΅ΠΉ IBM Π² 1970 Π³ΠΎΠ΄Ρ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΅Π³ΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΠΌ (SEQUEL), Π½ΠΎ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΠ². ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Π΄Π°ΠΆΠ΅ ΡΠ΅Π³ΠΎΠ΄Π½Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΌΠΈΡΠΎΠ²ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π½ΠΎΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΠ°ΡΠΈΠ½ΠΊΠ΅. Π‘ΠΎΠ·Π΄Π°Π½Π° Π±ΡΠ»Π° SQL Ρ ΠΎΠ΄Π½ΠΎΠΉ-Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ - ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠΈ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» Π±Ρ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΠΌ, ΡΡΠΎ Π΅Π³ΠΎ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π±Π΅Π· ΠΎΡΠΎΠ±ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π²ΡΡΡΠΈΡΡ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΡΠΎΡ ΡΠ°ΠΊΡ, ΡΡΠΎ Π½Π° ΡΠΎ Π²ΡΠ΅ΠΌΡ SQL Π±ΡΠ» Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ. Π ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° Π³ΡΡΠΏΠΏΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Ingres, Π½ΠΎ ΠΎΠ½ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΡΡΠ°Π» ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ. ΠΠΎ 1980 Π³ΠΎΠ΄Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°ΡΠΈΠΉ SQL, ΠΊΠΎΡΠΎΡΡΠ΅ Π»ΠΈΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ°Π»ΠΈΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π°, Π² 1983-ΠΌ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π΅Π³ΠΎ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½ ΠΈ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. ΠΡΡΡΡ SQL "Π΄Π»Ρ ΡΠ°ΠΉΠ½ΠΈΠΊΠΎΠ²" ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ·Π½Π°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΡΡΠΈΡΡ Π΅Π³ΠΎ Π·Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½Π΅Π΄Π΅Π»Ρ.
ΠΡΠΎΡΡΠΎ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ Π‘Π£ΠΠ SQL Server 2012. ΠΠΎΠΊΠ°Π·Π°Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° MS SQL Server 2012. ΠΠΏΠΈΡΠ°Π½ ΡΠ·ΡΠΊ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Transact-SQL. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΠΈΡ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, Π·Π°ΠΏΡΠΎΡΡ, ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΈΠ³Π³Π΅ΡΡ, Ρ
ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΎΠΊΠ°Π·Π°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ. Π£Π΄Π΅Π»Π΅Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Π·Π°Π΄Π°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘Π£ΠΠ. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ
ΠΊΠΎΠΏΠΈΠΉ Π΄Π°Π½Π½ΡΡ
ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΏΠΈΡΠ°Π½Ρ ΡΠ»ΡΠΆΠ±Ρ Microsoft Analysis Services, Microsoft Reporting Services ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΠ·Π°. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ XML, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΏΠΎΠ»Π½ΠΎΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. ΠΠ»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
Π ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅ Π½Π°ΠΈΠ²ΡΡΡΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ ΡΠΌΠ΅ΡΡ ΡΡΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ·ΡΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΈΠ·Π»Π°Π³Π°Π΅ΡΡΡ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ β ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ΠΌ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡ Π²Π°ΠΌ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, Π²ΡΠ΄Π΅Π»ΡΡΡΠΈΠΉ ΡΠ΅ΡΠΈΡ Β«Head FirstΒ» ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΡΠ²Π° O\βReilly Π² ΡΡΠ΄Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠΊΡΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ SQL, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠΎΡΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, ΠΏΠΎΠ²ΡΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ Π²ΡΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ DDL ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ API, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ XML ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Java, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ SQL, ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΠΌΠΈ ΠΈ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΈ Π½Π°Π»Π°Π΄ΠΎΠ½Π½ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ², ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅.
SQL Π΄Π»Ρ ΠΏΡΠΎΡΡΡΡ ΡΠΌΠ΅ΡΡΠ½ΡΡ β ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ .
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΠΌΠ΅Π΅ΡΠ΅ ΠΎΠΏΡΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π²Ρ Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ SQL Π»Π΅Π³ΠΊΠΎ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΏΡΠΎΡΡΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. ΠΠ»Ρ ΠΎΠ²Π»Π°Π΄Π΅Π½ΠΈΡ SQL:
β Π£ΡΠ²ΠΎΠΉΡΠ΅ ΡΠΌΡΡΠ» ΠΏΠΎΠ½ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ³ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
β Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ Π΄Π°Π½Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ ΠΏΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ SQL Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Π΄Π°Π½Π½ΡΡ
ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ. ΠΠ°ΡΡΠΈΡΠ΅ΡΡ Π²ΡΠ±ΠΈΡΠ°ΡΡ ΠΈ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΌΠ΅Π»ΠΎ ΠΈΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ.
β ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ ΡΠΎΡΡΠ°Π²Π½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΠ°Π·Π²ΠΈΡΡΡ ΡΠ΅Ρ
Π½ΠΈΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΠΊΠΎΠ½ΡΡΡΡΠΈΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ.
β Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΡΡΠ΅ΡΠ΅ ΡΠΎΡΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΈΠ·Π½Π΅ΡΠ°. ΠΠ·ΡΡΠ°ΠΉΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠ΅Ρ
Π½ΠΈΠΊΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠΈΡΡ Π΄Π°Π½Π½ΡΡ
.
β Π£ΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ SQL Ρ ΡΠ·ΡΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π³Π»Π°Π²Ρ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
SQL is older than most of us, so I canβt claim to be conveying some extraordinary stuff through this book. What makes this title unique is its slender size. If you are looking for a real compact practical guide on SQL, then this book is for you. For beginners, I have tried to confine an ocean to a bucket in order to equip them with SQL knowledge in the shortest time possible. SQL language is too voluminous and exposure of every aspect of this huge language is a very tedious task. Keeping aside the least utilized features, this book is rolled out to focus on the more operational areas of the language. It is meant to help you learn SQL quickly by yourself. It follows a tutorial approach wherein hundreds of hands-on exercises are provided, augmented with illustrations, to teach you SQL in a short period of time. Without any exaggeration, the book will expose SQL in record time. The book explicitly covers a free platform of the worldβs number 1 DBMS to expose SQL: Oracle Database Express Edition. I have chosen Oracle XE because it is free to develop, deploy, and distribute; fast to download; and simple to administer.
Beginning Oracle PL/SQL gets you started in using the built-in language that every Oracle developer and database administrator must know. Oracle Database is chock-full of built-in application features that are free for the using, and PL/SQL is your ticket to learning about and using those features from your own code. With it, you can centralize business logic in the database, you can offload application logic, and you can automate database- and application-administration tasks.
Author Don Bales provides in Beginning Oracle PL/SQL a fast-paced and example-filled tutorial. Learn from Don\βs extensive experience to discover the most commonly used aspects of PL/SQL, without wasting time on obscure and obsolete features.
ΠΠ½ΠΈΠ³Π° Β«SQL. ΠΠΈΠ±Π»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΒ» ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL Π² ΡΡΠ΅Ρ
Π²Π΅Π΄ΡΡΠΈΡ
Π‘Π£ΠΠ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠΈΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
, ΠΎΡ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ². ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ SQL ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ ΡΠ΅ΠΎΡΠΈΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌΠΈ Π½ΡΠ°Π½ΡΠ°ΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL ΠΈ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° - ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° Π½Π°ΡΡΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ±ΠΈΡ.
β ΠΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠ·ΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² SQL ΠΈ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ
Π±Π°Π· Π΄Π°Π½Π½ΡΡ
β ΠΡΠ²ΠΎΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
β ΠΠ°ΡΡΠΈΡΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΡΠ΅Π΄Π΅
β ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠΌ SQL ΠΈ ΡΡΠ΅ΠΌΡ Π²Π΅Π΄ΡΡΠΈΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ Π‘Π£ΠΠ
β Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π°ΡΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
β ΠΠ·ΡΡΠΈΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΌΡ: ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ SQL Π² XML, Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ° OLAP ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ HTML, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Π ΠΎΠ±ΠΈΠ½Π° ΠΠΈΠΊΡΠΎΠ½Π°, ΠΎΠΏΡΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ Π°Π²ΡΠΎΡΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ
Π±Π΅ΡΡΡΠ΅Π»Π»Π΅ΡΠΎΠ² ΠΏΠΎ Π²Π΅Π±-ΠΌΠ°ΡΡΠ΅ΡΠΈΠ½Π³Ρ, Π²Ρ Π±Π΅Π· ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΡΡΠ΄Π° Π½Π°ΡΡΠΈΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΡΡ, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΠΈΠ΅ΡΡ Π²ΡΡΠΎΠΊΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΡΠΊΡΠΎΠΉΡΠ΅ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ PHP ΠΈ MySQL, ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ², Π½Π°ΡΡΠΈΡΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊ ΡΡΠΈΠΌ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ javascript, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ PHP, MySQL ΠΈ javascript Π² Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅, Π΄Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ°ΠΌΡΡ
ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡ
Π²Π΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ
Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΡ
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
ΠΠ°Π½Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ:
β ΠΎΡΠ²ΠΎΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Ρ PHP ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ;
β ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ MySQL, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ²;
β ΡΠΎΠ·Π΄Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ PHP ΠΈ MySQL Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΡΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠΎΡΡΠ°Π²Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² HTML;
β ΠΈΠ·ΡΡΠΈΡΡ javascript, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² (DOM);
β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ Smarty, Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ PEAR ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Yahoo! User Interface;
β ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Ajax-Π²ΡΠ·ΠΎΠ²Ρ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΠ²ΠΎΠΉ Π²Π΅Π±-ΡΠ°ΠΉΡ Π² Π²ΡΡΠΎΠΊΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠ΅Π΄Ρ;
β Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌΠΈ, ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ;
β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Queries not running fast enough? Wondering about the in-memory database features in 2014? Tired of phone calls from frustrated users? Grant Fritcheyβs book SQL Server Query Performance Tuning is the answer to your SQL Server query performance problems. The book is revised to cover the very latest in performance optimization features and techniques, especially including the newly-added, in-memory database features formerly known under the code name Project Hekaton. This book provides the tools you need to approach your queries with performance in mind.
SQL Server Query Performance Tuning leads you through understanding the causes of poor performance, how to identify them, and how to fix them. Youβll learn to be proactive in establishing performance baselines using tools like Performance Monitor and Extended Events. Youβll learn to recognize bottlenecks and defuse them before the phone rings. Youβll learn some quick solutions too, but emphasis is on designing for performance and getting it right, and upon heading off trouble before it occurs. Delight your users. Silence that ringing phone. Put the principles and lessons from SQL Server Query Performance Tuning into practice today.
Covers the in-memory features from Project Hekaton
Helps establish performance baselines and monitor against them
Guides in troubleshooting and eliminating of bottlenecks that frustrate users
What youβll learn
β Establish performance baselines and monitor against them
β Recognize and eliminate bottlenecks leading to slow performance
β Deploy quick fixes when needed, following up with long term solutions
β Implement best-practices in T-SQL so as to minimize performance risk
β Design in the performance that you need through careful query and index design
β Take advantage of the very latest performance optimization features in SQL Server 2014
β Understand the new, in-memory database features formerly code-named as Project Hekaton
Π ΠΊΠ½ΠΈΠ³Π΅ SQL Π·Π° 10 ΠΌΠΈΠ½ΡΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΎΡΠ°Π±ΠΎΡΠ°Π² Π²ΡΠ΅ 22 ΡΡΠΎΠΊΠ°, Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΡΡΠ°ΡΠΈΡΡ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 ΠΌΠΈΠ½ΡΡ, Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ SQL. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ IBM DB2, Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, SQLite, MariaDB ΠΈ Apache OpenOffice Base. ΠΠ°Π³Π»ΡΠ΄Π½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΡΡΡΠΊΡΡΡΠΈΡΡΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ SQL. Π‘ΠΎΠ²Π΅ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°ΠΆΡΡ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΡΡΠΈ ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌ. ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΡ.
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π²Π΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΡΠ½ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SQL. Π ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ, ΡΡΠΎΡ ΡΠ·ΡΠΊ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΡΠΈΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΡΠ΅ SQL Π·Π°ΠΏΡΠΎΡΡ ΠΈ Π½Π°ΡΡΠΈΠΌΡΡ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ MySQL Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ .
Π§ΡΠΎ ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ?
SQL (Structured Query Language) ΡΠ·ΡΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ MySQL, Oracle, Sqlite ΠΈ ΠΏΡΠΎΡΠΈΠ΅... ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠΎΠ²Π΅ΡΡΡ ΠΠ°ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ MySQL Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ. Π’Π°ΠΊΠΆΠ΅ Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ phpMyAdmin Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
ΠΡΠ΅ ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠΈ Π»ΡΠ±ΠΈΠΌΠΎΠΌ ΠΠ΅Π½Π²Π΅ΡΠ΅. ΠΡΠΌΠ°Ρ, ΠΊΠ°ΠΆΠ΄ΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΈ Π³Π΄Π΅ ΡΡΠΎ Π²Π·ΡΡΡ:). ΠΠΎΠΆΠ½ΠΎ Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ WAMP ΠΈΠ»ΠΈ MAMP.
Π Π΄Π΅Π½Π²Π΅ΡΠ΅ Π΅ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ MySQL ΠΊΠΎΠ½ΡΠΎΠ»Ρ. ΠΠΉ ΠΌΡ ΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ.
CREATE DATABASE: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΡ ΠΈ Π½Π°Ρ ΠΏΠ΅ΡΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡ. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΠ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ MySQL ΠΊΠΎΠ½ΡΠΎΠ»Ρ ΠΈ Π·Π°Π»ΠΎΠ³ΠΈΠ½ΡΡΠ΅ΡΡ. ΠΠ»Ρ WAMP ΠΏΠ°ΡΠΎΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΡΡΠΎΠΉ. Π’ΠΎ Π΅ΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ:). ΠΠ»Ρ MAMP - "root". ΠΠ»Ρ ΠΠ΅Π½Π²Π΅ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΠΎΡΠ½ΠΈΡΡ.
ΠΠΎΡΠ»Π΅ Π»ΠΎΠ³ΠΈΠ½Π° Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Enter:
CREATE DATABASE my_first_db;ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠΎΡΠΊΠ° Ρ Π·Π°ΠΏΡΡΠΎΠΉ (;) Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ .
Π’Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² SQL ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ ΠΊ ΡΠ΅Π³ΠΈΡΡΡΡ. ΠΠΈΡΠ΅ΠΌ ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ.
ΠΠΏΡΠΈ ΠΎΠ½Π°Π»ΡΠ½ΠΎ: Character Set ΠΈ Collation
ΠΡΠ»ΠΈ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ character set (Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ) ΠΈ collation (ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
CREATE DATABASE my_first_db DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;ΠΠ°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ Π² MySQL.
SHOW DATABASES: Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΠ
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ ΠΠ.
DROP DATABASE: ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΠ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΠ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Ρ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Π² ΠΠ°ΡΠ΅ΠΉ ΠΠ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ΅ ΡΠ΄Π°Π»Π΅Π½Ρ.
USE: ΠΡΠ±ΠΎΡ ΠΠ
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠΎΡ, Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΎΠ½ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΡΠΊΠΈ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π² ΠΊΠΎΠ½ΡΠ΅.
ΠΠ½ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ MySQL Π²ΡΠ±ΡΠ°ΡΡ ΠΠ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠΈΠ΅ Π²Π΅ΡΠΈ Ρ ΠΠ.
Π§ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π±Π»ΠΈΡΠ° Π² ΠΠ?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ Π² Π²ΠΈΠ΄Π΅ Excel ΡΠ°ΠΉΠ»Π°.
Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅, Ρ ΡΠ°Π±Π»ΠΈΡ Π΅ΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΡΡΠ΄Ρ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ SQL Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, ΡΡΠΈΡΡΠ²Π°ΡΡ, Π²Π½ΠΎΡΠΈΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
CREATE TABLE: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
C ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ MySQL Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ½ΡΡΠ½Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΏΠΎ ΡΡΠΎΠΌΡ Π²ΠΎΠΏΡΠΎΡΡ. Π‘ΡΡΡΠΊΡΡΡΠ° ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ, Π½ΠΎ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ Ρ Π»Π΅Π³ΠΊΠΎΠΉ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ 2-ΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ.
CREATE TABLE users (username VARCHAR(20), create_date DATE);ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°ΡΡ Π½Π°ΡΠΈ Π·Π°ΠΏΡΠΎΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΈ Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΎΡΡΡΡΠΏΠΎΠ².
ΠΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΠΏΡΠΎΡΡΠ°Ρ. ΠΡ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "users ". ΠΠ°Π»Π΅Π΅ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, ΠΈΠ΄Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ Π½Π°Ρ ΠΈΠ΄ΡΡ ΡΠΈΠΏΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ VARCHAR ΠΈΠ»ΠΈ DATE.
VARCHAR(20) ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠΏ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 20 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π΄Π»ΠΈΠ½Ρ. DATE ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΠΏ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Ρ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅: "ΠΠΠΠ - ΠΠ-ΠΠ ".
PRIMARY KEY ( ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»Ρ Ρ)
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Π΄Π»Ρ "user_id ", ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ PRIMARY KEY ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΡΠ°Π±Π»ΠΈΡΡ.
CREATE TABLE users (user_id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20), create_date DATE);
INT Π΄Π΅Π»Π°Π΅Ρ 32 Π±ΠΈΡΠ½ΡΠΉ ΡΠ΅Π»ΡΠΉ ΡΠΈΠΏ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΠ»Π°). AUTO_INCREMENT Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ID ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΡΠ΅.
ΠΡΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π»ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ ΠΎΠ½ΠΎ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΠ»ΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΠ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ Π·Π°ΠΏΡΠΎΡ:
SHOW TABLES: ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΠ.
EXPLAIN: ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ
ΠΠ»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΡΡΡΡΠΊΡΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ.
ΠΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
DROP TABLE: ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ
Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ DROP DATABASES, ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ Π΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ALTER TABLE: ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈΠ·-Π·Π° Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ.
(Π΅ΡΠ»ΠΈ ΠΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΠ°Π³Π΅, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΅Π΅ ΡΠ½ΠΎΠ²Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ²)
ΠΠΠΠΠΠΠΠΠΠ ΠΠΠΠΠΠΠ
ALTER TABLE users ADD email VARCHAR(100) AFTER username;ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΡΠΈΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ SQL, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΡΡΡ. ΠΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ "email " ΠΏΠΎΡΠ»Π΅ "username ".
Π£ΠΠΠΠΠΠΠ ΠΠΠΠΠΠΠ
ΠΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ.
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΎΠ².
ΠΠΠΠ‘ΠΠΠΠ ΠΠΠΠΠΠΠΠΠ― Π ΠΠΠΠΠΠΠ£
ΠΠ½ΠΎΠ³Π΄Π° ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ ΠΎΡΠ΅ΡΡ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈ ΠΠ°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΡΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ.
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π» ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² "user_name " ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π΅Π΅ ΡΠΈΠΏ Ρ VARCHAR(20) Π½Π° VARCHAR(30). Π’Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
INSERT: ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ.
ΠΠ°ΠΊ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, VALUES () ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ. ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL Π΄Π»Ρ ΠΏΠΎΠ»Ρ PRIMARY KEY ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "user_id ". ΠΡ Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ID Π±ΡΠ»ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ AUTO_INCREMENT. ΠΠΎΠ³Π΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ID Π±ΡΠ΄Π΅Ρ 1. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ΄ - 2, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅...
ΠΠΠ¬Π’ΠΠ ΠΠΠ’ΠΠΠΠ«Π ΠΠΠ ΠΠΠΠ’
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΄ΠΎΠ².
Π ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ SET Π²ΠΌΠ΅ΡΡΠΎ VALUES, ΠΈ Ρ Π½Π΅Π³ΠΎ Π½Π΅Ρ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΡΠ°Π½ΡΠΎΠ²:
ΠΠΎΠ»ΠΎΠ½ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΌΡ Π½Π΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ "user_id ", ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ²ΠΎΠ΅ AUTO_INCREMENT Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΡ ΠΏΡΠΎΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ ΡΠΈΠΏΠΎΠΌ VARCHAR, ΡΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°.
Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ· Π·Π° ΡΡΠΎΠ³ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΡΠΎΡΠ»ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
ΠΠΠ¬Π’ΠΠ ΠΠΠ’ΠΠΠΠ«Π ΠΠΠ ΠΠΠΠ’ 2
ΠΠΎΡ Π΅ΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠΏΡΡΡ ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅ΡΡΡ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
LAST_INSERT_ID()
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ID, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ AUTO_INCREMENT Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΡΠ΄Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΠΈ.
NOW()
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΠΊΠ°ΠΊ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ MySQL Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ .
Π€ΡΠ½ΠΊΡΠΈΡ NOW() Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ. Π’Π°ΠΊ ΡΡΠΎ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π° ΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ΄Π°.
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ 1 ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ. ΠΡΠΈΡΠΈΠ½Π° ΡΡΠΎΠΌΡ ΡΠΎ, ΡΡΠΎ NOW() ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
SELECT: Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
ΠΡΠ»ΠΈ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΡ Π·Π½Π°ΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ Π½Π°ΡΡΠΈΡΡΡΡ Π΅Π΅ ΠΎΡΡΡΠ΄Π° ΡΡΠΈΡΡΠ²Π°ΡΡ. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΠΌ Π½Π°ΠΌ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΠΎΡ SELECT.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ SELECT Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ.
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠ° (*) ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎ, ΡΡΠΎ ΠΌΡ Π·Π°ΠΏΡΠΎΡΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π·Π°ΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ WHERE
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΌΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ , Π° ΡΠΎΠ»ΡΠΊΠΎ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ . Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ "nettuts ".
WHERE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π²ΡΠ±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π΄Π»Ρ ΡΠ°Π²Π΅Π½ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΎΠ΄ΠΈΠ½ Π·Π½Π°ΠΊ ΡΠ°Π²Π½ΠΎ (=), Π° Π½Π΅ Π΄Π²Π°, ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ.
AND ΠΈΠ»ΠΈ OR ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ:
ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .
IN()
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ
LIKE
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ "wildcard" Π·Π°ΠΏΡΠΎΡΡ
ΠΠ½Π°ΡΠΎΠΊ % ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ "wildcard". Π’ΠΎ Π΅ΡΡΡ Π½Π° Π΅Π³ΠΎ ΠΌΠ΅ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎ-ΡΠ³ΠΎΠ΄Π½ΠΎ.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ORDER BY
ΠΡΠ»ΠΈ ΠΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡ Π»ΠΈΠ±ΠΎ ΠΊΡΠΈΡΠ΅ΡΠΈΡ
ΠΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ASC (ΠΎΡ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎΠΊ Π±ΠΎΠ»ΡΡΠ΅ΠΌΡ). ΠΠ»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ DESC.
LIMIT ... OFFSET ...
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ².
LIMIT 2 Π±Π΅ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ 2 ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. LIMIT 1 OFFSET 2 ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ 1 ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΡΡ 2-Ρ . LIMIT 2, 1 ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ (ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ΄Π΅Ρ offset Π° ΠΏΠΎΡΠΎΠΌ limit ).
UPDATE: ΠΠ½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅
ΠΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ WHERE, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΡ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. ΠΡΠ»ΠΈ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ WHERE ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΡ Π²ΡΠ΅ ΡΡΠ΄Ρ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ LIMIT Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΡΠ΄ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
DELETE: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ UPDATE, ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ WHERE:
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΠΊ:
DELETE FROM users;
ΠΠΎ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ TRUNCATE
ΠΡΠΎΠΌΠ΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠΎΡ Π·Π°ΠΏΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ AUTO_INCREMENT ΠΈ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡΡΠ΄ΠΎΠ² ΡΠ½ΠΎΠ²Π°, ΠΎΡΡΡΠ΅Ρ Π½Π°ΡΠ½Π΅ΡΡΡ Ρ Π½ΡΠ»Ρ. DELETE ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΈ ΠΎΡΡΡΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ.
ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΡΡΠΎΡΠ½ΡΡ ΠΠ½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π‘Π»ΠΎΠ²
Π‘ΡΡΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ (escape), ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°Π΄Π½ΠΈΠΉ ΡΠ»Π΅Ρ (\).
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π°
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² MySQL Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ»ΠΎΠ² (SELECT ΠΈΠ»ΠΈ UPDATE), ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°Π²ΡΡΠΊΠΈ. ΠΠΎ Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ, Π° Π²ΠΎΡ ΡΠ°ΠΊΠΈΠ΅ (`).
Π’ΠΎ Π΅ΡΡΡ ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ " delete", ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°. ΠΠ°Π΄Π΅ΡΡΡ, ΠΠ°ΠΌ ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½Π°. ΠΡΠΎ Π΅ΡΠ΅ Π½Π΅ ΠΊΠΎΠ½Π΅Ρ! ΠΡΠ΄Π΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅:).
- Tutorial
Π ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ
ΠΠ°Π½Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠΎ-ΡΠΎ ΡΠΈΠΏΠ° Β«ΡΡΠ°ΠΌΠΏΠ° ΠΌΠΎΠ΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈΒ» ΠΏΠΎ ΡΠ·ΡΠΊΡ SQL (DDL, DML), Ρ.Π΅. ΡΡΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΠΊΠΎΠΏΠΈΠ»Π°ΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΌΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Π΅. ΠΡΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ. ΠΡΠ»ΠΈ Π²ΡΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ SQL, ΡΠΎ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡ Π·Π° ΠΏΠΎΠΌΠΎΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ MSDN ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΠ° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎ, Π΄Π° ΠΈ Π½Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π² ΡΡΠΎΠΌ. ΠΠΎ Π·Π½Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ρ.ΠΊ. ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Oracle, MySQL, Firebird. ΠΡΠ»ΠΈΡΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΡ Π² ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ . ΠΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΡΠ·ΡΠΊΠ° SQL Π½Π΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΎΠ½ΠΈ Π±ΡΡΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΡΠ°Π±Π»ΠΈΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ Ρ.ΠΏ.) Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΡΠ΅Π΄Ρ (IDE) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΠΈ Π½Π΅Ρ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΠ·ΡΡΠ°ΡΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π·Π°ΡΠΎΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ (MS SQL, Oracle, MySQL, Firebird, β¦). ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈ ΡΠ΅ΠΌ, ΡΡΠΎ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ, ΠΈ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅Π³Π°ΡΡ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠ»ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ , ΡΠΎΠ·Π΄Π°ΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ°Π·Ρ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. Π’Π°ΠΊ ΠΆΠ΅ Π² ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΉ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΡΡΠΈ), ΠΏΡΠΎΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² (ΠΌΠΎΠ΅ ΡΡΠ±ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΠΌΠ½Π΅Π½ΠΈΠ΅). Π ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄Π΅Π»Π°Π΅ΠΌΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΡΠΎΠ²ΠΎΠΉ), Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΠΆΠ΅ Π²ΠΈΠ΄Π΅ Π² Π΄ΡΡΠ³ΡΡ Π±Π°Π·Ρ (ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΡΡ).Π―Π·ΡΠΊ SQL ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠ΅ΠΉ, Π·Π΄Π΅ΡΡ Ρ ΡΠ°ΡΡΠΌΠΎΡΡΡ 2 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈ:
- DML β Data Manipulation Language (ΡΠ·ΡΠΊ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ), ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
- SELECT β Π²ΡΠ±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ
- INSERT β Π²ΡΡΠ°Π²ΠΊΠ° Π½ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ
- UPDATE β ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
- DELETE β ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
- MERGE β ΡΠ»ΠΈΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΠ°Π½Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΡΠΎΠ·Π΄Π°Π½ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Step by Step, Ρ.Π΅. Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎ Ρ ΠΎΠ΄Ρ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ MSDN.
ΠΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ MS SQL Server Π²Π΅ΡΡΠΈΠΈ 2014, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» MS SQL Server Management Studio (SSMS).
ΠΡΠ°ΡΠΊΠΎ ΠΎ MS SQL Server Management Studio (SSMS)
SQL Server Management Studio (SSMS) - ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Microsoft SQL Server Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π½Π½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² (ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ) ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ»Π°Π²Π½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ SQL Server Management Studio ΡΠ²Π»ΡΠ΅ΡΡΡ Object Explorer, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ, ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠΌΠΈ. ΠΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ Ρ Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΡΠΊΡΠΈΠΏΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«New Query/ΠΠΎΠ²ΡΠΉ Π·Π°ΠΏΡΠΎΡΒ»:
ΠΠ»Ρ ΡΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ:
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ ΠΊΠΎΠΌΠ°Π½Π΄) Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ Π΅Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Β«Execute/ΠΡΠΏΠΎΠ»Π½ΠΈΡΡΒ» ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΊΠ»Π°Π²ΠΈΡΡ Β«F5Β». ΠΡΠ»ΠΈ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ², Π² ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ (ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠΎΠ»Π±ΡΡ, ΠΈΠ½Π΄Π΅ΠΊΡΡ), ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ, Π²ΡΠ΄Π΅Π»ΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π³ΡΡΠΏΠΏΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π’Π°Π±Π»ΠΈΡΡ), ΡΠ°ΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ Π³ΡΡΠΏΠΏΡ Π‘ΡΠΎΠ»Π±ΡΡ Π² Π½Π΅ΠΉ.
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ Π²ΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ². ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎ ΡΡΠΈΠ»ΠΈΡΠ΅ SSMS Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡΡΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ
Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ (Π ΠΠ, ΠΈΠ»ΠΈ Π΄Π°Π»Π΅Π΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΎΡΡΠΎ ΠΠ) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΡΠ°Π±Π»ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ Π³ΡΡΠ±ΠΎ, ΡΠΎ ΠΠ β ΡΠ°ΠΉΠ» Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.Π‘Π£ΠΠ β Π‘ΠΈΡΡΠ΅ΠΌΠ° Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠΈΠΌΠΈ ΠΠ°Π·Π°ΠΌΠΈ ΠΠ°Π½Π½ΡΡ , Ρ.Π΅. ΡΡΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΡΠΈΠΏΠΎΠΌ ΠΠ (MS SQL, Oracle, MySQL, Firebird, β¦).
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π’.ΠΊ. Π² ΠΆΠΈΠ·Π½ΠΈ, Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ, ΠΌΡ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π³ΠΎΠ²ΠΎΡΠΈΠΌ: Β«ΠΠ OracleΒ», ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Β«OracleΒ», Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Ρ Β«Π‘Π£ΠΠ OracleΒ», ΡΠΎ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π±Π½ΠΈΠΊΠ° ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΠ. ΠΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Ρ Π΄ΡΠΌΠ°Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ.
Π’Π°Π±Π»ΠΈΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ². Π‘ΡΠΎΠ»Π±ΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ, Π²ΡΠ΅ ΡΡΠΈ ΡΠ»ΠΎΠ²Π° Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ, Π²ΡΡΠ°ΠΆΠ°ΡΡΠΈΠ΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎΠΆΠ΅.
Π’Π°Π±Π»ΠΈΡΠ° β ΡΡΠΎ Π³Π»Π°Π²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π ΠΠ, Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π ΠΠ Ρ ΡΠ°Π½ΡΡΡΡ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ Π² ΡΡΠΎΠ»Π±ΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΡ. Π‘ΡΡΠΎΠΊΠΈ, Π·Π°ΠΏΠΈΡΠΈ β ΡΠΎΠΆΠ΅ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌΡ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΈ Π΅Π΅ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π·Π°Π΄Π°ΡΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΊ Π½ΠΈΠΌ ΠΈΠ΄Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΠΌΡ ΡΡΠΎΠ»Π±ΡΠ°, ΠΈΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ Ρ.ΠΏ.) Π² MS SQL ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ 128 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ β Π² ΠΠ ORACLE Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ 30 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΠ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π΄Π»Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΡΠΎΠ±Ρ ΡΠ»ΠΎΠΆΠΈΡΡΡΡ Π² Π»ΠΈΠΌΠΈΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
SQL - ΡΠ·ΡΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ Π² ΠΠ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π‘Π£ΠΠ. Π ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π‘Π£ΠΠ, ΡΠ·ΡΠΊ SQL ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (ΡΠ²ΠΎΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ).
DDL ΠΈ DML - ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠ° SQL:
- Π―Π·ΡΠΊ DDL ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΠ, Ρ.Π΅. Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ/ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ²ΡΠ·Π΅ΠΉ.
- Π―Π·ΡΠΊ DML ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡ, Ρ.Π΅. Ρ Π΅Π΅ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄Π΅Π»Π°ΡΡ Π²ΡΠ±ΠΎΡΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π ΡΠ·ΡΠΊΠ΅ SQL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ 2 Π²ΠΈΠ΄Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² (ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ):
ΠΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΈ
/* ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ */
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ Π΄Π»Ρ ΡΠ΅ΠΎΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ.
DDL β Data Definition Language (ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ )
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°Ρ , Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ Π΄Π»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΡΡΠΈΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅:Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎΠ»Π±ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ: Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π€ΠΠ, ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ, E-mail, ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, ΠΡΠ΄Π΅Π».
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠΈΠΏΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΌΡΡ Π² Π½Π΅ΠΌ Π΄Π°Π½Π½ΡΡ :
- Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ β ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
- Π€ΠΠ β ΡΡΡΠΎΠΊΠ°
- ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ β Π΄Π°ΡΠ°
- E-mail β ΡΡΡΠΎΠΊΠ°
- ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ β ΡΡΡΠΎΠΊΠ°
- ΠΡΠ΄Π΅Π» β ΡΡΡΠΎΠΊΠ°
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² MS SQL:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² MS SQL | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|---|
Π‘ΡΡΠΎΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ | varchar(N) ΠΈ nvarchar(N) |
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΈΡΠ»Π° N, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠ° Β«Π€ΠΠΒ» ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 30 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ Π΅ΠΉ ΡΠΈΠΏ nvarchar(30). ΠΡΠ»ΠΈΡΠΈΠ΅ varchar ΠΎΡ nvarchar Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ varchar ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ASCII, Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 1 Π±Π°ΠΉΡ, Π° nvarchar Ρ ΡΠ°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Unicode, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 2 Π±Π°ΠΉΡΠ°. Π’ΠΈΠΏ varchar ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π½Π° 100% ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Unicode ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, varchar ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Ρ.ΠΊ. ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ ASCII ΡΠΈΠΌΠ²ΠΎΠ»Ρ. |
Π‘ΡΡΠΎΠΊΠ° ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ | char(N) ΠΈ nchar(N) |
ΠΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π΄Π»ΠΈΠ½Π° ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½ΡΡΠ΅ N ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ ΠΎΠ½Π° Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π° Π΄ΠΎ Π΄Π»ΠΈΠ½Ρ N ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΠ Π² ΡΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ.Π΅. Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΎΠ½Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ²Π½ΠΎ N ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² (Π³Π΄Π΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 1 Π±Π°ΠΉΡ Π΄Π»Ρ char ΠΈ 2 Π±Π°ΠΉΡΠ° Π΄Π»Ρ ΡΠΈΠΏΠ° nchar). ΠΠ° ΠΌΠΎΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΎΡΠ΅Π½Ρ ΡΠ΅Π΄ΠΊΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π° Π΅ΡΠ»ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ char(1), Ρ.Π΅. ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. |
Π¦Π΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ | int | ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΠ»Π±ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅. ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ (ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ Π½Π°Ρ) β Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΈΡΠ΅Π» ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠΏ int ΠΎΡ -2 147 483 648 Π΄ΠΎ 2 147 483 647. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΏ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ². |
ΠΠ΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ | float | ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΡΠΎ ΡΡΠΎ ΡΠΈΡΠ»Π°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄Π΅ΡΡΡΠΈΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° (Π·Π°ΠΏΡΡΠ°Ρ). |
ΠΠ°ΡΠ° | date | ΠΡΠ»ΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΠ°ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ : Π§ΠΈΡΠ»Π°, ΠΠ΅ΡΡΡΠ° ΠΈ ΠΠΎΠ΄Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 15.02.2014 (15 ΡΠ΅Π²ΡΠ°Π»Ρ 2014 Π³ΠΎΠ΄Π°). ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΡΠΎΠ»Π±ΡΠ° Β«ΠΠ°ΡΠ° ΠΏΡΠΈΠ΅ΠΌΠ°Β», Β«ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡΒ» ΠΈ Ρ.ΠΏ., Ρ.Π΅. Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π²Π°ΠΆΠ½ΠΎ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°ΡΡ, ΠΈΠ»ΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΠΌ Π½Π΅ Π²Π°ΠΆΠ½Π° ΠΈ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ±ΡΠΎΡΠΈΡΡ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½Π°. |
ΠΡΠ΅ΠΌΡ | time | ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΅ΡΠ»ΠΈ Π² ΡΡΠΎΠ»Π±ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, Ρ.Π΅. Π§Π°ΡΡ, ΠΠΈΠ½ΡΡΡ, Π‘Π΅ΠΊΡΠ½Π΄Ρ ΠΈ ΠΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 17:38:31.3231603 ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠ΅ Β«ΠΡΠ΅ΠΌΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΉΡΠ°Β». |
ΠΠ°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ | datetime | ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΠ°ΡΡ, ΠΈ ΠΡΠ΅ΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, 15.02.2014 17:38:31.323 ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄Π°ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠ±ΡΡΠΈΡ. |
Π€Π»Π°Π³ | bit | ΠΠ°Π½Π½ΡΠΉ ΡΠΈΠΏ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π° Β«ΠΠ°Β»/Β«ΠΠ΅ΡΒ», Π³Π΄Π΅ Β«ΠΠ°Β» Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ 1, Π° Β«ΠΠ΅ΡΒ» Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ 0. |
Π’Π°ΠΊ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ, Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ NULL.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π±Π°Π·Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Test.
ΠΡΠΎΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
CREATE DATABASE Test
Π£Π΄Π°Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ (ΡΡΠΎΠΈΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ):
DROP DATABASE Test
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡΡ Π½Π° Π½Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
USE Test
ΠΠ»ΠΈ ΠΆΠ΅ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Test Π² Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΌΠ΅Π½Ρ SSMS. ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠ½ΠΎΡ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π±Π°Π·Π°ΠΌΠΈ.
Π’Π΅ΠΏΠ΅ΡΡ Π² Π½Π°ΡΠ΅ΠΉ ΠΠ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π² ΡΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΅ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΡ:
CREATE TABLE [Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ]([Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ] int,
[Π€ΠΠ] nvarchar(30),
[ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ] date,
nvarchar(30),
[ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ] nvarchar(30),
[ΠΡΠ΄Π΅Π»] nvarchar(30))
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π° Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ [β¦].
ΠΠΎ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π²ΡΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π»ΡΡΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ Π½Π° Π»Π°ΡΠΈΠ½ΠΈΡΠ΅ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΈΠΌΠ΅Π½Π°Ρ ΠΏΡΠΎΠ±Π΅Π»Ρ. Π MS SQL ΠΎΠ±ΡΡΠ½ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΏΠΎΠ»Ρ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅ΡΒ», ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ Π·Π°Π΄Π°ΡΡ ΠΈΠΌΡ PersonnelNumber. Π’Π°ΠΊ ΠΆΠ΅ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PhoneNumber1.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π‘Π£ΠΠ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΎΡΠΌΠ°Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Β«PHONE_NUMBERΒ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΠ ORACLE. ΠΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π»ΠΎ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² Π‘Π£ΠΠ.
ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π±ΡΡΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΈΡΡ [Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ]:
DROP TABLE [Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ]
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°ΡΡ Β«EmployeesΒ», Π° Π΅Π΅ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ:
- ID β Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ (ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°)
- Name β Π€ΠΠ
- Birthday β ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ
- Email β E-mail
- Position β ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ
- Department β ΠΡΠ΄Π΅Π»
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ:
CREATE TABLE Employees(ID int,
Name nvarchar(30),
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30))
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΡΠΈΡ NOT NULL.
ΠΠ»Ρ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ID ALTER TABLE Employees ALTER COLUMN ID int NOT NULL -- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ Name ALTER TABLE Employees ALTER COLUMN Name nvarchar(30) NOT NULL
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ
ΠΠ±ΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ·ΡΠΊΠ° SQL Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π‘Π£ΠΠ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ (ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΠΎΠ± ΡΡΠΎΠΌ Ρ ΠΌΠΎΠ³Ρ ΡΡΠ΄ΠΈΡΡ ΠΏΠΎ ΡΠ΅ΠΌ Π‘Π£ΠΠ, Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠ½Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΠΏΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ). ΠΡΠ»ΠΈΡΠΈΠ΅ DDL Π² ΡΠ°Π·Π½ΡΡ Π‘Π£ΠΠ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΈΠΏΠ°Ρ Π΄Π°Π½Π½ΡΡ (Π·Π΄Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ Π΄Π΅ΡΠ°Π»ΠΈ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ), ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΈ ΡΠ°ΠΌΠ° ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ·ΡΠΊΠ° SQL (Ρ.Π΅. ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅, Π½ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ Π² Π΄ΠΈΠ°Π»Π΅ΠΊΡΠ΅, ΡΠ²Ρ, Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° Π½Π΅Ρ). ΠΠ»Π°Π΄Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ SQL Π²Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Ρ ΠΎΠ΄Π½ΠΎΠΉ Π‘Π£ΠΠ Π½Π° Π΄ΡΡΠ³ΡΡ, Ρ.ΠΊ. Π²Π°ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π½ΠΎΠ²ΠΎΠΉ Π‘Π£ΠΠ, Ρ.Π΅. Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ.Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ CREATE TABLE Employees(ID int, -- Π² ORACLE ΡΠΈΠΏ int - ΡΡΠΎ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ(ΠΎΠ±Π΅ΡΡΠΊΠ°) Π΄Π»Ρ number(38) Name nvarchar2(30), -- nvarchar2 Π² ORACLE ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ nvarchar Π² MS SQL Birthday date, Email nvarchar2(30), Position nvarchar2(30), Department nvarchar2(30)); -- ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ID ΠΈ Name (Π·Π΄Π΅ΡΡ Π²ΠΌΠ΅ΡΡΠΎ ALTER COLUMN ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ MODIFY(β¦)) ALTER TABLE Employees MODIFY(ID int NOT NULL,Name nvarchar2(30) NOT NULL); -- Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ PK (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ ΠΈ Π² MS SQL, ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½ΠΈΠΆΠ΅) ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY(ID);
ΠΠ»Ρ ORACLE Π΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠΈΡ Π² ΠΏΠ»Π°Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠΏΠ° varchar2, Π΅Π³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Π²ΠΈΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΠ ΠΈ ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅ UTF-8. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΠ»Ρ Π² ORACLE ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π² Π±Π°ΠΉΡΠ°Ρ , ΡΠ°ΠΊ ΠΈ Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ , Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ BYTE ΠΈ CHAR, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΠ»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:NAME varchar2(30 BYTE) -- Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° 30 Π±Π°ΠΉΡΠ°ΠΌ NAME varchar2(30 CHAR) -- Π²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ ΠΏΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π° 30 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
ΠΠ°ΠΊΠ°Ρ ΠΎΠΏΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ BYTE ΠΈΠ»ΠΈ CHAR, Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π² ORACLE ΡΠΈΠΏΠ° varchar2(30), Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΠ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΠ½Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π΄Π°Π²Π°ΡΡΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ IDE. Π ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ»ΡΡΠ°Π΅ ORACLE, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΠΏ varchar2 (Π° ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΏΠΎΡΠΎΠΉ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ UTF-8) Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΡΠ²Π½ΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ CHAR (Ρ.ΠΊ. ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅ ΡΡΠΈΡΠ°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ).
ΠΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΆΠ΅ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊΠ°Ρ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠ»Ρ ID ΠΈ Name Π±ΡΠ»ΠΈ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π²ΡΡΠ°Π²ΠΈΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ»Ρ ID, Position ΠΈ Department, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ:
INSERT Employees(ID,Position,Department) VALUES
(1000,N"ΠΠΈΡΠ΅ΠΊΡΠΎΡ",N"ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ"),
(1001,N"ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ",N"ΠΠ’"),
(1002,N"ΠΡΡ
Π³Π°Π»ΡΠ΅Ρ",N"ΠΡΡ
Π³Π°Π»ΡΠ΅ΡΠΈΡ"),
(1003,N"Π‘ΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ",N"ΠΠ’")
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠΌΠ°Π½Π΄Π° INSERT ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Ρ.ΠΊ. ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Name.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π±Ρ Ρ Π½Π°Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«ALTER TABLE Employees ALTER COLUMN ID int NOT NULLΒ» Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ Π±Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«ALTER TABLE Employees ALTER COLUMN Name int NOT NULLΒ» Π²ΡΠ΄Π°Π»Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΡΡΠΎ Π² ΠΏΠΎΠ»Π΅ Name ΠΈΠΌΠ΅ΡΡΡΡ NULL (Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅) Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ Name ΠΈ ΡΠ½ΠΎΠ²Π° Π·Π°Π»ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅:
Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠΏΡΠΈΡ NOT NULL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, Ρ.Π΅. Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CREATE TABLE.
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΄Π°Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
DROP TABLE Employees
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ ID ΠΈ Name:
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30) NOT NULL,
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30))
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠΎΠ»Π±ΡΠ° Π½Π°ΠΏΠΈΡΠ°ΡΡ NULL, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ·Π½Π°ΡΠ°ΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ NULL-Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅), Π½ΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Π°Ρ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ALTER TABLE Employees ALTER COLUMN Name nvarchar(30) NULL
ΠΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ:
ALTER TABLE Employees ALTER COLUMN Name nvarchar(30)
Π’Π°ΠΊ ΠΆΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠΏ ΠΏΠΎΠ»Ρ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΡΠΈΠΏ, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ Π΄Π»ΠΈΠ½Ρ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΈΡΠΈΠΌ ΠΏΠΎΠ»Π΅ Name Π΄ΠΎ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²:
ALTER TABLE Employees ALTER COLUMN Name nvarchar(50)
ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΈΠΌΠ΅Π»Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΡ ΡΡΠΎΠ»Π±ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π΅ ΡΡΡΠΎΠΊΠΈ β ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΡ. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ»Ρ Π½Π°ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ Employees ΡΠ°ΠΊΠΈΠΌ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎΠ»Π±Π΅Ρ ID (ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Β«Π’Π°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°Β» - ΠΏΡΡΠΊΠ°ΠΉ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ).Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY(ID)
ΠΠ΄Π΅ Β«PK_EmployeesΒ» ΡΡΠΎ ΠΈΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅Π³ΠΎ Π·Π° ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. ΠΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«PK_Β» ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅Ρ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠΎ ΡΡΠΈ ΠΏΠΎΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ PRIMARY KEY(ΠΏΠΎΠ»Π΅1,ΠΏΠΎΠ»Π΅2,β¦)
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² MS SQL Π²ΡΠ΅ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ
ΠΎΠ΄ΡΡ Π² ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ NOT NULL.
Π’Π°ΠΊ ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ, Ρ.Π΅. Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CREATE TABLE. Π£Π΄Π°Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ:
DROP TABLE Employees
Π Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30) NOT NULL,
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30),
CONSTRAINT PK_Employees PRIMARY KEY(ID) -- ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ PK ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅)
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π·Π°Π»ΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅:
INSERT Employees(ID,Position,Department,Name) VALUES
(1000,N"ΠΠΈΡΠ΅ΠΊΡΠΎΡ",N"ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ",N"ΠΠ²Π°Π½ΠΎΠ² Π.Π."),
(1001,N"ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ",N"ΠΠ’",N"ΠΠ΅ΡΡΠΎΠ² Π.Π."),
(1002,N"ΠΡΡ
Π³Π°Π»ΡΠ΅Ρ",N"ΠΡΡ
Π³Π°Π»ΡΠ΅ΡΠΈΡ",N"Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘."),
(1003,N"Π‘ΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ",N"ΠΠ’",N"ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π.")
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
CREATE TABLE Employees(ID int NOT NULL CONSTRAINT PK_Employees PRIMARY KEY, -- ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΊΠ°ΠΊ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ ΠΏΠΎΠ»Ρ
Name nvarchar(30) NOT NULL,
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30))
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΈΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ Π·Π°Π΄Π°Π²Π°ΡΡ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΈΠΌΡ (Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Β«PK__Employee__3214EC278DA42077Β»):
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30) NOT NULL,
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30),
PRIMARY KEY(ID))
ΠΠ»ΠΈ:
CREATE TABLE Employees(ID int NOT NULL PRIMARY KEY,
Name nvarchar(30) NOT NULL,
Birthday date,
Email nvarchar(30),
Position nvarchar(30),
Department nvarchar(30))
ΠΠΎ Ρ Π±Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π» Π΄Π»Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Ρ.ΠΊ. ΠΏΠΎ ΡΠ²Π½ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ Ρ Π½ΠΈΠΌ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅:
ALTER TABLE Employees DROP CONSTRAINT PK_Employees
ΠΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΠ°Π±Π»ΠΈΡ ΠΠ (ΠΈΠΌΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ # ΠΈΠ»ΠΈ ##), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:- CREATE TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ (ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ) β ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΠ;
- DROP TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ β ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ· ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΠ;
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ALTER COLUMN ΠΈΠΌΡ_ΡΡΠΎΠ»Π±ΡΠ° β¦ β ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠΏΠ° ΡΡΠΎΠ»Π±ΡΠ° ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΅Π³ΠΎ Π½Π°ΡΡΡΠΎΠ΅ΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ NULL ΠΈΠ»ΠΈ NOT NULL);
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ PRIMARY KEY (ΠΏΠΎΠ»Π΅1, ΠΏΠΎΠ»Π΅2,β¦) β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅;
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ DROP CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ β ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ
ΠΡΡΠ΅Π·ΠΊΠ° ΠΈΠ· MSDN. Π MS SQL Server ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ: Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ (#) ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ (##). ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²ΠΈΠ΄Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»ΡΠΌ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ SQL Server, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ΠΈ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Ρ. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° SQL Server. ΠΠ»ΠΎΠ±Π°Π»ΡΠ½ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π²ΠΈΠ΄Π½Ρ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΡΡ ΡΠ΅Π°Π½ΡΠΎΠ² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΡΡΠ»Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ, ΠΎΡΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΎΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° SQL Server.
ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±Π°Π·Π΅ tempdb, Ρ.Π΅. ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΠΈΡ ΠΌΡ Π½Π΅ Π·Π°ΡΠΎΡΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π±Π°Π·Ρ, Π² ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ, ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ DROP TABLE. Π§Π°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ (#) Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CREATE TABLE:
CREATE TABLE #Temp(ID int,
Name nvarchar(30))
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Π² MS SQL Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅, Π΅Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΌΠΎΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ DROP TABLE:
DROP TABLE #Temp
Π’Π°ΠΊ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ (ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΎΠ±ΡΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ) ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΡΡΠ°Π·Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ SELECT β¦ INTO:
SELECT ID,Name
INTO #Temp
FROM Employees
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ
Π ΡΠ°Π·Π½ΡΡ Π‘Π£ΠΠ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π‘Π£ΠΠ ORACLE ΠΈ Firebird ΡΡΡΡΠΊΡΡΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π·Π°ΡΠ°Π½Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CREATE GLOBAL TEMPORARY TABLE Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π² Π½Π΅ΠΉ Π΄Π°Π½Π½ΡΡ , Π΄Π°Π»ΡΡΠ΅ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ Π΅Π΅ ΡΡΠ΅Π΄ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅ΠΉ ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ.
ΠΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ β Π΄ΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ΄ΡΠ°Π±Π»ΠΈΡΡ (ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ) ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π΅ΠΉ
ΠΠ°ΡΠ° ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠ° Employees ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π² ΡΠΎΠΌ, ΡΡΠΎ Π² ΠΏΠΎΠ»ΡΡ Position ΠΈ Department ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ, ΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΡΠ΅Π²Π°ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ΄Π΅Π»Π° ΠΏΡΠΎΡΡΠΎ Β«ΠΠ’Β», Π° Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π²Π΅ΡΡΠΈ Β«ΠΠ’-ΠΎΡΠ΄Π΅Π»Β», Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ Β«ITΒ». Π ΠΈΡΠΎΠ³Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΈΠΌΠ΅Π» Π²Π²ΠΈΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ.Π΅. ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»Π°, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠΏΠΈΡΠ°Π»ΡΡ ΠΈ ΡΡΠΎ 3 ΡΠ°Π·Π½ΡΡ ΠΎΡΠ΄Π΅Π»Π°? Π ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-ΡΠΎ ΠΎΡΡΠ΅ΡΠ°, Π³Π΄Π΅, ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ² Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»Π°.ΠΡΠΎΡΠΎΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌΠ΅ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ Π΅Π΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ.Π΅. Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»Π°, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π² ΠΠ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»Π°.
Π’ΡΠ΅ΡΠΈΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, Π² ΡΠ»ΡΡΠ°Π΅ Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ Β«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΒ», Π½Π° Β«ΠΠ»Π°Π΄ΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΒ». Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΡΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΡ ΡΠ°Π²Π½ΡΠ΅ΡΡΡ Β«ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΒ».
Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π΄Π°Π½Π½ΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ, Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ β Π΄ΡΠΎΠ±Π»Π΅Π½ΠΈΠ΅ Π΅Π΅ Π½Π° ΠΏΠΎΠ΄ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ°Π±Π»ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ. ΠΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π·ΡΡ Π² Π΄Π΅Π±ΡΠΈ ΡΠ΅ΠΎΡΠΈΠΈ ΠΈ ΠΈΠ·ΡΡΠ°ΡΡ ΡΡΠΎ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΡΡΡΡ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ 2 ΡΠ°Π±Π»ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ Β«ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈΒ» ΠΈ Β«ΠΡΠ΄Π΅Π»ΡΒ», ΠΏΠ΅ΡΠ²ΡΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Positions, Π° Π²ΡΠΎΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Departments:
CREATE TABLE Positions(ID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_Positions PRIMARY KEY,
Name nvarchar(30) NOT NULL)
CREATE TABLE Departments(ID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_Departments PRIMARY KEY,
Name nvarchar(30) NOT NULL)
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π·Π΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π½ΠΎΠ²ΡΡ ΠΎΠΏΡΠΈΡ IDENTITY, ΠΊΠΎΡΠΎΡΠ°Ρ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠ»Π±ΡΠ΅ ID Π±ΡΠ΄ΡΡ Π½ΡΠΌΠ΅ΡΠΎΠ²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ 1, Ρ ΡΠ°Π³ΠΎΠΌ 1, Ρ.Π΅. ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1, 2, 3, ΠΈ Ρ.Π΄. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠΌΠΈ. Π ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ IDENTITY ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ, Π½ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ
Π ΡΠ°Π·Π½ΡΡ Π‘Π£ΠΠ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡΡΡ ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ. Π MySQL, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΡΠΈΠΈ AUTO_INCREMENT. Π ORACLE ΠΈ Firebird ΡΠ°Π½ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ (SEQUENCE). ΠΠΎ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Ρ Π·Π½Π°Ρ Π² ORACLE ΡΠ΅ΠΉΡΠ°Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΎΠΏΡΠΈΡ GENERATED AS IDENTITY.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ ΡΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΠΏΠΎΠ»ΡΡ Position ΠΈ Department ΡΠ°Π±Π»ΠΈΡΡ Employees:
ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ Name ΡΠ°Π±Π»ΠΈΡΡ Positions, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΠΏΠΎΠ»Ρ Position ΡΠ°Π±Π»ΠΈΡΡ Employees
INSERT Positions(Name)
SELECT DISTINCT Position
FROM Employees
WHERE Position IS NOT NULL -- ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΊΠΎΡΠΎΡΡΡ
ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Π°
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΏΡΠΎΠ΄Π΅Π»Π°Π΅ΠΌ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ Departments:
INSERT Departments(Name)
SELECT DISTINCT Department
FROM Employees
WHERE Department IS NOT NULL
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Positions ΠΈ Departments, ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΠΏΡΠΎΠ½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΠΎΠ»Ρ ID:
SELECT * FROM Positions
SELECT * FROM Departments
ΠΠ°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈ Π±ΡΠ΄ΡΡ ΠΈΠ³ΡΠ°ΡΡ ΡΠΎΠ»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΎΡΠ΄Π΅Π»ΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΎΡΠ΄Π΅Π»ΠΎΠ². Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Employees Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²:
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ID Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ
ALTER TABLE Employees ADD PositionID int
-- Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ID ΠΎΡΠ΄Π΅Π»Π°
ALTER TABLE Employees ADD DepartmentID int
Π’ΠΈΠΏ ΡΡΡΠ»ΠΎΡΠ½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΊΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ
, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ int.
Π’Π°ΠΊ ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠ² ΠΏΠΎΠ»Ρ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
ALTER TABLE Employees ADD PositionID int, DepartmentID int
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ ΡΡΡΠ»ΠΊΠΈ (ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ - FOREIGN KEY) Π΄Π»Ρ ΡΡΠΈΡ
ΠΏΠΎΠ»Π΅ΠΉ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΈΠΌΠ΅Π» Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅Π΄ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ID Π½Π°Ρ
ΠΎΠ΄ΡΡΠΈΡ
ΡΡ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ
.
ALTER TABLE Employees ADD CONSTRAINT FK_Employees_PositionID
FOREIGN KEY(PositionID) REFERENCES Positions(ID)
Π ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ΄Π΅Π»Π°Π΅ΠΌ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ:
ALTER TABLE Employees ADD CONSTRAINT FK_Employees_DepartmentID
FOREIGN KEY(DepartmentID) REFERENCES Departments(ID)
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½Π΅ΡΡΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ID ΠΈΠ· ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΎΡΠ΄Π΅Π» ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, ΠΎΠ½ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ. Π’.ΠΊ. Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠ΄Π΅Π»Ρ ΡΠ΅ΠΏΠ΅ΡΡ Ρ
ΡΠ°Π½ΡΡΡΡ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ
Π² ΠΎΠ΄Π½ΠΎΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅, ΡΠΎ ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅.
ΠΠΌΡ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΡΠ°Π²Π½ΡΠΌ, ΠΎΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΡΠ΅ΡΠΈΠΊΡΠ° Β«FK_Β», Π·Π°ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ΄Π΅Ρ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ°Π±Π»ΠΈΡΡ-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (ID) ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ²ΡΠ·Π΅ΠΉ ΠΈ ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΌ Ρ ΡΠ°Π½ΠΈΡΡΡ, Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π±Π΅Π·ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΡΠ°ΡΡΡΡ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π΄ΡΡΠΎΠΊ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΠΎ Ρ ΠΎΠ΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
ALTER TABLE ΡΠ°Π±Π»ΠΈΡΠ° ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
FOREIGN KEY(ΠΏΠΎΠ»Π΅1,ΠΏΠΎΠ»Π΅2,β¦) REFERENCES ΡΠ°Π±Π»ΠΈΡΠ°_ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ(ΠΏΠΎΠ»Π΅1,ΠΏΠΎΠ»Π΅2,β¦)
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Β«ΡΠ°Π±Π»ΠΈΡΠ°_ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΒ» ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΠΎΠ»Π΅ΠΉ (ΠΏΠΎΠ»Π΅1, ΠΏΠΎΠ»Π΅2,β¦).
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΠΎΠ»Ρ PositionID ΠΈ DepartmentID Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ID ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ². ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ DML ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ UPDATE:
UPDATE e
SET
PositionID=(SELECT ID FROM Positions WHERE Name=e.Position),
DepartmentID=(SELECT ID FROM Departments WHERE Name=e.Department)
FROM Employees e
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² Π·Π°ΠΏΡΠΎΡ:
SELECT * FROM Employees
ΠΡΡ, ΠΏΠΎΠ»Ρ PositionID ΠΈ DepartmentID Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡΠΌ ΠΈ ΠΎΡΠ΄Π΅Π»Π°ΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ Π½Π°Π΄ΠΎΠ±Π½ΠΎΡΡΠΈ Π² ΠΏΠΎΠ»ΡΡ
Position ΠΈ Department Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Employees ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠΈ ΠΏΠΎΠ»Ρ:
ALTER TABLE Employees DROP COLUMN Position,Department
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½Π°Ρ ΠΏΡΠΈΠΎΠ±ΡΠ΅Π»Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΠΈΠ΄:
SELECT * FROM Employees
ID | Name | Birthday | PositionID | DepartmentID | |
---|---|---|---|---|---|
1000 | ΠΠ²Π°Π½ΠΎΠ² Π.Π. | NULL | NULL | 2 | 1 |
1001 | ΠΠ΅ΡΡΠΎΠ² Π.Π. | NULL | NULL | 3 | 3 |
1002 | Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘. | NULL | NULL | 1 | 2 |
1003 | ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π. | NULL | NULL | 4 | 3 |
Π’.Π΅. ΠΌΡ Π² ΠΈΡΠΎΠ³Π΅ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΎΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠ΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ -ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°Ρ :
SELECT e.ID,e.Name,p.Name PositionName,d.Name DepartmentName
FROM Employees e
LEFT JOIN Departments d ON d.ID=e.DepartmentID
LEFT JOIN Positions p ON p.ID=e.PositionID
Π ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΡΡΠ΄Π° ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ.
Π’Π°ΠΊ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ»Π°ΡΡΡΡ ΡΠ°ΠΌΠ° Π½Π° ΡΠ΅Π±Ρ, Ρ.Π΅. ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΡΠ»ΠΊΡ. ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅ ManagerID, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠΎΠ΄ΡΠΈΠ½ΡΠ΅ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠΎΠ»Π΅:
ALTER TABLE Employees ADD ManagerID int
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL, ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΡΠΌ, Π΅ΡΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π΄ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠΌ Π½Π΅Ρ Π²ΡΡΠ΅ΡΡΠΎΡΡΠΈΡ
.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ FOREIGN KEY Π½Π° ΡΠ°Π±Π»ΠΈΡΡ Employees:
ALTER TABLE Employees ADD CONSTRAINT FK_Employees_ManagerID
FOREIGN KEY (ManagerID) REFERENCES Employees(ID)
ΠΠ°Π²Π°ΠΉΡΠ΅, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π° Π½Π΅ΠΉ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π½Π°ΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ:
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ (ΡΠ°Π±Π»ΠΈΡΠ° Employees ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Positions ΠΈ Depertments, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ ΡΠ°ΠΌΠ° Π½Π° ΡΠ΅Π±Ρ):
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΡΠ»ΠΎΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ON DELETE CASCADE ΠΈ ON UPDATE CASCADE, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅-ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΡΠ»ΠΈ ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½Ρ, ΡΠΎ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ID Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ Ρ ΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°ΠΊΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΠ΄Π°Π»ΠΈΠΌ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΡΠ»Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ»ΠΈ, ΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ Π² ΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠΈΠΈ ON DELETE CASCADE Π΄Π»Ρ FK_Employees_DepartmentID:
DROP TABLE Employees
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30),
Birthday date,
Email nvarchar(30),
PositionID int,
DepartmentID int,
ManagerID int,
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID)
ON DELETE CASCADE,
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT FK_Employees_ManagerID FOREIGN KEY (ManagerID) REFERENCES Employees(ID))
INSERT Employees (ID,Name,Birthday,PositionID,DepartmentID,ManagerID)VALUES
(1000,N"ΠΠ²Π°Π½ΠΎΠ² Π.Π.","19550219",2,1,NULL),
(1001,N"ΠΠ΅ΡΡΠΎΠ² Π.Π.","19831203",3,3,1003),
(1002,N"Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘.","19760607",1,2,1000),
(1003,N"ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π.","19820417",4,3,1000)
Π£Π΄Π°Π»ΠΈΠΌ ΠΎΡΠ΄Π΅Π» Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ 3 ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ Departments:
DELETE Departments WHERE ID=3
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Employees:
SELECT * FROM Employees
ID | Name | Birthday | PositionID | DepartmentID | ManagerID | |
---|---|---|---|---|---|---|
1000 | ΠΠ²Π°Π½ΠΎΠ² Π.Π. | 1955-02-19 | NULL | 2 | 1 | NULL |
1002 | Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘. | 1976-06-07 | NULL | 1 | 2 | 1000 |
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»Ρ 3 ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ Employees ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ΄Π°Π»ΠΈΠ»ΠΈΡΡ.
ΠΠΏΡΠΈΡ ON UPDATE CASCADE Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, Π½ΠΎ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΎΠ½Π° ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ID Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΌΠ΅Π½ΡΠ΅ΠΌ ID Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΡΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ DepartmentID Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Employees Π½Π° Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ID ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π·Π°Π΄Π°Π»ΠΈ Π² ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ΅. ΠΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, Ρ.ΠΊ. Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ID Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Departments ΡΡΠΎΠΈΡ ΠΎΠΏΡΠΈΡ IDENTITY, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ (ΡΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΡΠ΄Π΅Π»Π° 3 Π½Π° 30):
UPDATE Departments
SET
ID=30
WHERE ID=3
ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡ ΡΡΠΈΡ
2-Ρ
ΠΎΠΏΡΠΈΠΉ ON DELETE CASCADE ΠΈ ON UPDATE CASCADE. Π― ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΡΡΠΈ ΠΎΠΏΡΠΈΠΈ ΠΎΡΠ΅Π½Ρ Π² ΡΠ΅Π΄ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Ρ
ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡ
Π² ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΈ, Ρ.ΠΊ. ΠΏΡΠΈ Π½Π΅ΡΠ°ΡΠ½Π½ΠΎΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΏΠ½ΡΡ ΡΠ΅Π°ΠΊΡΠΈΡ.
ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΎΡΠ΄Π΅Π» 3:
ΠΠ°Π΅ΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ IDENTITY Π·Π½Π°ΡΠ΅Π½ΠΈΡ
SET IDENTITY_INSERT Departments ON
INSERT Departments(ID,Name) VALUES(3,N"ΠΠ’")
-- Π·Π°ΠΏΡΠ΅ΡΠ°Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ IDENTITY Π·Π½Π°ΡΠ΅Π½ΠΈΡ
SET IDENTITY_INSERT Departments OFF
ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΡΠΈΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ Employees ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ TRUNCATE TABLE:
TRUNCATE TABLE Employees
Π ΡΠ½ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π·Π°Π»ΡΠ΅ΠΌ Π² Π½Π΅Π΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ INSERT:
INSERT Employees (ID,Name,Birthday,PositionID,DepartmentID,ManagerID)VALUES (1000,N"ΠΠ²Π°Π½ΠΎΠ² Π.Π.","19550219",2,1,NULL), (1001,N"ΠΠ΅ΡΡΠΎΠ² Π.Π.","19831203",3,3,1003), (1002,N"Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘.","19760607",1,2,1000), (1003,N"ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π.","19820417",4,3,1000)
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ
ΠΠ° Π΄Π°Π½Π½ΡΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊ Π½Π°ΡΠΈΠΌ Π·Π½Π°Π½ΠΈΡΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΎΡΡ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ DDL:- ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° IDENTITY ΠΊ ΠΏΠΎΠ»Ρ β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ (ΠΏΠΎΠ»Π΅ΠΌ-ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ) Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ;
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ_ΠΏΠΎΠ»Π΅ΠΉ_Ρ_Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π² ΡΠ°Π±Π»ΠΈΡΡ;
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ DROP COLUMN ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ_ΠΏΠΎΠ»Π΅ΠΉ β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»Ρ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ;
- ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ FOREIGN KEY (ΠΏΠΎΠ»Ρ) REFERENCES ΡΠ°Π±Π»ΠΈΡΠ°_ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ(ΠΏΠΎΠ»Ρ) β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΠΈ ΡΠ°Π±Π»ΠΈΡΠ΅ΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠΌ.
ΠΡΠΎΡΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ β UNIQUE, DEFAULT, CHECK
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ UNIQUE ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΠΈΠ»ΠΈ Π² Π½Π°Π±ΠΎΡΠ΅ ΠΏΠΎΠ»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ. Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π±Π»ΠΈΡΡ Employees, ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Π»ΠΎΠΆΠΈΡΡ Π½Π° ΠΏΠΎΠ»Π΅ Email. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Email Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π΅ΡΠ΅ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ:UPDATE Employees SET Email="[email protected]" WHERE ID=1000
UPDATE Employees SET Email="[email protected]" WHERE ID=1001
UPDATE Employees SET Email="[email protected]" WHERE ID=1002
UPDATE Employees SET Email="[email protected]" WHERE ID=1003
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π»ΠΎΠΆΠΈΡΡ Π½Π° ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅-ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ:
ALTER TABLE Employees ADD CONSTRAINT UQ_Employees_Email UNIQUE(Email)
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π²Π½Π΅ΡΡΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ E-Mail Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ².
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ β ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«UQ_Β», Π΄Π°Π»Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈΠ΄Π΅Ρ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΡΡΡΠΎΠΊ ΡΠ°Π±Π»ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΈΡ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ UNIQUE(ΠΏΠΎΠ»Π΅1,ΠΏΠΎΠ»Π΅2,β¦)
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ DEFAULT ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ INSERT. ΠΠ°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ Employees Π½ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Β«ΠΠ°ΡΠ° ΠΏΡΠΈΠ΅ΠΌΠ°Β» ΠΈ Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Π³ΠΎ HireDate ΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ°:
ALTER TABLE Employees ADD HireDate date NOT NULL DEFAULT SYSDATETIME()
ΠΠ»ΠΈ Π΅ΡΠ»ΠΈ ΡΡΠΎΠ»Π±Π΅Ρ HireDate ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
ALTER TABLE Employees ADD DEFAULT SYSDATETIME() FOR HireDate
ΠΠ΄Π΅ΡΡ Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π» ΠΈΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Ρ.ΠΊ. Π² ΡΠ»ΡΡΠ°Π΅ DEFAULT Ρ ΠΌΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ ΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ Π½Π΅ ΡΡΠΎΠ»Ρ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ. ΠΠΎ Π΅ΡΠ»ΠΈ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎ-Ρ
ΠΎΡΠΎΡΠ΅ΠΌΡ, ΡΠΎ, Π΄ΡΠΌΠ°Ρ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π»Π΅Π½ΠΈΡΡΡΡ ΠΈ ΡΡΠΎΠΈΡ Π·Π°Π΄Π°ΡΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ALTER TABLE Employees ADD CONSTRAINT DF_Employees_HireDate DEFAULT SYSDATETIME() FOR HireDate
Π’Π° ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° ΡΠ°Π½ΡΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ, ΡΠΎ ΠΏΡΠΈ Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΏΠΎΠ»Π΅ HireDate Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»Π΅Π½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π°ΡΡ.
ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ΅ΠΊΡΡΠ°Ρ Π΄Π°ΡΠ° ΡΠ°ΠΊ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΡΠ°Π²Π»Π΅Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠΌ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΅ΡΠ»ΠΈ ΠΌΡ Π΅Π΅ ΡΠ²Π½ΠΎ Π½Π΅ Π·Π°Π΄Π°Π΄ΠΈΠΌ, Ρ.Π΅. Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΠΌ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ². ΠΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΡΡΠΎ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½Π΅ ΡΠΊΠ°Π·Π°Π² ΠΏΠΎΠ»Π΅ HireDate Π² ΠΏΠ΅ΡΠ΅ΡΠ½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
INSERT Employees(ID,Name,Email)VALUES(1004,N"Π‘Π΅ΡΠ³Π΅Π΅Π² Π‘.Π‘.","[email protected]")
ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ:
SELECT * FROM Employees
ID | Name | Birthday | PositionID | DepartmentID | ManagerID | HireDate | |
---|---|---|---|---|---|---|---|
1000 | ΠΠ²Π°Π½ΠΎΠ² Π.Π. | 1955-02-19 | [email protected] | 2 | 1 | NULL | 2015-04-08 |
1001 | ΠΠ΅ΡΡΠΎΠ² Π.Π. | 1983-12-03 | [email protected] | 3 | 4 | 1003 | 2015-04-08 |
1002 | Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘. | 1976-06-07 | [email protected] | 1 | 2 | 1000 | 2015-04-08 |
1003 | ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π. | 1982-04-17 | [email protected] | 4 | 3 | 1000 | 2015-04-08 |
1004 | Π‘Π΅ΡΠ³Π΅Π΅Π² Π‘.Π‘. | NULL | [email protected] | NULL | NULL | NULL | 2015-04-08 |
ΠΡΠΎΠ²Π΅ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ CHECK ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ Π² ΠΏΠΎΠ»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°Π»ΠΎΠΆΠΈΠΌ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΠ»Π΅ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ Π½Π°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° (ID). ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΡΠΎ ΡΠ°Π±Π΅Π»ΡΠ½ΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 1000 Π΄ΠΎ 1999:
ALTER TABLE Employees ADD CONSTRAINT CK_Employees_ID CHECK(ID BETWEEN 1000 AND 1999)
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠΈΠΊΡ Β«CK_Β», Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅.
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ (ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ):
INSERT Employees(ID,Email) VALUES(2000,"[email protected]")
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° 1500 ΠΈ ΡΠ±Π΅Π΄ΠΈΠΌΡΡ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π²ΡΡΠ°Π²ΠΈΡΡΡ:
INSERT Employees(ID,Email) VALUES(1500,"[email protected]")
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ UNIQUE ΠΈ CHECK Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ:
ALTER TABLE Employees ADD UNIQUE(Email)
ALTER TABLE Employees ADD CHECK(ID BETWEEN 1000 AND 1999)
ΠΠΎ ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ
ΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΈ Π»ΡΡΡΠ΅ Π·Π°Π΄Π°Π²Π°ΡΡ ΠΈΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΡΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Ρ.ΠΊ. ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΏΠΎΡΠΎΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ»ΠΎΠΆΠ½Π΅Π΅, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ, Π·Π° ΡΡΠΎ ΠΎΠ½ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ.
ΠΡΠΈ Ρ ΠΎΡΠΎΡΠ΅ΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.
Π, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΡΠ΅ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΈΡΡ, Π΅ΡΠ»ΠΈ Π΅Π΅ Π΅ΡΠ΅ Π½Π΅Ρ. Π£Π΄Π°Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ:
DROP TABLE Employees
Π ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CREATE TABLE:
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30),
Birthday date,
Email nvarchar(30),
PositionID int,
DepartmentID int,
HireDate date NOT NULL DEFAULT SYSDATETIME(), -- Π΄Π»Ρ DEFAULT Ρ ΡΠ΄Π΅Π»Π°Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID),
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT UQ_Employees_Email UNIQUE (Email),
CONSTRAINT CK_Employees_ID CHECK (ID BETWEEN 1000 AND 1999))
INSERT Employees (ID,Name,Birthday,Email,PositionID,DepartmentID)VALUES (1000,N"ΠΠ²Π°Π½ΠΎΠ² Π.Π.","19550219","[email protected]",2,1), (1001,N"ΠΠ΅ΡΡΠΎΠ² Π.Π.","19831203","[email protected]",3,3), (1002,N"Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘.","19760607","[email protected]",1,2), (1003,N"ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π.","19820417","[email protected]",4,3)
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ PRIMARY KEY ΠΈ UNIQUE
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π° ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π²ΡΡΠ΅, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ PRIMARY KEY ΠΈ UNIQUE Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ (PK_Employees ΠΈ UQ_Employees_Email). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ CLUSTERED, Π° Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΊΠ°ΠΊ NONCLUSTERED. Π‘ΡΠΎΠΈΡ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π΅ΡΡΡ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ Π‘Π£ΠΠ. Π’Π°Π±Π»ΠΈΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ (CLUSTERED) ΠΈΠ½Π΄Π΅ΠΊΡ. CLUSTERED β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°Π±Π»ΠΈΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠΎ ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ°Π±Π»ΠΈΡΡ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°ΡΡ Π΅ΡΠ΅ Π³ΡΡΠ±Π΅Π΅, ΡΠΎ ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡ, ΠΏΡΠΈΠΊΡΡΡΠ΅Π½Π½ΡΠΉ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅. ΠΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΠΊΠ° ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ ΡΡΠΎ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎΠ±Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π½Π΅ Π² ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌ ΠΊΠ»ΡΡΠ΅, Π° Π΄Π»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, ΡΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΡ NONCLUSTERED:ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ
PRIMARY KEY NONCLUSTERED(ΠΏΠΎΠ»Π΅1,ΠΏΠΎΠ»Π΅2,β¦)
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ PK_Employees Π½Π΅ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΌ, Π° ΠΈΠ½Π΄Π΅ΠΊΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ UQ_Employees_Email ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΌ. ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΠ΄Π°Π»ΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ:
ALTER TABLE Employees DROP CONSTRAINT PK_Employees
ALTER TABLE Employees DROP CONSTRAINT UQ_Employees_Email
Π ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΈΡ
Ρ ΠΎΠΏΡΠΈΡΠΌΠΈ CLUSTERED ΠΈ NONCLUSTERED:
ALTER TABLE Employees ADD CONSTRAINT PK_Employees PRIMARY KEY NONCLUSTERED (ID)
ALTER TABLE Employees ADD CONSTRAINT UQ_Employees_Email UNIQUE CLUSTERED (Email)
Π’Π΅ΠΏΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² Π²ΡΠ±ΠΎΡΠΊΡ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ Employees, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ UQ_Employees_Email:
SELECT * FROM Employees
ID | Name | Birthday | PositionID | DepartmentID | HireDate | |
---|---|---|---|---|---|---|
1003 | ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π. | 1982-04-17 | [email protected] | 4 | 3 | 2015-04-08 |
1000 | ΠΠ²Π°Π½ΠΎΠ² Π.Π. | 1955-02-19 | [email protected] | 2 | 1 | 2015-04-08 |
1001 | ΠΠ΅ΡΡΠΎΠ² Π.Π. | 1983-12-03 | [email protected] | 3 | 3 | 2015-04-08 |
1002 | Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘. | 1976-06-07 | [email protected] | 1 | 2 | 2015-04-08 |
ΠΠΎ ΡΡΠΎΠ³ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΌ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠΌ Π±ΡΠ» ΠΈΠ½Π΄Π΅ΠΊΡ PK_Employees, Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ID.
ΠΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Ρ.ΠΊ. ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ Employees Π±ΡΠ΄ΡΡ Π΄Π΅Π»Π°ΡΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ID ΠΈ Π² ΠΊΠ°ΠΊΠΈΡ -ΡΠΎ ΡΠ»ΡΡΠ°ΡΡ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½Π° ΡΠ°ΠΌΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΡΠΎΠ»ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ°.
ΠΠ»Ρ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π±ΡΠ» ΠΏΠΎΡΡΡΠΎΠ΅Π½ ΠΏΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ, Ρ.ΠΊ. Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΌΡ ΡΠ°ΡΡΠΎ ΡΡΡΠ»Π°Π΅ΠΌΡΡ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ (ΠΠΎΠ»ΠΆΠ½ΠΎΡΡΠΈ, ΠΡΠ΄Π΅Π»Π°). ΠΠ΄Π΅ΡΡ Π²ΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΠΎ ΡΠ΅ΠΌ Ρ ΠΏΠΈΡΠ°Π» Π²ΡΡΠ΅, ΡΡΠΎ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΡΠΌΠΎΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ ΡΠ°Π±Π»ΠΈΡΡ, Π° ΠΎΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ².
ΠΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΡΠΌ Π²ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ΄Π΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ.
ΠΠ½ΠΎΠ³Π΄Π° Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΡΡ ΠΏΠΎ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, Π²ΠΎΡ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π±ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠΏΡΠΈΡ CLUSTERED ΠΈΠ½Π΄Π΅ΠΊΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΡ NONCLUSTERED ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΡΡΠΎΠ³Π°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°.
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ, Π² ΠΈΡ ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π²ΠΈΠ΄Π° Β«ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ ADD CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ β¦Β»:- PRIMARY KEY β ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ;
- FOREIGN KEY β Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ²ΡΠ·Π΅ΠΉ ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΡΡΡΠ»ΠΎΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ;
- UNIQUE β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ;
- CHECK β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;
- DEFAULT β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ;
- Π’Π°ΠΊ ΠΆΠ΅ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Β«ALTER TABLE ΠΈΠΌΡ_ΡΠ°Π±Π»ΠΈΡΡ DROP CONSTRAINT ΠΈΠΌΡ_ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΒ».
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²
ΠΠΎΠ΄ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ Π·Π΄Π΅ΡΡ ΠΈΠΌΠ΅ΡΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΈΠ½Π΄Π΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π΅ Π΄Π»Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ PRIMARY KEY ΠΈΠ»ΠΈ UNIQUE.ΠΠ½Π΄Π΅ΠΊΡΡ ΠΏΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
CREATE INDEX IDX_Employees_Name ON Employees(Name)
Π’Π°ΠΊ ΠΆΠ΅ Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠΏΡΠΈΠΈ CLUSTERED, NONCLUSTERED, UNIQUE, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ASC (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΠΈΠ»ΠΈ DESC:
CREATE UNIQUE NONCLUSTERED INDEX UQ_Employees_EmailDesc ON Employees(Email DESC)
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½Π΅ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ° ΠΎΠΏΡΠΈΡ NONCLUSTERED ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΡΡΠΈΡΡ, Ρ.ΠΊ. ΠΎΠ½Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π·Π΄Π΅ΡΡ ΠΎΠ½Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΏΡΠΎΡΡΠΎ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠΏΡΠΈΠΈ CLUSTERED ΠΈΠ»ΠΈ NONCLUSTERED Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
Π£Π΄Π°Π»ΠΈΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
DROP INDEX IDX_Employees_Name ON Employees
ΠΡΠΎΡΡΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ CREATE TABLE.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ½ΠΎΠ²Π° ΡΠ΄Π°Π»ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ:
DROP TABLE Employees
Π ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΅Π΅ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ CREATE TABLE:
CREATE TABLE Employees(ID int NOT NULL,
Name nvarchar(30),
Birthday date,
Email nvarchar(30),
PositionID int,
DepartmentID int,
HireDate date NOT NULL CONSTRAINT DF_Employees_HireDate DEFAULT SYSDATETIME(),
ManagerID int,
CONSTRAINT PK_Employees PRIMARY KEY (ID),
CONSTRAINT FK_Employees_DepartmentID FOREIGN KEY(DepartmentID) REFERENCES Departments(ID),
CONSTRAINT FK_Employees_PositionID FOREIGN KEY(PositionID) REFERENCES Positions(ID),
CONSTRAINT FK_Employees_ManagerID FOREIGN KEY (ManagerID) REFERENCES Employees(ID),
CONSTRAINT UQ_Employees_Email UNIQUE(Email),
CONSTRAINT CK_Employees_ID CHECK(ID BETWEEN 1000 AND 1999),
INDEX IDX_Employees_Name(Name))
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ Π²ΡΡΠ°Π²ΠΈΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ Π½Π°ΡΠΈΡ
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²:
INSERT Employees (ID,Name,Birthday,Email,PositionID,DepartmentID,ManagerID)VALUES
(1000,N"ΠΠ²Π°Π½ΠΎΠ² Π.Π.","19550219","[email protected]",2,1,NULL),
(1001,N"ΠΠ΅ΡΡΠΎΠ² Π.Π.","19831203","[email protected]",3,3,1003),
(1002,N"Π‘ΠΈΠ΄ΠΎΡΠΎΠ² Π‘.Π‘.","19760607","[email protected]",1,2,1000),
(1003,N"ΠΠ½Π΄ΡΠ΅Π΅Π² Π.Π.","19820417","[email protected]",4,3,1000)
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π² Π½Π΅ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΈΡ
Π² INCLUDE. Π’.Π΅. Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ INCLUDE-ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΅ΠΌ-ΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ, ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΡΠΈΠΊΡΡΡΠ΅Π½ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅, Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΊΡΡΡΠ΅Π½Ρ ΠΊ ΠΈΠ½Π΄Π΅ΠΊΡΡ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊΠΈΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π²ΡΠ±ΠΎΡΠΊΡ (SELECT), Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ ΠΈΠΌΠ΅ΡΡΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ ΡΠ°Π±Π»ΠΈΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠΎ ΡΡΠΎ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Ρ.ΠΊ. Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ
ΠΏΠΎΠ»Π΅ΠΉ Π΄ΡΠ±Π»ΠΈΡΡΡΡΡΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠ΅.
ΠΡΡΠ΅Π·ΠΊΠ° ΠΈΠ· MSDN. ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON
ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ
ΠΠ½Π΄Π΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ (SELECT), Π½ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ ΡΠΌΠ΅Π½ΡΡΠ°ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, Ρ.ΠΊ. ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΈΡΡ Π²ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π·ΠΎΠ»ΠΎΡΡΡ ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ, ΡΡΠΎΠ±Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΊΠΈ, ΡΠ°ΠΊ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π±ΡΠ»Π° Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅. Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ DDL
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΠ·ΡΠΊ DDL Π½Π΅ ΡΠ°ΠΊ ΡΠ»ΠΎΠΆΠ΅Π½, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄. ΠΠ΄Π΅ΡΡ Ρ ΡΠΌΠΎΠ³ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΎΠΏΠ΅ΡΠΈΡΡΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ.ΠΠ»Π°Π²Π½ΠΎΠ΅ - ΠΏΠΎΠ½ΡΡΡ ΡΡΡΡ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π΄Π΅Π»ΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ.
Π£Π΄Π°ΡΠΈ Π²Π°ΠΌ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ SQL.
ΠΠ½ΠΈΠ³Π° ΠΠ»Π°Π½Π° ΠΡΡΠ»ΠΈ, ΡΠΊΡΠΏΠ΅ΡΡΠ° ΠΏΠΎ ΡΠ·ΡΠΊΡ SQL, β ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π΅ΡΠ΅ Π½Π΅ Π·Π½Π°Π΅Ρ, Π½ΠΎ Ρ ΠΎΡΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΡΠΎΡ ΡΠ·ΡΠΊ. ΠΠ½ΠΈΠ³Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅Ρ ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΡ ΠΌΠΎΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°Ρ ΡΠ·ΡΠΊΠ° SQL, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌΠΈ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΠ΅ SQL, Π³ΡΠ΅ΡΠ°Ρ ΡΠΊΡΡΠ½ΡΠΌ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ². ΠΠ΄Π΅ΡΡ ΠΆΠ΅ Π°Π²ΡΠΎΡ Π² ΡΡΠΈΠ»Π΅ ΠΆΠΈΠ²ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΊΠ°Π·Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅Ρ SQL-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π±Π»ΠΎΠΊΠΈ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ , Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΠΎΠ΄Π·Π°ΠΏΡΠΎΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΠ°Π±Π»ΠΈΡ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ SQL β ΡΡΠΎ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π°Π²ΡΠΎΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ΅Π±Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ MySQL ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠΈΡ Π²Π΅ΡΡ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π½Π΅ Π½Π°ΡΡΠΈΡΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΠ, Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΠΠ ΠΈ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΡΠ΅ΡΡ.
ΠΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΆΠ°Π½ΡΡ ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΡ: ΠΏΡΠΎΡΠ΅Π΅. ΠΠ° Π½Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ "ΠΠ·ΡΡΠ°Π΅ΠΌ SQL" Π² ΡΠΎΡΠΌΠ°ΡΠ΅ fb2, rtf, epub, pdf, txt ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ ΠΎΠ½Π»Π°ΠΉΠ½. ΠΠ΄Π΅ΡΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΎΡΠ·ΡΠ²Π°ΠΌ ΡΠΈΡΠ°ΡΠ΅Π»Π΅ΠΉ, ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡ Ρ ΠΊΠ½ΠΈΠ³ΠΎΠΉ, ΠΈ ΡΠ·Π½Π°ΡΡ ΠΈΡ ΠΌΠ½Π΅Π½ΠΈΠ΅. Π ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΠ°ΡΡΠ½Π΅ΡΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠΏΠΈΡΡ ΠΈ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ Π² Π±ΡΠΌΠ°ΠΆΠ½ΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅.