Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ Маклаков

Если Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π² качСствС внСшнСго ΠΊΠ»ΡŽΡ‡Π° Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ отобраТаСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ имя внСшнСго ΠΊΠ»ΡŽΡ‡Π° (имя Ρ€ΠΎΠ»ΠΈ + Π±Π°Π·ΠΎΠ²ΠΎΠ΅ имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°), Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π±ΠΎΠ»Π΅Π΅ - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Ρ€ΠΎΠ»ΠΈ. На рис. 2.30 ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° структура Π΄Π°Π½Π½Ρ‹Ρ…, которая содСрТит ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Команда, ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π˜Π³Ρ€ΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранится информация ΠΎΠ± ΠΈΠ³Ρ€ΠΎΠΊΠ°Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π“ΠΎΠ», содСрТащая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Π³ΠΎΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π±ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ. Атрибут внСшнСго ΠΊΠ»ΡŽΡ‡Π° НомСр ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сущности Π˜Π³Ρ€ΠΎΠΊ ΠΈΠΌΠ΅Π΅Ρ‚ имя Ρ€ΠΎΠ»ΠΈ "Π’ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚".

Рис. 2.30. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ ΠΈΠΌΠ΅Π½ Ρ€ΠΎΠ»Π΅ΠΉ

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π² сущности Π“ΠΎΠ», отобраТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ имя Ρ€ΠΎΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° внСшнСго ΠΊΠ»ΡŽΡ‡Π° (Π’ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚).

ΠŸΡ€Π°Π²ΠΈΠ»Π° ссылочной цСлостности (referential integrity, RI) - логичСскиС конструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ°ΡŽΡ‚ бизнСс-ΠΏΡ€Π°Π²ΠΈΠ»Π° использования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€Π°Π²ΠΈΠ»Π° вставки, Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈ удалСния. ΠŸΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ схСмы Π‘Π” Π½Π° основС ΠΎΠΏΡ†ΠΈΠΉ логичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ Rolename/RI Actions, Π±ΡƒΠ΄ΡƒΡ‚ сгСнСрированы ΠΏΡ€Π°Π²ΠΈΠ»Π° Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ссылочной цСлостности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдписаны для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ связи, ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΡΡΡ‹Π»ΠΎΡ‡Π½ΡƒΡŽ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ. Π’Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, выполняСмыС всякий Ρ€Π°Π· ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ вставки, Π·Π°ΠΌΠ΅Π½Ρ‹ ΠΈΠ»ΠΈ удалСния (INSERT, UPDATE ΠΈΠ»ΠΈ DELETE). На рис. 2.30 сущСствуСт ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь ΠΌΠ΅ΠΆΠ΄Ρƒ сущностями Команда ΠΈ Π˜Π³Ρ€ΠΎΠΊ. Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ? ЭкзСмпляр сущности Π˜Π³Ρ€ΠΎΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π’ ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈΠ³Ρ€Π°Π΅Ρ‚. НомСр ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL), ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΏΠΎΠΊΠ° Π² Π½Π΅ΠΉ числится хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ³Ρ€ΠΎΠΊ (для удалСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ сначала Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всСх ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ²), Π»ΠΈΠ±ΠΎ сразу ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ вмСстС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ всСх Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ². Π’Π°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° удалСния Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ "ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅" ΠΈ "каскад" (Parent RESTRICT ΠΈ Parent CASCADE, см. рис. 2.25). Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ сущности Π˜Π³Ρ€ΠΎΠΊ ΠΈ Π“ΠΎΠ», Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‚ΠΎΠΆΠ΅ связаны ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ связью ΠΈ Π² случаС удалСния каскадом ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ всС ΠΈΠ³Ρ€ΠΎΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ всС Π³ΠΎΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π·Π°Π±ΠΈΠ²Π°Π»ΠΈ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ строки Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΡŽ тысячи строк Π² Π‘Π”, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ удалСния каскадом слСдуСт с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ Ρ‚ΠΎΠΌ случаС, Ссли установлСно ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ограничСния удалСния, ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ³Ρ€ΠΎΠΊ, сСрвСр рСляционной Π‘Π£Π‘Π” Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

На рис. 2.26 установлСна Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π΅ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь ΠΌΠ΅ΠΆΠ΄Ρƒ сущностями ΠžΡ‚Π΄Π΅Π» ΠΈ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ. ЭкзСмпляр сущности Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π· ссылки Π½Π° ΠΎΡ‚Π΄Π΅Π» (Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ внСшнСго ΠΊΠ»ΡŽΡ‡Π° Π“Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НомСр ΠΎΡ‚Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL). Π’ этом случаС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ установлСниС ΠΏΡ€Π°Π²ΠΈΠ»Π° установки Π² Π½ΡƒΠ»ΡŒ - SET NULL. ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ внСшнСго ΠΊΠ»ΡŽΡ‡Π° сущности Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ - Π“Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НомСр ΠΎΡ‚Π΄Π΅Π»Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΎΡ‚Π΄Π΅Π»Π° сотрудник остаСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‡ΠΈ приписан ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π΄Π΅Π»Ρƒ ΠΈ информация ΠΎ Π½Π΅ΠΌ сохраняСтся.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° установка Π΅Ρ‰Π΅ Π΄Π²ΡƒΡ… ΠΏΡ€Π°Π²ΠΈΠ» удалСния (Ссли Ρ‚Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π‘Π£Π‘Π”):

SET DEFAULT - ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ внСшнСго ΠΊΠ»ΡŽΡ‡Π° присваиваСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. НапримСр, ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ³Ρ€ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

