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

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

Автор Маклаков Π‘Π΅Ρ€Π³Π΅ΠΉ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ΠΎΠ²ΠΈΡ‡

BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм - img_126.jpeg

Рис. 2.27. Π‘Π»ΡƒΡ‡Π°ΠΉ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠΌΠ΅Π½ Ρ€ΠΎΠ»Π΅ΠΉ

Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ присвоСния ΠΈΠΌΠ΅Π½ Ρ€ΠΎΠ»Π΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ рСкурсивныС связи (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡ… Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ "Ρ€Ρ‹Π±ΠΎΠ»ΠΎΠ²Π½Ρ‹ΠΉ ΠΊΡ€ΡŽΡ‡ΠΎΠΊ" - fish hook), ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ являСтся ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ рСкурсивной связи Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС внСшнСго ΠΊΠ»ΡŽΡ‡Π° Π² состав Π½Π΅ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ‚ΠΎΠΉ ΠΆΠ΅ сущности. Атрибут Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ сущности ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, поэтому ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ€ΠΎΠ»ΠΈ. На рис. 2.26 ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ содСрТит Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° Π’Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ сотрудника содСрТится Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ сущности, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° руководитСля сотрудника слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ связь (Π½Π° рис. 2.26 связь Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚/подчиняСтся) ΠΈ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ имя Ρ€ΠΎΠ»ΠΈ ("Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ"). Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ рСкурсивная связь ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС внСшний ΠΊΠ»ΡŽΡ‡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» Π±Ρ‹ Π²ΠΎΠΉΡ‚ΠΈ Π² состав ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ схСмы ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ NOT NULL. Π­Ρ‚ΠΎ сдСлало Π±Ρ‹ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ построСниС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ - Ρƒ Π΄Π΅Ρ€Π΅Π²Π° подчинСнности Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ - сотрудник, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ подчиняСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Бвязь Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚/подчиняСтся Π½Π° рис. 2.26 позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡƒΡŽ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ подчинСнности сотрудников. Π’Π°ΠΊΠΎΠΉ Π²ΠΈΠ΄ рСкурсивной связи называСтся иСрархичСской рСкурсиСй (hierarchical recursion) ΠΈ Π·Π°Π΄Π°Π΅Ρ‚ связь, ΠΊΠΎΠ³Π΄Π° Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ (экзСмпляр Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ сущности) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мноТСство ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… (экзСмпляров Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ сущности), Π½ΠΎ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ руководитСля (рис. 2.28).

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСкурсия БСтСвая рСкурсия

BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм - img_127.jpeg
BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм - img_128.jpeg

Рис. 2.28. ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½ΠΎΡΡ‚ΡŒ экзСмпляров сущности Π² иСрархичСской ΠΈ сСтСвой рСкурсии

Π”Ρ€ΡƒΠ³ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ рСкурсии являСтся сСтСвая рСкурсия (network recursion), ΠΊΠΎΠ³Π΄Π° Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мноТСство ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мноТСство Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. БСтСвая рСкурсия Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠ°ΡƒΡ‚ΠΈΠ½Ρƒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ экзСмплярами Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΉ сущностСй. Π­Ρ‚ΠΎ случай, ΠΊΠΎΠ³Π΄Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ находится сама с собой Π² связи ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ. Для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ связи ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ связь ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π±ΡƒΠ΄Π΅Ρ‚ рассмотрСна Π½ΠΈΠΆΠ΅).

BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм - img_129.jpeg

Рис. 2.29. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСвой рСкурсии

На рис. 2.29 рассмотрСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСтСвой рСкурсии. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ родствСнныС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ сСмьи любой слоТности. Атрибут Π’ΠΈΠΏ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния "ΠΎΡ‚Π΅Ρ†-сын", "ΠΌΠ°Ρ‚ΡŒ-Π΄ΠΎΡ‡ΡŒ", "Π΄Π΅Π΄-Π²Π½ΡƒΠΊ", "ΡΠ²Π΅ΠΊΡ€ΠΎΠ²ΡŒ-нСвСстка", "Ρ‚Π΅ΡΡ‚ΡŒ-Π·ΡΡ‚ΡŒ" ΠΈ Ρ‚. Π΄. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ родствСнноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ связываСт всСгда Π΄Π²ΡƒΡ… людСй, ΠΎΡ‚ сущности РодствСнник ΠΊ. сущности РодствСнноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ установлСны Π΄Π²Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ связи с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ€ΠΎΠ»Π΅ΠΉ "Π‘Ρ‚Π°Ρ€ΡˆΠΈΠΉ" ΠΈ "Младший". ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡Π»Π΅Π½ сСмьи ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π² родствСнных ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‡Π»Π΅Π½ΠΎΠΌ сСмьи, Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ°Ρ€Ρƒ родствСнников ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ родствСнных ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ.

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

BPwin ΠΈ Erwin. CASE-срСдства для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм - img_130.jpeg

Рис. 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-Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ запись ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΏΡ€ΠΈ этом Ρ„Π°ΠΉΠ» ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² "Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‚ΡŒ" ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ сущСствуСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»-сСрвСрных систСмах Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€Π°Π²ΠΈΠ»Π° ссылочной цСлостности, рСализуСтся Π² клиСнтском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

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