ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠšΠΈΠ½ΠΎΡ‚Π΅Π°Ρ‚Ρ€Ρ‹ (информация для Π·Ρ€ΠΈΡ‚Π΅Π»Π΅ΠΉ) Β»

Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ классы сущностями. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ·-Π·Π° постоянного Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° классов. Π‘Ρ‚ΠΎΠΉΠΊΠΈΠ΅ классы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ постоянного хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Ρ€Π΅ΠΌΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, для всСх постоянных классов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡƒΡ‰Π½ΠΎΡΡ‚ях. Π­Ρ‚ΠΎΡ‚ процСсс называСтся… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Β«ΠšΠΈΠ½ΠΎΡ‚Π΅Π°Ρ‚Ρ€Ρ‹ (информация для Π·Ρ€ΠΈΡ‚Π΅Π»Π΅ΠΉ) Β» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

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 — Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΈΠ½ΠΎΡ‚Π΅Π°Ρ‚Ρ€Ρƒ

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