ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Β«ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ) Β»
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΠ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΠ½ΡΡ ΡΠ²ΡΠ·ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ Β«ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ) Β» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
2.1 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
2.2 ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
2.3 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ²
3. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
4. ΠΠ°ΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Ρ
4.1 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈ
4.2 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
5. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
6. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
6.1 Π‘ΠΊΡΠΈΠΏΡΡ
6.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠ±ΠΎΡΠΎΠΊ
ΠΡΠ²ΠΎΠ΄Ρ Π‘ΠΏΠΈΡΠΎΠΊ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ (ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π·ΡΠΈΡΠ΅Π»Π΅ΠΉ):
— ΡΠΈΠ»ΡΠΌΡ: Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΠΆΠ°Π½Ρ, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΠ΅Π½Ρ Π½Π° Π±ΠΈΠ»Π΅ΡΡ;
— ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ: Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π°Π΄ΡΠ΅Ρ, ΡΡ Π΅ΠΌΠ° ΠΏΡΠΎΠ΅Π·Π΄Π°, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅, ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΡΡ, Π°ΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΡΠΌΠ°Ρ.
2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
2.1 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ
ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΎΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ½Π΅Π½ΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ — ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅:
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ, Ρ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΊΠ°Π·Π°ΡΡ Π±ΠΈΠ»Π΅Ρ. ΠΡΠΈ ΡΡΠΎΠΌ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠΈΠ»ΡΠΌ. ΠΠΈΠ±ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡ, ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠ»ΡΠΌΡ Π² Π½Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ.
2.2 ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ:
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π§Π΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠ»ΡΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ. ΠΡΠ±ΡΠ°Π² ΡΠΈΠ»ΡΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΌ (ΠΆΠ°Π½Ρ, ΡΠ΅ΠΉΡΠΈΠ½Π³, ΡΠ΅Π½Ρ Π½Π° Π±ΠΈΠ»Π΅Ρ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ), Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΡΠΈΠ»ΡΠΌ. ΠΠ· ΡΠΏΠΈΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡ ΠΈ ΡΠ·Π½Π°ΡΡ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π΅ΠΌ (Π°Π΄ΡΠ΅Ρ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΡΡ, Π°ΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΡΠΌΠ°Ρ ΡΠΊΡΠ°Π½Π°).
2.3 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ²
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ²:
Π ΠΈΡΡΠ½ΠΎΠΊ 2.3 — ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ 2 ΠΊΠ»Π°ΡΡΠ°: Π€ΠΈΠ»ΡΠΌ ΠΈ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ. Π ΠΊΠ»Π°ΡΡ Π€ΠΈΠ»ΡΠΌ Π²Ρ ΠΎΠ΄ΡΡ 6 Π°ΡΡΠΈΠ±ΡΡΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡ ID_ΡΠΈΠ»ΡΠΌΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ ΡΠΈΠ»ΡΠΌΠ°. ΠΠ»Π°ΡΡ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ 6 Π°ΡΡΠΈΠ±ΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ID_ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΡΡΠΈΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ. ΠΠ»Π°ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ «ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ».
3. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ Π·Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠΈΡΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ·-Π·Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ° ΠΊΠ»Π°ΡΡΠΎΠ². Π‘ΡΠΎΠΉΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΡΠ½ΠΎΡΡΡΡ . ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ «ΠΠ°ΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅» (ΠΎΡ. Π°Π½Π³Π». Mapping).
Π’ΠΎΠ³Π΄Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π€ΠΈΠ»ΡΠΌ ΠΈ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ, Π²ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ (ΡΠ°Π±Π». 3.1)
Π’Π°Π±Π»ΠΈΡΠ° 3.1 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π€ΠΈΠ»ΡΠΌ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_ΡΠΈΠ»ΡΠΌΠ° | ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_ΡΠΈΠ»ΡΠΌΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠΌΠ° | |
ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΠ°Π½Ρ Π Π΅ΠΉΡΠΈΠ½Π³ Π¦Π΅Π½Π° Π±ΠΈΠ»Π΅ΡΠ° | ΠΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠ»ΡΠΌΠ° ΠΠ°Π½Ρ ΡΠΈΠ»ΡΠΌΠ° Π Π΅ΠΉΡΠΈΠ½Π³ ΡΠΈΠ»ΡΠΌΠ° Π¦Π΅Π½Π° Π±ΠΈΠ»Π΅ΡΠ° | |
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π€ΠΈΠ»ΡΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π½Π°Ρ Π€Π: ID_ΡΠΈΠ»ΡΠΌΠ° > ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠΌΠ°, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΆΠ°Π½Ρ, ΡΠ΅ΠΉΡΠΈΠ½Π³, ΡΠ΅Π½Π° Π±ΠΈΠ»Π΅ΡΠ°. ΠΡΠ΅ ΠΏΠΎΠ»Ρ ΠΊΡΠΎΠΌΠ΅ «ID_ΡΠΈΠ»ΡΠΌΠ°» Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
Π’Π°Π±Π»ΠΈΡΠ° 3.2 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° | ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | |
ΠΠ΄ΡΠ΅Ρ | ΠΠ΄ΡΠ΅Ρ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° | |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° Π§ΠΈΡΠ»ΠΎ_ΠΌΠ΅ΡΡ ΠΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ_ΡΠΈΡΡΠ΅ΠΌΠ° Π€ΠΎΡΠΌΠ°Ρ_ΡΠΊΡΠ°Π½Π° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° Π§ΠΈΡΠ»ΠΎ ΠΌΠ΅ΡΡ ΠΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π€ΠΎΡΠΌΠ°Ρ ΡΠΊΡΠ°Π½Π° | |
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»Π½Π°Ρ Π€Π: ID_ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° > Π°Π΄ΡΠ΅Ρ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°, ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΡΡ, Π°ΠΊΡΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΡΠΌΠ°Ρ ΡΠΊΡΠ°Π½Π°. ΠΡΠ΅ ΠΏΠΎΠ»Ρ ΠΊΡΠΎΠΌΠ΅ «ID_ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°» Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ.
ΠΠ½Π°Π»ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ Π€ΠΈΠ»ΡΠΌ ΠΈ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π½ΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ-Π€ΠΈΠ»ΡΠΌ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ.
Π‘ΡΡΠ½ΠΎΡΡΠΈ Π€ΠΈΠ»ΡΠΌ ΠΈ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ ΡΠ²ΡΠ·ΡΡ «ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ» (Π:N). ΠΠΎΡΠ½ΠΎΡΡΡ ΡΠ²ΡΠ·ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΡΡΡ ΡΠ²ΡΠ·ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠ»Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΡ ids. ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π ΠΈΡΡΠ½ΠΎΠΊ 3.1 — Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
4. ΠΠ°ΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Ρ
ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΠ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠΈ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΠ½ΡΡ ΡΠ²ΡΠ·ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΠΈΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΅ΡΠ»ΠΎΠΆΠ½Π°Ρ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΠΉ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠ°Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΠ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Ρ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°).
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈΠΊΠΎΠ² ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡΠ°Π» ΠΠ½Π°ΡΠΎΠ»ΠΈΠΉ Π’Π΅Π½ΡΠ΅Ρ. ΠΠ½ ΠΎΠΏΠΈΡΠ°Π» ΠΏΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ΅Π·ΠΈΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡΡΠΎΠΈΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ :
1. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΠ, — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ.
2. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΠ ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
3. ΠΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° (ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅, ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌΡΠ΅), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΡΡΠ½ΠΎΡΡΠΈ.
4. ΠΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π‘Π²ΡΠ·Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΡΠΈΠΏΠΎΠΌ ΡΠ²ΡΠ·ΠΈ.
5. ΠΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π² Π½Π΅ΠΌ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π’Π°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π° ΡΡΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΡΡ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ.
4.1 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈ
Π±Π°Π·Π° Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΉ, Π±ΡΠ»Π° ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ ΡΡΠΈΠΌ ΡΠ΅Π·ΠΈΡΠ°ΠΌ (ΡΠΈΡ. 4.1).
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΎΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 4 ΠΊΠ»Π°ΡΡΠΎΠ²: Π’ΠΈΠΏΡ, ΠΠ±ΡΠ΅ΠΊΡΡ, ΠΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, ΠΊΡΠΎΠΌΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΈΠΌΠ΅Π΅ΡΡΡ 3 Π°ΡΡΠΈΠ±ΡΡΠ°, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄ΠΈΠ½ — ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π ΠΊΠ»Π°ΡΡΡ ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΡΡΠΈΠ±ΡΡΡ ΠΌΠΈΠ³ΡΠΈΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ° Π’ΠΈΠΏΡ. ΠΠ»Π°ΡΡ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, Π½ΠΎ Π² Π½Π΅Π³ΠΎ ΠΌΠΈΠ³ΡΠΈΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈΠ· ΠΊΠ»Π°ΡΡΠΎΠ² ΠΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΠ±ΡΠ΅ΠΊΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 4.1 — ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΠΊΠ»Π°ΡΡΠΎΠ²
4.2 ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π’ΠΈΠΏΡ, ΠΠ±ΡΠ΅ΠΊΡΡ, ΠΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌΠΈ (ΡΠ°Π±Π». 3.1).
Π’Π°Π±Π»ΠΈΡΠ° 3.1 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π’ΠΈΠΏΡ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° | |
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΈΠΏΠ° | |
Π’Π°Π±Π»ΠΈΡΠ° 3.2 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΠ±ΡΠ΅ΠΊΡΡ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | |
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π’ΠΈΠΏΡ» | |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | |
Π’Π°Π±Π»ΠΈΡΠ° 3.3 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΡΡΠΈΠ±ΡΡΡ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_Π°ΡΡΠΈΠ±ΡΡΠ° | ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ | |
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π’ΠΈΠΏΡ» | |
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_Π°ΡΡΠΈΠ±ΡΡΠ° | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° | |
Π’Π°Π±Π»ΠΈΡΠ° 3.3 ΠΡΡΠΈΠ±ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ»
ΠΡΡΠΈΠ±ΡΡ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
ID_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΠ±ΡΠ΅ΠΊΡΡ» | |
ID_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ID_Π°ΡΡΠΈΠ±ΡΡΠ° | ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «ΠΡΡΠΈΠ±ΡΡΡ» | |
Π’Π΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | ΠΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ ΠΠΎΠ»Π΅ Π΄Π»Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ | |
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ ΡΠ²ΡΠ·ΠΈ «ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΠ½ΠΎΠ³ΠΈΠΌ», Π° Π°ΡΡΠΈΠ±ΡΡ ID_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΡΡ ΡΠ²ΡΠ·Ρ.
5. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ cf_types. ΠΠ»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ object_type_id.
Π’Π°Π±Π»ΠΈΡΠ° 5.1 ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ cf_types:
ΠΡΡΠΈΠ±ΡΡ | Π‘ΡΠΎΠ»Π±Π΅Ρ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | object_type_id | NUMBER | Primary Key | ||
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | name | VARCHAR2(50) | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | ||
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | description | VARCHAR2(100) | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | ||
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ cf_obj. ΠΠ»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ object_id.
Π’Π°Π±Π»ΠΈΡΠ° 5.2 ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ cf_obj:
ΠΡΡΠΈΠ±ΡΡ | Π‘ΡΠΎΠ»Π±Π΅Ρ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
ID_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | object_id | NUMBER | Primary Key | ||
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | object_type_id | NUMBER | Foreign Key | ||
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | name | VARCHAR2(150) | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | ||
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ cf_attr. ΠΠ»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²Π²Π΅Π΄Π΅ΠΌ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ attr_id.
Π’Π°Π±Π»ΠΈΡΠ° 5.3 ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ cf_attr:
ΠΡΡΠΈΠ±ΡΡ | Π‘ΡΠΎΠ»Π±Π΅Ρ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
ID_Π°ΡΡΠΈΠ±ΡΡΠ° | attr_id | NUMBER | Primary Key | ||
ID_ΡΠΈΠΏΠ°_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | object_type_id | NUMBER | Foreign Key | ||
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅_Π°ΡΡΠΈΠ±ΡΡΠ° | name | VARCHAR2(50) | ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° | ||
Π Π΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ cf_par. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ.
Π’Π°Π±Π»ΠΈΡΠ° 5.4 ΠΠ±ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ cf_par:
ΠΡΡΠΈΠ±ΡΡ | Π‘ΡΠΎΠ»Π±Π΅Ρ | Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ | ΠΠΎΡΠΈΠ²Π°ΡΠΈΡ | ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ | |
ID_ΠΎΠ±ΡΠ΅ΠΊΡΠ° | object_id | NUMBER | ΠΠΎΠΌΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° | Foreign Key | |
ID_ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ | relation_id | NUMBER | ΠΠΎΠΌΠ΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ | ||
ID_Π°ΡΡΠΈΠ±ΡΡΠ° | attr_id | NUMBER | ΠΠΎΠΌΠ΅Ρ Π°ΡΡΠΈΠ±ΡΡΠ° | Foreign Key | |
Π’Π΅ΠΊΡΡΠΎΠ²ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | text_value | VARCHAR2(150) | ΠΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ | ||
ΠΠΎΠΌΠ΅ΡΠ½ΠΎΠ΅_Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ | number_value | NUMBER | ΠΠΎΠ»Π΅ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²ΡΡ Π΄Π°Π½Π½ΡΡ | ||
Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ cf_meta Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°ΠΊ:
Π ΠΈΡΡΠ½ΠΎΠΊ 5.1 — Π‘Ρ Π΅ΠΌΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ cf_meta
6. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ
6.1 Π‘ΠΊΡΠΈΠΏΡΡ
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡ Π΅ΠΌΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅:
Create table cf_types (
object_type_id Number NOT NULL ,
name Varchar2(50),
description Varchar2(100),
Constraint pk_cf_types primary key (object_type_id)) ;
Create table cf_attr (
attr_id Number NOT NULL ,
object_type_id Number,
name Varchar2(50),
Constraint pk_cf_attr primary key (attr_id));
Create table cf_obj (
object_id Number NOT NULL ,
object_type_id Number,
name Varchar2(150),
Constraint pk_cf_obj primary key (object_id));
Create table cf_par (
object_id Number NOT NULL ,
relation_id Number,
attr_id Number,
text_value Varchar2(150),
number_value Number);
Alter table cf_attr add Constraint r12 foreign key (object_type_id) references cf_types (object_type_id);
Alter table cf_obj add Constraint r11 foreign key (object_type_id) references cf_types (object_type_id);
Alter table cf_par add Constraint r14 foreign key (attr_id) references cf_attr (attr_id);
Alter table cf_par add Constraint r13 foreign key (object_id) references cf_obj (object_id);
6.2 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΡΠ±ΠΎΡΠΎΠΊ
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 1. ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π½Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ ΠΆΠ°Π½ΡΠΎΠ² ΡΠΈΠ»ΡΠΌΠ°.
SELECT DISTINCT text_value
FROM cf_par par
WHERE attr_id IN (SELECT attr_id FROM cf_attr WHERE name='genre')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2. ΠΡΠ²Π΅ΡΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠΌΠΎΠ² Π² ΠΊΠΎΡΠΎΡΡΡ 5-Ρ Π±ΡΠΊΠ²Π° «ΠΎ»
SELECT name
FROM cf_obj
WHERE SUBSTR (name, 5,1)='ΠΎ' AND object_type_id IN (SELECT object_type_id FROM cf_types WHERE name LIKE 'Film')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 3. ΠΡΠ²Π΅ΡΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠΌΠΎΠ², ΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΆΠ°Π½Ρ, Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠ²
SELECT obj.name, genre. text_value, dur. number_value
FROM cf_obj obj
JOIN cf_par genre ON genre. object_id=obj.object_id
AND obj.name LIKE '% %'
AND obj. object_type_id=(SELECT object_type_id FROM cf_types WHERE name='Film')
AND genre. attr_id=(SELECT attr_id FROM cf_attr WHERE name='genre')
JOIN cf_par dur ON dur. object_id=obj.object_id
WHERE dur. attr_id=(SELECT attr_id FROM cf_attr WHERE name='duration')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 4. ΠΡΠ²Π΅ΡΡΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠΈΠ»ΡΠΌΠ°, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅ΠΉΡΠΈΠ½Π³. Π¦Π΅Π½Π° ΠΈ ΠΆΠ°Π½Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ (30.75, 35) ΠΈ (Π£ΠΆΠ°ΡΡ, ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ)
SELECT obj.name, genre. text_value, dur. number_value, price. number_value
FROM cf_obj obj
JOIN cf_par genre ON genre. object_id=obj.object_id
AND obj. object_type_id=(SELECT object_type_id FROM cf_types WHERE name='Film')
AND genre. text_value IN ('Π£ΠΆΠ°ΡΡ','ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ')
JOIN cf_par price ON price. object_id=obj.object_id
AND price. number_value IN (35,30.75)
JOIN cf_par dur ON dur. object_id=obj.object_id
WHERE attr_id=(SELECT attr_id FROM cf_attr WHERE name='duration')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 5. ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΠΌΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π² ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ΅ ΠΠΎΡΠΌΠΎΡ
SELECT obj.name
FROM cf_obj obj
JOIN cf_par rel ON rel. relation_id=obj.object_id
AND rel. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='ids')
WHERE rel. object_id IN (SELECT object_id FROM cf_obj WHERE name='ΠΠΎΡΠΌΠΎΡ')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 6. ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ² ΠΈ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΈΡ ΡΠ΅Π½, ΠΆΠ°Π½ΡΠΎΠ², ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ Π² ΡΡΠΈΡ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°Ρ , ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°
SELECT cin.name, film.name, price. number_value, genre. text_value, duration. number_value
FROM cf_obj cin
JOIN cf_par par ON par. object_id=cin.object_id
AND par. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='ids')
JOIN cf_obj film ON film. object_id=par.relation_id
JOIN cf_par price ON price. object_id=film.object_id
AND price. attr_id=(SELECT attr_id FROM cf_attr WHERE name='price')
JOIN cf_par genre ON genre. object_id=film.object_id
AND genre. attr_id=(SELECT attr_id FROM cf_attr WHERE name='genre')
JOIN cf_par duration ON duration. object_id=film.object_id
WHERE duration. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='duration')
ORDER BY cin.name
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 7. ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΠΌΠΎΠ², ΠΆΠ°Π½Ρ ΠΈ ΡΠ΅Π½Ρ, ΡΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ΅ ΠΎΡ 25 Π΄ΠΎ 30
SELECT film.name, genre. text_value, price. number_value
FROM (SELECT object_id FROM cf_par WHERE number_value BETWEEN 25 AND 30 AND attr_id IN (SELECT attr_id FROM cf_attr WHERE name='price'))ff
JOIN cf_par genre ON genre. object_id=ff.object_id
AND genre. attr_id=(SELECT attr_id FROM cf_attr WHERE name='genre')
JOIN cf_obj film ON film. object_id=ff.object_id
JOIN cf_par price ON price. object_id=ff.object_id
WHERE price. attr_id=(SELECT attr_id FROM cf_attr WHERE name='price')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 8. ΠΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ², ΠΈΡ Π°Π΄ΡΠ΅Ρ, Π°ΠΊΡΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠΎΡΠΌΠ°Ρ ΡΠΊΡΠ°Π½Π°, ΡΠΈΡΠ»ΠΎ ΠΌΠ΅ΡΡ Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠ»ΡΠΌ «ΠΠ΅ΡΡΠΎ»
SELECT cinema.name, address. text_value, acoustic. text_value, format. text_value, place. number_value
FROM (SELECT film. object_id FROM cf_obj film WHERE film.name LIKE 'ΠΠ΅ΡΡΠΎ')f
JOIN cf_par rel ON rel. relation_id=f.object_id
JOIN cf_obj cinema ON cinema. object_id=rel.object_id
JOIN cf_par address ON address. object_id=cinema.object_id
AND address. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='address')
JOIN cf_par acoustic ON acoustic. object_id=cinema.object_id
AND acoustic. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='acoustic')
JOIN cf_par format ON format. object_id=cinema.object_id
AND format. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='format')
JOIN cf_par place ON place. object_id=cinema.object_id
AND place. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='place')
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 9. ΠΡΠ²Π΅ΡΡΠΈ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΠΌΠΎΠ² Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΏΡΠΎΠΊΠ°ΡΠ΅ ΠΈ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ Π½ΠΈΠΌ.
SELECT film. object_id, film.name, genre. text_value, duration. number_value, rait. number_value, price. number_value
FROM cf_obj film
JOIN cf_par genre ON genre. object_id=film.object_id
JOIN cf_par duration ON duration. object_id=film.object_id
JOIN cf_par rait ON rait. object_id=film.object_id
JOIN cf_par price ON price. object_id=film.object_id
WHERE film. object_type_id=(SELECT object_type_id FROM cf_types WHERE name='Film')
AND genre. attr_id IN (SELECT attr_id FROM cf_attr WHERE name=LOWER ('GENRE'))
AND duration. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='duration')
AND rait. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='rait')
AND price. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='price')
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΠΎΠ±ΠΎΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠ»ΡΠΌΠ°Ρ ΠΈ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ°Ρ . ΠΠ»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ΅ΡΠ°ΠΌΠΎΠ΄Π΅Π»Ρ. ΠΠ°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ ΡΠ΅Π»ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ, Π½Π΅ ΠΏΠΎΠ²ΡΠ΅Π΄ΠΈΠ² ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
Π Ρ ΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»Π΅ΠΉ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡΠΎΠΊΡ Π·Π°ΠΏΡΠΎΡΠ°, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π»ΡΠ±ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΡΡΠ΅ΠΌΡ ΠΈΡ ΡΠΈΠ»ΡΠΌΡ ΠΈΠ»ΠΈ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ, Π»ΠΈΠ±ΠΎ ΡΠ·Π½Π°ΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ΅ ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠ»ΡΠΌΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΄Π°ΠΆΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π» Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ .
Codd E. F. Relational completeness of data base sublanguages. _ Ibid. 1972, p. 65—98.
Π.Π§Π΅ΠΊΠ°Π»ΠΎΠ². ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ : ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ _ Π‘ΠΠ±.: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2003. — 384 Ρ.
Π£Π»ΡΠΌΠ°Π½ ΠΠΆ. ΠΡΠ½ΠΎΠ²Ρ ΡΠΈΡΡΠ΅ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ /ΠΠ΅Ρ. c Π°Π½Π³Π». Π. Π . ΠΠΎΠ³Π°Π»ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ. _ Π.: Π€ΠΈΠ½Π°Π½ΡΡ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, 1983. _334 Ρ.
ΠΠ½Π°ΡΠΎΠ»ΠΈΠΉ Π’Π΅Π½ΡΠ΅Ρ. ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ — Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² — Π.: «ΠΠΎΠΌΠΏΡΡΡΠ΅ΡΠΡΠ΅ΡΡ», http://www.compress.ru, 2001
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠ΄ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡ:
INSERT INTO cf_types VALUES (1,'Cinema','Cinema');
INSERT INTO cf_types VALUES (2,'Film','Film');
INSERT INTO cf_types VALUES (3,'ids','ids');
INSERT INTO cf_attr VALUES (1,1,'address');
INSERT INTO cf_attr VALUES (2,1,'place');
INSERT INTO cf_attr VALUES (3,1,'acoustic');
INSERT INTO cf_attr VALUES (4,1,'format');
INSERT INTO cf_attr VALUES (5,2,'genre');
INSERT INTO cf_attr VALUES (6,2,'duration');
INSERT INTO cf_attr VALUES (7,2,'rait');
INSERT INTO cf_attr VALUES (8,2,'price');
INSERT INTO cf_attr VALUES (9,3,'ids');
INSERT INTO cf_obj VALUES (11,1,'ΠΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΈΡ 5D');
INSERT INTO cf_obj VALUES (12,1,'IMAX ΠΠ»ΠΎΠΊΠ±Π°ΡΡΠ΅Ρ');
INSERT INTO cf_obj VALUES (13,1,'ΠΠ»ΠΌΠ°Π·');
INSERT INTO cf_obj VALUES (14,1,'ΠΠΎΠ²ΡΠ΅Π½Ρ');
INSERT INTO cf_obj VALUES (15,1,'ΠΠΈΠ½ΠΎΠΏΠ°Π»Π°Ρ');
INSERT INTO cf_obj VALUES (16,1,'Π£ΠΊΡΠ°ΠΈΠ½Π°');
INSERT INTO cf_obj VALUES (17,1,'ΠΡΡΠΆΠ±Π°');
INSERT INTO cf_obj VALUES (18,1,'ΠΠΎΡΠΌΠΎΡ');
INSERT INTO cf_obj VALUES (21,2,'ΠΠ»ΡΡΠ° ΠΈ ΠΠΌΠ΅Π³Π°');
INSERT INTO cf_obj VALUES (22,2,'ΠΠ°Π±Π» ΠΠ°Π±Π»');
INSERT INTO cf_obj VALUES (23,2,'ΠΡΠ½Π΄ΠΈΡΠ²Π°Π½ΡΠΊΠΈΠ΅ Π³ΠΎΡΠΊΠΈ');
INSERT INTO cf_obj VALUES (24,2,'ΠΡΡΠ»Π΅ΡΠΊ');
INSERT INTO cf_obj VALUES (25,2,'Π ΠΏΠ»Π΅Π½Ρ Ρ ΡΡΠΌΡ');
INSERT INTO cf_obj VALUES (26,2,'ΠΡΠΊΡΡΡΠ°ΡΡ');
INSERT INTO cf_obj VALUES (27,2,'ΠΡΠ±ΠΎΠ²Ρ-ΠΠΎΡΠΊΠΎΠ²Ρ 3');
INSERT INTO cf_obj VALUES (28,2,'ΠΠ΅Π½ΡΡΡΠΈΠ΅ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΡ');
INSERT INTO cf_obj VALUES (29,2,'ΠΠ΅ΡΡΠ²ΡΠΉ Π΄ΠΎΠΌ');
INSERT INTO cf_obj VALUES (210,2,'ΠΠ΅ΡΡΠΎ');
INSERT INTO cf_obj VALUES (211,2,'ΠΠ°ΡΡΠΎΡΡΠ΅Π΅ ΠΌΡΠΆΠ΅ΡΡΠ²ΠΎ');
INSERT INTO cf_obj VALUES (212,2,'ΠΠ΅Π±ΠΎΡΠΊΡΠ΅Π±ΠΊΠΈ');
INSERT INTO cf_obj VALUES (213,2,'ΠΡΠ΅Π» Π΄Π΅Π²ΡΡΠΎΠ³ΠΎ Π»Π΅Π³ΠΈΠΎΠ½Π°');
INSERT INTO cf_obj VALUES (214,2,'ΠΡΠΊΡΠ΄Π° ΡΡ Π·Π½Π°Π΅ΡΡ');
INSERT INTO cf_obj VALUES (215,2,'Π― — ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ');
INSERT INTO cf_par VALUES (11,NULL, 1,'ΠΠ°Π»ΠΈΠ½ΠΎΠ²ΡΠΊΠΎΠ³ΠΎ 12', NULL);
INSERT INTO cf_par VALUES (12,NULL, 1,'ΠΠΎΡΠΊΠΎΠ²ΡΠΊΠΈΠΉ 34-Π', NULL);
INSERT INTO cf_par VALUES (13,NULL, 1,'ΠΠΈΡΠΎΠΏΠΎΠ»ΡΡΠΊΠ°Ρ 17Π', NULL);
INSERT INTO cf_par VALUES (14,NULL, 1,'ΠΠΎΠ½ΡΡΠ°Π½ΡΠΈΠ½ΠΎΠ²ΡΠΊΠ°Ρ 26', NULL);
INSERT INTO cf_par VALUES (15,NULL, 1,'ΠΠ½ΡΡΠΈΡΡΡΡΠΊΠ°Ρ 1', NULL);
INSERT INTO cf_par VALUES (16,NULL, 1,'ΠΠΎΡΠΎΠ΄Π΅ΡΠΊΠΎΠ³ΠΎ 5', NULL);
INSERT INTO cf_par VALUES (17,NULL, 1,'ΠΏΡΠΎΡΠΏ. Π¨Π΅Π²ΡΠ΅Π½ΠΊΠΎ 20', NULL);
INSERT INTO cf_par VALUES (18,NULL, 1,'ΠΠΊΡΡΠ±ΡΡΡΠΊΠ°Ρ 12', NULL);
INSERT INTO cf_par VALUES (11,NULL, 2, NULL, 80);
INSERT INTO cf_par VALUES (12,NULL, 2, NULL, 278);
INSERT INTO cf_par VALUES (13,NULL, 2, NULL, 100);
INSERT INTO cf_par VALUES (14,NULL, 2, NULL, 100);
INSERT INTO cf_par VALUES (15,NULL, 2, NULL, 326);
INSERT INTO cf_par VALUES (16,NULL, 2, NULL, 250);
INSERT INTO cf_par VALUES (17,NULL, 2, NULL, 180);
INSERT INTO cf_par VALUES (18,NULL, 2, NULL, 165);
INSERT INTO cf_par VALUES (11,NULL, 3,'Dolby Digital', NULL);
INSERT INTO cf_par VALUES (12,NULL, 3,'Dolby Suround', NULL);
INSERT INTO cf_par VALUES (13,NULL, 3,'Dolby Suround', NULL);
INSERT INTO cf_par VALUES (14,NULL, 3,'Dolby Suround', NULL);
INSERT INTO cf_par VALUES (15,NULL, 3,'Dolby Suround', NULL);
INSERT INTO cf_par VALUES (16,NULL, 3,'Dolby Digital', NULL);
INSERT INTO cf_par VALUES (17,NULL, 3,'Dolby Suround', NULL);
INSERT INTO cf_par VALUES (18,NULL, 3,'Dolby Digital', NULL);
INSERT INTO cf_par VALUES (11,NULL, 4,'Π¨ΠΈΡΠΎΠΊΠΎΡΠΎΡΠΌΠ°ΡΠ½ΡΠΉ 16:9', NULL);
INSERT INTO cf_par VALUES (12,NULL, 4,'Π¨ΠΈΡΠΎΠΊΠΎΡΠΎΡΠΌΠ°ΡΠ½ΡΠΉ 16:9', NULL);
INSERT INTO cf_par VALUES (13,NULL, 4,'ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ 5:4', NULL);
INSERT INTO cf_par VALUES (14,NULL, 4,'Π¨ΠΈΡΠΎΠΊΠΎΡΠΎΡΠΌΠ°ΡΠ½ΡΠΉ 16:9', NULL);
INSERT INTO cf_par VALUES (15,NULL, 4,'Π¨ΠΈΡΠΎΠΊΠΎΡΠΎΡΠΌΠ°ΡΠ½ΡΠΉ 16:9', NULL);
INSERT INTO cf_par VALUES (16,NULL, 4,'ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ 5:4', NULL);
INSERT INTO cf_par VALUES (17,NULL, 4,'Π¨ΠΈΡΠΎΠΊΠΎΡΠΎΡΠΌΠ°ΡΠ½ΡΠΉ 16:9', NULL);
INSERT INTO cf_par VALUES (18,NULL, 4,'ΠΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ 5:4', NULL);
INSERT INTO cf_par VALUES (21,NULL, 5,'ΠΡΠ»ΡΡΡΠΈΠ»ΡΠΌ', NULL);
INSERT INTO cf_par VALUES (22,NULL, 5,'ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (23,NULL, 5,'ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (24,NULL, 5,'ΠΡΠ°ΠΌΠ°', NULL);
INSERT INTO cf_par VALUES (25,NULL, 5,'ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (26,NULL, 5,'Π€Π°Π½ΡΠ°ΡΡΠΈΠΊΠ°', NULL);
INSERT INTO cf_par VALUES (27,NULL, 5,'ΠΠΎΠΌΠ΅Π΄ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (28,NULL, 5,'ΠΠΎΠΌΠ΅Π΄ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (29,NULL, 5,'Π£ΠΆΠ°ΡΡ', NULL);
INSERT INTO cf_par VALUES (210,NULL, 5,'Π£ΠΆΠ°ΡΡ', NULL);
INSERT INTO cf_par VALUES (211,NULL, 5,'ΠΡΠ°ΠΌΠ°', NULL);
INSERT INTO cf_par VALUES (212,NULL, 5,'ΠΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ', NULL);
INSERT INTO cf_par VALUES (213,NULL, 5,'ΠΠΎΠ΅Π²ΠΈΠΊ', NULL);
INSERT INTO cf_par VALUES (214,NULL, 5,'ΠΡΠ°ΠΌΠ°', NULL);
INSERT INTO cf_par VALUES (215,NULL, 5,'ΠΠΎΠ΅Π²ΠΈΠΊ', NULL);
INSERT INTO cf_par VALUES (21,NULL, 6, NULL, 1.37);
INSERT INTO cf_par VALUES (22,NULL, 6, NULL, 1.42);
INSERT INTO cf_par VALUES (23,NULL, 6, NULL, 1.35);
INSERT INTO cf_par VALUES (24,NULL, 6, NULL, 1.35);
INSERT INTO cf_par VALUES (25,NULL, 6, NULL, 1.51);
INSERT INTO cf_par VALUES (26,NULL, 6, NULL, 1.28);
INSERT INTO cf_par VALUES (27,NULL, 6, NULL, 1.51);
INSERT INTO cf_par VALUES (28,NULL, 6, NULL, 2.12);
INSERT INTO cf_par VALUES (29,NULL, 6, NULL, 1.32);
INSERT INTO cf_par VALUES (210,NULL, 6, NULL, 1.24);
INSERT INTO cf_par VALUES (211,NULL, 6, NULL, 1.42);
INSERT INTO cf_par VALUES (212,NULL, 6, NULL, 1.27);
INSERT INTO cf_par VALUES (213,NULL, 6, NULL, 1.45);
INSERT INTO cf_par VALUES (214,NULL, 6, NULL, 1.22);
INSERT INTO cf_par VALUES (215,NULL, 6, NULL, 1.36);
INSERT INTO cf_par VALUES (21,NULL, 7, NULL, 47);
INSERT INTO cf_par VALUES (22,NULL, 7, NULL, 67);
INSERT INTO cf_par VALUES (23,NULL, 7, NULL, 77);
INSERT INTO cf_par VALUES (24,NULL, 7, NULL, 51);
INSERT INTO cf_par VALUES (25,NULL, 7, NULL, 71);
INSERT INTO cf_par VALUES (26,NULL, 7, NULL, 74);
INSERT INTO cf_par VALUES (27,NULL, 7, NULL, 87);
INSERT INTO cf_par VALUES (28,NULL, 7, NULL, 88);
INSERT INTO cf_par VALUES (29,NULL, 7, NULL, 81);
INSERT INTO cf_par VALUES (210,NULL, 7, NULL, 83);
INSERT INTO cf_par VALUES (211,NULL, 7, NULL, 70);
INSERT INTO cf_par VALUES (212,NULL, 7, NULL, 68);
INSERT INTO cf_par VALUES (213,NULL, 7, NULL, 63);
INSERT INTO cf_par VALUES (214,NULL, 7, NULL, 68);
INSERT INTO cf_par VALUES (215,NULL, 7, NULL, 75);
INSERT INTO cf_par VALUES (21,NULL, 8, NULL, 25);
INSERT INTO cf_par VALUES (22,NULL, 8, NULL, 32.5);
INSERT INTO cf_par VALUES (23,NULL, 8, NULL, 35);
INSERT INTO cf_par VALUES (24,NULL, 8, NULL, 28);
INSERT INTO cf_par VALUES (25,NULL, 8, NULL, 30.75);
INSERT INTO cf_par VALUES (26,NULL, 8, NULL, 34);
INSERT INTO cf_par VALUES (27,NULL, 8, NULL, 35);
INSERT INTO cf_par VALUES (28,NULL, 8, NULL, 37.3);
INSERT INTO cf_par VALUES (29,NULL, 8, NULL, 35);
INSERT INTO cf_par VALUES (210,NULL, 8, NULL, 35.5);
INSERT INTO cf_par VALUES (211,NULL, 8, NULL, 33.5);
INSERT INTO cf_par VALUES (212,NULL, 8, NULL, 30);
INSERT INTO cf_par VALUES (213,NULL, 8, NULL, 31.65);
INSERT INTO cf_par VALUES (214,NULL, 8, NULL, 27);
INSERT INTO cf_par VALUES (215,NULL, 8, NULL, 29);
INSERT INTO cf_par VALUES (11,23,9,NULL, NULL);
INSERT INTO cf_par VALUES (11,25,9,NULL, NULL);
INSERT INTO cf_par VALUES (11,28,9,NULL, NULL);
INSERT INTO cf_par VALUES (11,211,9,NULL, NULL);
INSERT INTO cf_par VALUES (12,211,9,NULL, NULL);
INSERT INTO cf_par VALUES (12,21,9,NULL, NULL);
INSERT INTO cf_par VALUES (12,24,9,NULL, NULL);
INSERT INTO cf_par VALUES (13,21,9,NULL, NULL);
INSERT INTO cf_par VALUES (13,22,9,NULL, NULL);
INSERT INTO cf_par VALUES (13,23,9,NULL, NULL);
INSERT INTO cf_par VALUES (13,24,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,22,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,24,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,25,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,29,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,211,9,NULL, NULL);
INSERT INTO cf_par VALUES (14,212,9,NULL, NULL);
INSERT INTO cf_par VALUES (15,212,9,NULL, NULL);
INSERT INTO cf_par VALUES (15,215,9,NULL, NULL);
INSERT INTO cf_par VALUES (15,213,9,NULL, NULL);
INSERT INTO cf_par VALUES (15,27,9,NULL, NULL);
INSERT INTO cf_par VALUES (16,23,9,NULL, NULL);
INSERT INTO cf_par VALUES (16,25,9,NULL, NULL);
INSERT INTO cf_par VALUES (16,215,9,NULL, NULL);
INSERT INTO cf_par VALUES (16,214,9,NULL, NULL);
INSERT INTO cf_par VALUES (16,210,9,NULL, NULL);
INSERT INTO cf_par VALUES (17,27,9,NULL, NULL);
INSERT INTO cf_par VALUES (17,21,9,NULL, NULL);
INSERT INTO cf_par VALUES (17,24,9,NULL, NULL);
INSERT INTO cf_par VALUES (17,29,9,NULL, NULL);
INSERT INTO cf_par VALUES (17,211,9,NULL, NULL);
INSERT INTO cf_par VALUES (18,21,9,NULL, NULL);
INSERT INTO cf_par VALUES (18,23,9,NULL, NULL);
INSERT INTO cf_par VALUES (18,26,9,NULL, NULL);
INSERT INTO cf_par VALUES (18,27,9,NULL, NULL);
ΠΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ:
//ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ°ΠΏΡΠΎΡ» ΠΈ Π΄Π²ΡΡ ΡΠ°Π΄ΠΈΠΎ-ΠΊΠ½ΠΎΠΏΠΎΠΊ
void CcifiDlg: OnBnClickedRadio1()
{
bFilm=false;
bCinema=true;
// TODO: Add your control notification handler code here
}
void CcifiDlg: OnBnClickedRadio2()
{
bCinema=false;
bFilm=true;
// TODO: Add your control notification handler code here
}
void CcifiDlg: OnBnClickedButton1()
{
m_list.ResetContent ();
if (!bFilm && !bCinema)
{
AfxMessageBox («ΠΡ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΡΡΠΎ ΠΈΡΠΊΠ°ΡΡ!»);
return;
}
CString s;
e_get.GetWindowTextA (s);
if (s=="")
{
AfxMessageBox («ΠΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π·Π°ΠΏΡΠΎΡΠ°!»);
return;
}
CDB db;
db.Open («localhost», FALSE, FALSE," DRIVER={Oracle in XE};UID=SYSTEM;PWD=1;SERVER=127.0.0.1″);
BOOL check=db.IsOpen ();
if (!check)
{
AfxMessageBox («ΠΠ΅ ΡΠ΄Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΠ!»);
return;
}
e_get.GetWindowTextA (m_get);
CRecordset rec (&db);
if (bCinema)
{
m_check=1;
m_list.AddString («Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΈΠ»ΡΠΌΠΎΠ² ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ° „+m_get+“ :»);
rec.Open (CRecordset:forwardOnly," SELECT obj.name FROM cf_obj obj JOIN cf_par rel ON rel. relation_id=obj.object_id AND rel. attr_id IN (SELECT attr_id FROM cf_attr WHERE name='ids')WHERE rel. object_id IN (SELECT object_id FROM cf_obj WHERE name='" +m_get+" ')", CRecordset: readOnly);
while (!rec.IsEOF ())
{
rec.GetFieldValue (short (0), s);
m_list.AddString (s);
rec.MoveNext ();
}
}
if (bFilm)
{
m_check=2;
m_list.AddString («Π‘ΠΏΠΈΡΠΎΠΊ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ² Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ „+m_get+“ :»);
rec.Open (CRecordset:forwardOnly," SELECT cinema.name FROM (SELECT film. object_id FROM cf_obj film WHERE film.name LIKE '" +m_get+" ')f JOIN cf_par par ON par. relation_id=f.object_id JOIN cf_obj cinema ON cinema. object_id=par.object_id", CRecordset: readOnly);
while (!rec.IsEOF ())
{
rec.GetFieldValue (short (0), s);
m_list.AddString (s);
rec.MoveNext ();
}
}
// TODO: Add your control notification handler code here
}
//ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ΅Π°Π³ΠΈΡΡΡΡΠΈΡ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΠ΅Π²ΠΎΠΉ ΠΠ½ΠΎΠΏΠΊΠΈ ΠΡΡΠΈ.
void CcifiDlg: OnLbnSelchangeList1()
{
m_list.GetText (m_list.GetCurSel (), m_get);
if (m_list.GetCurSel ()==0)
{
return;
}
if (m_check==1)
{
CDlgFilm cFilm;
cFilm.m_get=m_get;
int result=cFilm.DoModal ();
if (result==IDOK)
{
return;
}
}
if (m_check==2)
{
CDlgCinema cCinema;
cCinema.m_get=m_get;
int result=cCinema.DoModal ();
if (result==IDOK)
{
return;
}
}
// TODO: Add your control notification handler code here
}
void CcifiDlg: OnBnClickedButton2()
{
CCfList cf;
int result=cf.DoModal ();
if (result==IDOK)
{
m_FromList=cf.m_FromList;
e_get.SetWindowTextA (m_FromList);
return;
}
// TODO: Add your control notification handler code here
}
//ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ «Π‘ΠΏΠΈΡΠΎΠΊ»
void CcifiDlg: OnBnClickedButton2()
{
CCfList cf;
int result=cf.DoModal ();
if (result==IDOK)
{
m_FromList=cf.m_FromList;
e_get.SetWindowTextA (m_FromList);
return;
}
// TODO: Add your control notification handler code here
}
//Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΈΠ»ΡΠΌΡ»
BOOL CDlgFilm: OnInitDialog (void)
{
CDialog:OnInitDialog ();
CString s;
CDB db;
db.Open («localhost», FALSE, FALSE," DRIVER={Oracle in XE}; UID=SYSTEM;PWD=1;SERVER=localhost");
BOOL check=db.IsOpen ();
CRecordset rec (&db);
rec.Open (CRecordset:forwardOnly," SELECT film.name, genre. text_value, duration. number_value, rait. number_value, price. number_value FROM cf_obj film JOIN cf_par genre ON genre. object_id=film.object_id AND genre. attr_id=5 JOIN cf_par duration ON duration. object_id=film.object_id AND duration. attr_id=6 JOIN cf_par rait ON rait. object_id=film.object_id AND rait. attr_id=7JOIN cf_par price ON price. object_id=film.object_id AND price. attr_id=8 AND film.name='" +m_get+" '", CRecordset: readOnly);
while (!rec.IsEOF ())
{
rec.GetFieldValue (short (0), s);
m_fname.SetWindowTextA (s);
rec.GetFieldValue (short (1), s);
m_genre.SetWindowTextA (s);
rec.GetFieldValue (short (2), s);
m_duration.SetWindowTextA (s);
rec.GetFieldValue (short (3), s);
m_rait.SetWindowTextA (s);
rec.GetFieldValue (short (4), s);
m_price.SetWindowTextA (s);
rec.MoveNext ();
}
rec.Close ();
return TRUE;
}
//Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠ΅»
BOOL CDlgCinema: OnInitDialog (void)
{
CDialog:OnInitDialog ();
CString s;
CDB db;
db.Open («localhost», FALSE, FALSE," DRIVER={Oracle in XE};UID=SYSTEM;PWD=1;SERVER=localhost");
BOOL check=db.IsOpen ();
CRecordset rec (&db);
rec.Open (CRecordset:forwardOnly," SELECT c.name, a. text_value, p. number_value, ac. text_value, f. text_value FROM cf_obj c JOIN cf_par a ON a. object_id=c.object_id AND a. attr_id=1 JOIN cf_par p ON p. object_id=c.object_id AND p. attr_id=2 JOIN cf_par ac ON ac. object_id=c.object_id AND ac. attr_id=3 JOIN cf_par f ON f. object_id=c.object_id AND f. attr_id=4 AND c.name='" +m_get+" '", CRecordset: readOnly);
while (!rec.IsEOF ())
{
rec.GetFieldValue (short (0), s);
m_cname.SetWindowTextA (s);
rec.GetFieldValue (short (1), s);
m_address.SetWindowTextA (s);
rec.GetFieldValue (short (2), s);
m_place.SetWindowTextA (s);
rec.GetFieldValue (short (3), s);
m_acoustic.SetWindowTextA (s);
rec.GetFieldValue (short (4), s);
m_format.SetWindowTextA (s);
rec.MoveNext ();
}
rec.Close ();
return TRUE;
}
//Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° «Π‘ΠΏΠΈΡΠΎΠΊ» Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΏΠΈΡΠΊΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ
BOOL CCfList: OnInitDialog (void)
{
CDialog:OnInitDialog ();
CString s;
CDB db;
db.Open («localhost», FALSE, FALSE," DRIVER={Oracle in XE};UID=SYSTEM;PWD=1;SERVER=localhost");
BOOL check=db.IsOpen ();
CRecordset rec (&db);
rec.Open (CRecordset:forwardOnly," SELECT name FROM cf_obj WHERE object_type_id=1″, CRecordset: readOnly);
while (!rec.IsEOF ())
{
rec.GetFieldValue (short (0), s);
m_cinema.AddString (s);
rec.MoveNext ();
}
rec.Close ();
rec.Open (CRecordset:forwardOnly," SELECT name FROM cf_obj WHERE object_type_id=2″, CRecordset: readOnly);
while (!rec.IsEOF ())
rec.GetFieldValue (short (0), s);
m_film.AddString (s);
rec.MoveNext ();
rec.Close ();
return TRUE;
void CCfList: OnLbnSelchangeList2()
m_film.GetText (m_film.GetCurSel (), m_FromList);
OnOK ();
// TODO: Add your control notification handler code here
void CCfList: OnLbnSelchangeList1()
m_cinema.GetText (m_cinema.GetCurSel (), m_FromList);
OnOK ();
// TODO: Add your control notification handler code here
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π ΠΈΡΡΠ½ΠΎΠΊ 2 — ΠΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΠΎΠ² ΠΈ ΡΠΈΠ»ΡΠΌΠΎΠ² Π² ΠΏΡΠΎΠΊΠ°ΡΠ΅ Π ΠΈΡΡΠ½ΠΎΠΊ 3 — ΠΠ°ΠΏΡΠΎΡ ΠΏΠΎ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ «ΠΠΎΡΠΌΠΎΡ»
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΡΠΈΠ»ΡΠΌΡ Π ΠΈΡΡΠ½ΠΎΠΊ 5 — ΠΡΠ²ΠΎΠ΄ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΊΠΈΠ½ΠΎΡΠ΅Π°ΡΡΡ