NONE - ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° внСшнСго ΠΊΠ»ΡŽΡ‡Π° Π½Π΅ мСняСтся. Π—Π°ΠΏΠΈΡΡŒ ΠΎΠ± ΠΈΠ³Ρ€ΠΎΠΊΠ΅ "повисаСт Π² Π²ΠΎΠ·Π΄ΡƒΡ…Π΅", Ρ‚. Π΅. ссылаСтся Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΡƒΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ. Вакая ситуация Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° для "плоских" Ρ‚Π°Π±Π»ΠΈΡ†. НапримСр, Ссли информация ΠΎΠ± ΠΈΠ³Ρ€ΠΎΠΊΠ°Ρ… ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… хранится Π² dbf-Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ запись ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΏΡ€ΠΈ этом Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² "Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ" ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ сущСствуСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»-сСрвСрных систСмах Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€Π°Π²ΠΈΠ»Π° ссылочной цСлостности, рСализуСтся Π² клиСнтском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠŸΡ€Π°Π²ΠΈΠ»Π° удалСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π‘Π” ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строки. Аналогично ΠΏΡ€Π°Π²ΠΈΠ»Π° вставки ΠΈ обновлСния ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ с Π‘Π”, Ссли строки ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅Π΅ зачислСн хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ³Ρ€ΠΎΠΊ. Π–Π΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достигнуто ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ дСйствиями:

Π—Π°Π΄Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ связи ΠΌΠ΅ΠΆΠ΄Ρƒ сущностями Команда ΠΈ Π˜Π³Ρ€ΠΎΠΊ, Ρ€Π°Π²Π½ΡƒΡŽ "One or more" - 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ (Ρ‚ΠΈΠΏ Π ). ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ установлСна ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь.

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ дСйствиС RI-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° "Parent Insert-CASCADE" для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠΉ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Команда автоматичСски создавалась хотя Π±Ρ‹ ΠΎΠ΄Π½Π° строка Π² Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π˜Π³Ρ€ΠΎΠΊ.

ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ связи дСйствиС RI-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° "Parent Delete-CASCADE" для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строки ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Команда ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ строка ΠΈΠ»ΠΈ строки ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π˜Π³Ρ€ΠΎΠΊ Ρ‚ΠΎΠΆΠ΅ ΡƒΠ΄Π°Π»ΡΠ»ΠΈΡΡŒ.

ERwin автоматичСски присваиваСт ΠΊΠ°ΠΆΠ΄ΠΎΠΉ связи Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ссылочной цСлостности, устанавливаСмой ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π΅ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. Π Π΅ΠΆΠΈΠΌΡ‹ RI, присваиваСмыС ERwin ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π». 2.4), ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Referential Integrity Default, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся, Ссли Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ RI Defaults Π΄ΠΈΠ°Π»ΠΎΠ³Π° Target Server (мСню Server/Target Server).


Π’Π°Π±Π»ΠΈΡ†Π° 2.4. ЗначСния RI, присваиваСмыС Π² ERwin no ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΎΠ΅ΠΆΠΈΠΌΡ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° связи

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь ΠΠ΅ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь (Nulls Allowed) ΠΠ΅ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ связь (No Nulls) ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ°Π»ΡŒΠ½Π°Ρ связь Child Delete Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, NONE RESTRICT, CASCADE, NONE, SET NULL, SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE Child Delete Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ NONE NONE NONE NONE Child Insert Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE NONE Child Insert Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ RESTRICT SET NULL RESTRICT RESTRICT Child Update Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, NONE RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE Child Update Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ RESTRICT SET NULL RESTRICT RESTRICT Parent Delete Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, NONE RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE Parent Delete Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ RESTRICT SET NULL RESTRICT CASCADE Parent Insert Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, NONE RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE Parent Insert Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ NONE NONE NONE NONE Parent Update Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ RESTRICT, CASCADE, NONE RESTRICT, CASCADE, NONE, SET NULL,SET DEFAULT RESTRICT, CASCADE, NONE, SET DEFAULT RESTRICT, CASCADE, NONE Parent Update Π Π΅ΠΆΠΈΠΌΡ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ RESTRICT SET NULL RESTRICT CASCADE

Бвязь ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ логичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. На рис. 2.31 Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ связи ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ. Π’Ρ€Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠ°Ρ†ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π»Π΅Ρ‡ΠΈΡ‚ΡŒΡΡ Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Ρ€Π°Ρ‡Π΅ΠΉ. Вакая связь обозначаСтся сплошной Π»ΠΈΠ½ΠΈΠ΅ΠΉ с двумя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ….

Рис. 2.31. Бвязь многиС-ко-многим


Для внСсСния связи слСдуСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ курсор Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅ инструмСнтов, Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ сначала ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сущности.

Бвязь ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒΡΡ двумя Ρ„Ρ€Π°Π·Π°ΠΌΠΈ - Π² ΠΎΠ±Π΅ стороны (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ "ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚/лСчится"). Π­Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Бвязь Π½Π° рис. 2.31 слСдуСт Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π’Ρ€Π°Π½ <ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚> ΠŸΠ°Ρ†ΠΈΠ΅Π½Ρ‚"Π°, ΠŸΠ°Ρ†ΠΈΠ΅Π½Ρ‚ <лСчится> Ρƒ Π’Ρ€Π°Ρ‡"Π°.

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΊ физичСскому ΡƒΡ€ΠΎΠ²Π½ΡŽ ERwin автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ связь ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ, добавляя Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈ устанавливая Π΄Π²Π΅ Π½ΠΎΠ²Ρ‹Π΅ связи ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΎΡ‚ старых ΠΊ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (рис. 2.32, свСрху). ΠŸΡ€ΠΈ 'этом имя Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ присваиваСтся автоматичСски ΠΊΠ°ΠΊ β€œΠ˜ΠΌΡ1 Имя2".