Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ — ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² SQL, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΡ
ΡΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠ΅ΡΡΠ²Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°ΠΌΠΈ. Π’ΠΎ Π΅ΡΡΡ, ΠΏΠΎΠΊΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΠ° Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΡ (ΠΈΡ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅), Π½ΠΈΠΊΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ Π·Π°ΠΏΠΈΡΡΠΌ. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π² Π³ΡΡΠΏΠΏΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ Π³ΡΡΠΏΠΏΡ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡΠ»ΠΈ ΡΠ°ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠΎ ΡΠ±ΠΎΠ΅ΠΌ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄ΠΎ ΠΌΠ΅ΡΡΠ° ΡΠ±ΠΎΡ ΠΎΡΠΌΠ΅Π½ΡΡΡΡΡ, ΠΏΡΠΈΠ²ΠΎΠ΄Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΊ Π²ΠΈΠ΄Ρ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½Π° Π±ΡΠ»Π° Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ» ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ: InnoDB ΠΈ BDB. ΠΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, MyISAM, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ. Π‘ΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΠ°ΡΡΠΎ Π΅ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ACID (ACID ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ΠΌ Atomatic (Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΉ), Consistent (ΡΠ΅Π»ΠΎΡΡΠ½ΡΠΉ), Isolated (ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ), Durable (Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ)).
- — ΠΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΡΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±Π»ΠΎΠΊ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ
ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±Π»ΠΎΠΊΠ°.
- — Π¦Π΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ. ΠΠ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΠΉ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
- — ΠΠ·ΠΎΠ»ΡΡΠΈΡ. ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°.
- — ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠ΅ Π΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΠΠ.
ΠΠΈΡΡΠΈΠ½Π³ 3.1. SQL-ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
SET Autocommit = 0.
INSERT INTO tovari VALUES (4073, 1026, 3041, 'Plastilin', 4, 20, 'prisutstvuet');
INSERT INTO tovari VALUES (4074, 1025, 3045, 'Bumaga A3', 22, 10, 'prisutstvuet').
Π ΠΈΡ 3.1. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.1. Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈΡΡ ΠΏΠΎ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° Auto commit.
ΠΠΈΡΡΠΈΠ½Π³ 3.2. SQL-ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
START TRANSACTION;
INSERT INTO klient VALUES (2037, 'Sharipov S', 905 015 960, 'g.Khujand');
INSERT INTO klient VALUES (2038, 'Yusupov F', 987 718 880, 'n.Spitamen');
ROLLBACK;
ΠΠ° Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.2. ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ROLLBACK ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°ΠΏΡΡΠΊΠ°.
Π ΠΈΡ 3.2. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠΎ ΡΠΈΡΡΠ½ΠΊΠ΅ Π²ΡΡΠ΅ ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π΄Π°Π»ΡΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠ°Π±Π»ΠΈΡΡ Π½Π° ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
ΠΠΈΡΡΠΈΠ½Π³ 3.3. SQL-ΠΊΠΎΠ΄ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡ.
LOCK TABLES tovari_info WRITE;
ΠΠ° Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.3. ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ SQL ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΡΠΎΡΡΠΉ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ° tovari_info Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
.
ΠΠΈΡΡΠΈΠ½Π³ 3.4. SQL-ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡ.
UNLOCK TABLES tovari_info READ;
ΠΠ° Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.4 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ SQL — ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΠ° tovari_info ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ Π³Π»Π°Π²Π΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π΄Π²Π° Π²ΠΈΠ΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ.