SQL рдореЗрдВ рдбреЗрдЯрд╛ рд╣рдЯрд╛рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рдкрдВрдХреНрддрд┐ рдирд┐рдХрд╛рд▓ рджреЗрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдЕрдХреНрд╕рд░ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ delete рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SQL рдореЗрдВ foreign key constraints рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛рдИ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреИрд╕рд╛ рд╣реЛред
рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА delete рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ SQL рдХрд╛ ON DELETE CASCADE constraint рд╣реИред рдпрд╣ delete рдХреЛ рд░реЛрдХрдиреЗ рдпрд╛ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рд╕рдВрджрд░реНрднрд┐рдд parent рдкрдВрдХреНрддрд┐ рд╣рдЯреЗ, рд╕рднреА рдирд┐рд░реНрднрд░ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдБред
рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ рдХрд┐ ON DELETE CASCADE constraint рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд╡рдд: cascading deletes рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдХрдм рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдЬреИрд╕реЗ ON DELETE RESTRICT рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪреБрдирдирд╛ рд╕рд╣реА рд░рд╣рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк SQL рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реА Introduction to SQL рдХреЛрд░реНрд╕ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ, рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЕрдиреБрднрд╡ рд╣реИ рддреЛ Intermediate SQL рдХреЛрд░реНрд╕ рд▓реЗрдВред┬а
SQL рдореЗрдВ ON DELETE CASCADE рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ ON DELETE CASCADE foreign key constraint рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ referential integrity рдФрд░ CASCADE clause рд╕рдордЭ рд▓реЗрддреЗ рд╣реИрдВред
Referential integrity рдФрд░ foreign keys
рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдПрдБ foreign keys рдХреЗ рдЬрд╝рд░рд┐рдП рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (child) рдХреЗ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ (parent) рдХреА primary key рд╕реЗ рдЬреЛрдбрд╝рддреА рд╣реИрдВред Foreign keys referential integrity рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИрдВ рддрд╛рдХрд┐ child рдкрдВрдХреНрддрд┐ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рд╡реИрдз parent рдкрдВрдХреНрддрд┐ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗред┬а
рдпрджрд┐ рдпрд╣ рдкреНрд░рд╡рд░реНрддрди рди рд╣реЛ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдмрди рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, delete рдирд┐рдпрдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ orphan рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗред
CASCADE рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд░реНрде
SQL рдореЗрдВ, ON DELETE CASCADE constraint рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдЯрд╛рдИ рдЧрдИ parent рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдБред рдпрд╣ foreign key рдЪреЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рдПрдЯреЙрдорд┐рдХ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдореЗрдВ рдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рд╣рдЯрд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЙрдирдХреЗ рдСрд░реНрдбрд░реНрд╕ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рд╣реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдореНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ ON DELETE CASCADE рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ CASCADE рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
Parent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрдмрдВрдзреЛрдВ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ parent рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ primary key рдХреЛ рдзрд╛рд░рдг рдХрд░рддреА рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░реА child рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ, рдЬреЛ рдЙрд╕ key рдХреЛ foreign key рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддреА рд╣реИред рдЬрдм рдЖрдк parent рддрд╛рд▓рд┐рдХрд╛ рдкрд░ DELETE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди рдкрд╣рд▓реЗ foreign key constraints рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдирд┐рд░реНрднрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рддреЗрдЬрд╝реА рд╕реЗ рдХрд░ рд╕рдХреЗред
рдЬрдм parent рдкрдВрдХреНрддрд┐ рд╣рдЯрддреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
рдЬрдм рдЖрдк рдХрд┐рд╕реА parent рдкрдВрдХреНрддрд┐ рдкрд░ DELETE рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА foreign key рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдореНрди рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ:
рдкрд╣рдЪрд╛рди: рдЗрдВрдЬрди foreign key рдЗрдВрдбреЗрдХреНрд╕ рджреЗрдЦрддрд╛ рд╣реИ рддрд╛рдХрд┐ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╡реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдорд┐рд▓реЗрдВ рдЬреЛ рд╣рдЯрд╛рдИ рдЬрд╛ рд░рд╣реА ID рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИрдВред
рдирд┐рд╖реНрдкрд╛рджрди: parent рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ (рдпрд╛ рдЙрд╕рдХреЗ рджреМрд░рд╛рди), рдЗрдВрдЬрди рдкрд╣рдЪрд╛рдиреА рдЧрдИ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
рд╕рддреНрдпрд╛рдкрди: рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА orphan рдкрдВрдХреНрддрд┐ рди рдмрдЪреЗред рдпрджрд┐ рд╕рднреА deletes рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдХреЛ рдЕрдВрддрд┐рдо рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрднреА рд╣реЛрдЧреА рдЬрдм рдЖрдкрдиреЗ constraint ON DELETE CASCADE рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реЛ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЖрдЧреЗ рд▓реЗрдЦ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗред
ON DELETE CASCADE рдмрдирд╛рдо рдЕрдиреНрдп Delete рдирд┐рдпрдо
SQL рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ DELETE рдирд┐рдпрдо рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдо ON DELETE CASCADE рдХреА рддреБрд▓рдирд╛ рдЗрди constraints рд╕реЗ рдХрд░реЗрдВрдЧреЗред
CASCADE рдмрдирд╛рдо RESTRICT
рдКрдкрд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕реЗ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ CASCADE parent рдкрдВрдХреНрддрд┐ рд╣рдЯрдиреЗ рдкрд░ рд╕рднреА рдирд┐рд░реНрднрд░ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдИ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдмрдЪрддрд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, SQL рдХрд╛ RESTRICT constraint delete рдСрдкрд░реЗрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ child рдкрдВрдХреНрддрд┐ рдЕрдм рднреА parent рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдЖрдХрд╕реНрдорд┐рдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╕реЗ рдмрдЪрд╛рддреА рд╣реИред рдиреАрдЪреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, RESTRICT constraint рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдпрджрд┐ рдРрд╕реЗ рдХреЛрдИ рдСрд░реНрдбрд░ рдореМрдЬреВрдж рд╣реИрдВ рдЬреЛ рдЙрд╕ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
CREATE TABLE customers (
customer_id INT PRIMARY KEY ,
name VARCHAR ( 100 )
) ;
CREATE TABLE orders (
order_id INT PRIMARY KEY ,
customer_id INT ,
CONSTRAINT fk_orders_customers
FOREIGN KEY ( customer_id)
REFERENCES customers( customer_id)
ON DELETE RESTRICT
) ; рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
CASCADE рдмрдирд╛рдо SET NULL рдФрд░ SET DEFAULT
рдЬрд╣рд╛рдБ CASCADE рдирд┐рд░реНрднрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рд╡рд╣реАрдВ SET NULL рдФрд░ SET DEFAULT child рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдореНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддреЗ рд╣реИрдВ:
рдЬрдм рдЖрдк constraint рдХреЛ ON DELETE SET NULL рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ parent рдкрдВрдХреНрддрд┐ рд╣рдЯ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди child рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ foreign key рдорд╛рди NULL рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рджрд┐рдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрд░реНрдбрд░реНрд╕ рдирд╣реАрдВ рд╣рдЯрддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, orders рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ customer_id рдХреЙрд▓рдо рдЕрдкрдиреЗ-рдЖрдк NULL рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдСрд░реНрдбрд░ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдЯрд╛рдП рдЧрдП рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рд╕рдВрдмрдВрдз рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред
CREATE TABLE orders (
order_id INT PRIMARY KEY ,
customer_id INT NULL ,
CONSTRAINT fk_orders_customers
FOREIGN KEY ( customer_id)
REFERENCES customers( customer_id)
ON DELETE SET NULL
) ; рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдЗрд╕реА рддрд░рд╣, SET DEFAULT рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрд░реНрдбрд░реНрд╕ рдирд╣реАрдВ рд╣рдЯрддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, orders рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ customer_id рдХреЛ рдЙрд╕рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдСрд░реНрдбрд░ рд░рд┐рдХреЙрд░реНрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреВрд░реНрд╡рдирд┐рдпрдд placeholder рд╕реМрдВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
CREATE TABLE orders (
order_id INT PRIMARY KEY ,
customer_id INT DEFAULT 0 ,
CONSTRAINT fk_orders_customers
FOREIGN KEY ( customer_id)
REFERENCES customers( customer_id)
ON DELETE SET DEFAULT
) ; рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
ON DELETE CASCADE рдХреЗ рд╕рд╛рде Foreign Keys рдмрдирд╛рдирд╛
SQL рдореЗрдВ ON DELETE RESTRICT constraint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ parent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ foreign key рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
Table schemas рдореЗрдВ CASCADE
рдЖрдк ON DELETE CASCADE рдирд┐рдпрдо рдХреЛ SQL рдореЗрдВ рдпрд╛ рддреЛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп, рдпрд╛ рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдиреАрдЪреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп SQL ON DELETE CASCADE foreign key constraint рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВред CASCADE рдХреЗ рд╕рд╛рде, рдХрд┐рд╕реА рд╡рд┐рднрд╛рдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЙрд╕ рд╡рд┐рднрд╛рдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
CREATE TABLE departments (
department_id INT PRIMARY KEY ,
department_name VARCHAR ( 100 )
) ;
CREATE TABLE employees (
employee_id INT PRIMARY KEY ,
department_id INT ,
CONSTRAINT fk_employees_departments
FOREIGN KEY ( department_id)
REFERENCES departments( department_id)
ON DELETE CASCADE
) ; рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЖрдк ON DELETE CASCADE рдХреЗ рд╕рд╛рде foreign key constraint рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рдХреЛрдИ рд╡рд┐рднрд╛рдЧ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдХрд░реНрдордЪрд╛рд░реА рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдБрдЧреЗред
ALTER TABLE employees
ADD CONSTRAINT fk_employees_departments
FOREIGN KEY ( department_id)
REFERENCES departments( department_id)
ON DELETE CASCADE ; рд╕рдВрдЪрд╛рд▓рд┐рдд рджреНрд╡рд╛рд░рд╛
Cascading chains рдФрд░ рдмрд╣реБ-рд╕реНрддрд░реАрдп deletes
CASCADE рдХреА рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ deletes рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдмрдВрдз рдкрд░ рдирд╣реАрдВ рд░реБрдХрддреЗред рдпрджрд┐ рдХреЛрдИ child рддрд╛рд▓рд┐рдХрд╛ рдХрд┐рд╕реА рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рднреА parent рд╣реИ, рддреЛ delete рдХрдИ рд╕реНрддрд░реЛрдВ рддрдХ рдлреИрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ cascading chains рдХрд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдСрд░реНрдбрд░реНрд╕ рд╣рдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдлрд┐рд░ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдореНрд╕ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдСрдбрд┐рдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рднреА рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЬрд┐рди schemas рдореЗрдВ CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЪреВрдБрдХрд┐ рдПрдХ рд╣реА delete рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, cascading рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдкреВрд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдордЭ рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдПред
ON DELETE CASCADE рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ
SQL рдореЗрдВ ON DELETE CASCADE constraint рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд╣рд╛рдБ child рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдбреЗрдЯрд╛ parent рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рдорд╣рддреНрд╡ рдирд╣реАрдВ рд░рдЦрддрд╛ред рдЖрдЗрдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦреЗрдВред
рдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╕рд╛рдл рдХрд░рдирд╛
рдЖрдк ON DELETE CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреА рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдореИрдиреНрдпреБрдЕрд▓ рдХреНрд▓реАрдирдЕрдк рдЕрдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдЗрдирдореЗрдВ logs, history records, audit trails, рдпрд╛ many-to-many join рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рдХрд┐рд╕реА parent рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:
рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЙрд╕рдХрд╛ рд▓реЙрдЧрд┐рди рдЗрддрд┐рд╣рд╛рд╕ рд╣рдЯ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдХрд┐рд╕реА рдСрд░реНрдбрд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЙрд╕рдХреЗ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдореНрд╕ рд╣рдЯ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП
рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ product-category mapping рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ рд╣рдЯ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП
рдбреЗрдЯрд╛ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛
рдЖрдк CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдптАФрдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдвреВрдБрдвреЗ, рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣рдЯрд╛рдП, рдФрд░ edge cases рд╡ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗтАФрдбреЗрдЯрд╛рдмреЗрд╕ рдпреЗ рдирд┐рдпрдо рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдПрдЯреЙрдорд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣, CASCADE рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ delete рдЪрд╛рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрд╛ рдПрдбрдорд┐рди рдХреНрд╡реЗрд░реА рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛтАФрдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдПрдХрд╕рдорд╛рди рд░рд╣реЗред
ON DELETE CASCADE рдХреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдХрдорд┐рдпрд╛рдБ
рдпрджреНрдпрдкрд┐ ON DELETE CASCADE constraint рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдкрд░ рдпрд╣ рдЬреЛрдЦрд┐рдорднрд░рд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреБрд╢рд▓ CASCADE constraints рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХрдорд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдЖрдХрд╕реНрдорд┐рдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ deletions
CASCADE рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреЛрдЦрд┐рдо рдЕрдирдЪрд╛рд╣реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ deletes рд╣реИрдВред parent рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдПрдХ рд╣реА DELETE рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪреБрдкрдЪрд╛рдк рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рдпрд╛ рд╣рдЬрд╝рд╛рд░реЛрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдкреВрд░реА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдХреА рднрд░рдкрд╛рдИ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред┬а
рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрд╢рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк parent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ foreign keys рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреЗрдВред рдпрджрд┐ рдЖрдкрдХрд╛ schema рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдк рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рд╣реА delete рд╕реЗ рдХрд┐рди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдЕрд╕рд░ рдкрдбрд╝реЗрдЧрд╛ред
рдЬрдЯрд┐рд▓ schemas рдореЗрдВ рдЫрд┐рдкреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдврд╝рддреЗ рд╣реИрдВ, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд foreign keys рдЬреБрдбрд╝рддреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЪреБрдиреМрддреА рддрдм рдЖрддреА рд╣реИ рдЬрдм рдРрд╕реЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ CASCADE рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ deletes рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╢реГрдВрдЦрд▓рд╛рдУрдВ рдореЗрдВ рдлреИрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░реНрд╕ рдЕрдирднрд┐рдЬреНрдЮ рд╣реЛрдВред
рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк CASCADE рдХреЛ рд╕реНрдкрд╖реНрдЯ schema рдкреНрд░рд▓реЗрдЦрди рдФрд░ foreign key рд╕рдВрдмрдВрдзреЛрдВ рдХреА рдирд┐рдпрдорд┐рдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВред
T ry out our SQL Server for Database Administrators skill track рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдпрд╛ рдореЗрдВрдЯреЗрди рдХрд░рддреЗ рд╣реИрдВред┬а
рдбреЗрдЯрд╛рдмреЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░
рд╣рд╛рд▓рд╛рдБрдХрд┐ ON DELETE CASCADE рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдирдХ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЬрди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдХреБрдЫ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред
PostgreSQL, MySQL, рдФрд░ SQL Server рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░
PostgreSQL, MySQL, рдФрд░ SQL Server рд╕рднреА ON DELETE CASCADE рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде:
MySQL: CASCADE InnoDB рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди circular cascades рд╕реЗ рдмрдЪрддрд╛ рд╣реИ
PostgreSQL: cascading delete рдЪреЗрди рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рдЙрджрд╛рд░
SQL Server: рдХрдИ cascade path рдирд┐рдпрдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ
рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рд╕реНрдХреЛрдк рдФрд░ рд░реЛрд▓рдмреИрдХ рд╕реБрд░рдХреНрд╖рд╛
Cascading deletes рдЙрд╕реА рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ delete рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд┐рд╕реА child рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдЯрдХрд░рд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░реА рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред parent рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣рдЯрддреА, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣рдЯрд╛рдИ рдЧрдИ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдмрд╣рд╛рд▓ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВред
рдпрд╣ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ commit рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ cascading deletes рдХрд╛ рдкрд░реАрдХреНрд╖рдг, рд╕рдореАрдХреНрд╖рд╛, рдпрд╛ рдЙрд▓рдЯрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред
рд╕рд╣реА ON DELETE рд░рдгрдиреАрддрд┐ рдЪреБрдирдирд╛
рдЕрдм рддрдХ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╣реА delete рд░рдгрдиреАрддрд┐ рдЪреБрдирдирд╛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдЙрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ schema рдХреЗ рд▓рд┐рдП рд╕рд╣реА DELETE рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рд╣реЗрддреБ рдирд┐рдореНрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЬрдм CASCADE рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реЛ
рдЖрдкрдХреЛ ON DELETE CASCADE constraint рддрдм рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм child рдбреЗрдЯрд╛ рдХрд╛ рдЕрд░реНрде рдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдкреВрд░реА рддрд░рд╣ parent рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
many-to-many рд╕рдВрдмрдВрдзреЛрдВ рдореЗрдВ join рддрд╛рд▓рд┐рдХрд╛рдПрдБ
рдЕрд╕реНрдерд╛рдпреА рдпрд╛ рд╡реНрдпреБрддреНрдкрдиреНрди рдбреЗрдЯрд╛, рдЬреИрд╕реЗ logs рдпрд╛ history рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдБ
рдЙрдкрд░реНрдпреБрдХреНрдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрд╡рдд: рдХреНрд▓реАрдирдЕрдк рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдпрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореИрдиреНрдпреБрдЕрд▓ delete рд▓реЙрдЬрд┐рдХ рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИред
рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рд╣рдорд╛рд░рд╛ Joining Data in SQL рдХреЛрд░реНрд╕ рд▓реЗрдВ рддрд╛рдХрд┐ рдЖрдк SQL рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ joins рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦ рд╕рдХреЗрдВред
CASCADE рд╕реЗ рдХрдм рдмрдЪреЗрдВ
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ child рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рддреНрд╡ рд╣реИ рдпрд╛ рдЙрд╕реЗ рдХрд╛рдиреВрдиреА, рдСрдбрд┐рдЯрд┐рдВрдЧ, рдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЕрдкрдиреЗ schema рдореЗрдВ ON DELETE CASCADE constraint рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдирдореЗрдВ рди рдХрд░реЗрдВ:
рд╡рд┐рддреНрддреАрдп рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдФрд░ рдЪрд╛рд▓рд╛рди
рдСрдбрд┐рдЯ рд▓реЙрдЧреНрд╕ рдФрд░ рдЕрдиреБрдкрд╛рд▓рди рдбреЗрдЯрд╛, рдЬреИрд╕реЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп-рд╕реЗрд╡рд╛ рдбреЗрдЯрд╛
рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ RESTRICT, SET NULL рдЬреИрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдкреНрд░рдмрдВрдзрд┐рдд deletes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ рддрд╛рдХрд┐ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рджреГрд╢реНрдпрддрд╛ рдорд┐рд▓ рд╕рдХреЗред
рдирд┐рд╖реНрдХрд░реНрд╖
SQL рдХрд╛ ON DELETE CASCADE constraint рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ parent рдкрдВрдХреНрддрд┐ рд╣рдЯрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛рдХрд░ referential integrity рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдкрд░, рдпрд╣ рдХреНрд▓реАрдирдЕрдк рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдореИрдиреНрдпреБрдЕрд▓ delete рд▓реЙрдЬрд┐рдХ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдореЗрдВ рдПрдХрд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдирдЪрд╛рд╣реЗ deletions рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ schema рдореЗрдВ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдкреВрд░реНрдгрддрдГ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рддреЛ CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрд╢рд╛ рд╕рддрд░реНрдХ рд░рд╣реЗрдВред
рдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рд╣рдорд╛рд░рд╛ Database Design рдХреЛрд░реНрд╕ рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рддрдерд╛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЙрдЪрд┐рдд DBMS рдЪреБрдирдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдореИрдВ рдпрд╣ рднреА рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рд╣рдорд╛рд░рд╛ Associate Data Engineer in SQL рдХрд░рд┐рдпрд░ рдЯреНрд░реИрдХ рдЖрдЬрд╝рдорд╛рдПрдБ рддрд╛рдХрд┐ рдЖрдк рдбреЗрдЯрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдФрд░ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕рд┐рдВрдЧ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦ рд╕рдХреЗрдВред┬а┬а
SQL рдореЗрдВ рдбреЗрдЯрд╛ рд╣рдЯрд╛рдирд╛ рд╕рд┐рд░реНрдл рдПрдХ рдкрдВрдХреНрддрд┐ рдирд┐рдХрд╛рд▓ рджреЗрдиреЗ рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдЕрдХреНрд╕рд░ рдЖрдкрд╕ рдореЗрдВ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ delete рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SQL рдореЗрдВ foreign key constraints рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрдм рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛рдИ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреИрд╕рд╛ рд╣реЛред
рд╕рдмрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА delete рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ SQL рдХрд╛
ON DELETE CASCADEconstraint рд╣реИред рдпрд╣ delete рдХреЛ рд░реЛрдХрдиреЗ рдпрд╛ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ рд╣реА рд╕рдВрджрд░реНрднрд┐рдд parent рдкрдВрдХреНрддрд┐ рд╣рдЯреЗ, рд╕рднреА рдирд┐рд░реНрднрд░ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдБредрдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рдореИрдВ рджрд┐рдЦрд╛рдКрдБрдЧрд╛ рдХрд┐
ON DELETE CASCADEconstraint рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд╡рдд: cascading deletes рдХрд╛ рд╕рдорд░реНрдерди рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдХрдм рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдЬреИрд╕реЗ ON DELETE RESTRICT рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЪреБрдирдирд╛ рд╕рд╣реА рд░рд╣рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк SQL рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реА Introduction to SQL рдХреЛрд░реНрд╕ рд╕реЗ рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВ, рдпрд╛ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЕрдиреБрднрд╡ рд╣реИ рддреЛ Intermediate SQL рдХреЛрд░реНрд╕ рд▓реЗрдВред┬аSQL рдореЗрдВ ON DELETE CASCADE рдХреНрдпрд╛ рд╣реИ?
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐
ON DELETE CASCADEforeign key constraint рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкрд╣рд▓реЗ referential integrity рдФрд░CASCADEclause рд╕рдордЭ рд▓реЗрддреЗ рд╣реИрдВредReferential integrity рдФрд░ foreign keys
рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдПрдБ foreign keys рдХреЗ рдЬрд╝рд░рд┐рдП рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИрдВ, рдЬреЛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (child) рдХреЗ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЛ рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ (parent) рдХреА primary key рд╕реЗ рдЬреЛрдбрд╝рддреА рд╣реИрдВред Foreign keys referential integrity рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИрдВ рддрд╛рдХрд┐ child рдкрдВрдХреНрддрд┐ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рд╡реИрдз parent рдкрдВрдХреНрддрд┐ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗред┬а
рдпрджрд┐ рдпрд╣ рдкреНрд░рд╡рд░реНрддрди рди рд╣реЛ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдмрди рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдБ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдВ рдЬреЛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, delete рдирд┐рдпрдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реЗ orphan рдмрдирдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗред
CASCADE рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд░реНрде
SQL рдореЗрдВ,
ON DELETE CASCADEconstraint рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╣рдЯрд╛рдИ рдЧрдИ parent рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рднреА child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреА рдЬрд╛рдПрдБред рдпрд╣ foreign key рдЪреЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╣реА рдПрдЯреЙрдорд┐рдХ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдореЗрдВ рдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рд╣рдЯрд╛рддрд╛ рд╣реИредрдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХрд╛ рд░рд┐рдХреЙрд░реНрдб рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЙрдирдХреЗ рдСрд░реНрдбрд░реНрд╕ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдПрдХ рд╣реА рдХреНрд╡реЗрд░реА рдореЗрдВ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдореНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ ON DELETE CASCADE рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
рдЕрдм рдЬрдм рдЖрдкрдиреЗ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐
CASCADEрдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрд╕ рд▓реЙрдЬрд┐рдХ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИредParent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рдВрдмрдВрдз
рдЬреИрд╕рд╛ рдХрд┐ рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрдмрдВрдзреЛрдВ рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ parent рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИ, рдЬреЛ рдЕрдкрдиреЗ primary key рдХреЛ рдзрд╛рд░рдг рдХрд░рддреА рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░реА child рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИ, рдЬреЛ рдЙрд╕ key рдХреЛ foreign key рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддреА рд╣реИред рдЬрдм рдЖрдк parent рддрд╛рд▓рд┐рдХрд╛ рдкрд░
DELETEрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЬрди рдкрд╣рд▓реЗ foreign key constraints рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдирд┐рд░реНрднрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рддреЗрдЬрд╝реА рд╕реЗ рдХрд░ рд╕рдХреЗредрдЬрдм parent рдкрдВрдХреНрддрд┐ рд╣рдЯрддреА рд╣реИ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ
рдЬрдм рдЖрдк рдХрд┐рд╕реА parent рдкрдВрдХреНрддрд┐ рдкрд░
DELETEрдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЕрдВрддрд┐рдо рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА foreign key рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдореНрди рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ:рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрднреА рд╣реЛрдЧреА рдЬрдм рдЖрдкрдиреЗ constraint
ON DELETE CASCADEрдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реЛ, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЖрдЧреЗ рд▓реЗрдЦ рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗредON DELETE CASCADE рдмрдирд╛рдо рдЕрдиреНрдп Delete рдирд┐рдпрдо
SQL рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ
DELETEрдирд┐рдпрдо рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИред рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдоON DELETE CASCADEрдХреА рддреБрд▓рдирд╛ рдЗрди constraints рд╕реЗ рдХрд░реЗрдВрдЧреЗредCASCADE рдмрдирд╛рдо RESTRICT
рдКрдкрд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕реЗ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
CASCADEparent рдкрдВрдХреНрддрд┐ рд╣рдЯрдиреЗ рдкрд░ рд╕рднреА рдирд┐рд░реНрднрд░ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдИ рдЕрдирд╛рде рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдмрдЪрддрд╛редрд╣рд╛рд▓рд╛рдБрдХрд┐, SQL рдХрд╛
RESTRICTconstraint delete рдСрдкрд░реЗрд╢рди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреНрд▓реЙрдХ рдХрд░ рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдХреЛрдИ child рдкрдВрдХреНрддрд┐ рдЕрдм рднреА parent рдкрдВрдХреНрддрд┐ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рдХреНрд░рд┐рдпрд╛ рдЖрдХрд╕реНрдорд┐рдХ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╕реЗ рдмрдЪрд╛рддреА рд╣реИред рдиреАрдЪреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ,RESTRICTconstraint рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ рдпрджрд┐ рдРрд╕реЗ рдХреЛрдИ рдСрд░реНрдбрд░ рдореМрдЬреВрдж рд╣реИрдВ рдЬреЛ рдЙрд╕ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреЗ рд╣реИрдВредCASCADE рдмрдирд╛рдо SET NULL рдФрд░ SET DEFAULT
рдЬрд╣рд╛рдБ
CASCADEрдирд┐рд░реНрднрд░ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ, рд╡рд╣реАрдВSET NULLрдФрд░SET DEFAULTchild рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдореНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддреЗ рд╣реИрдВ:рдЬрдм рдЖрдк constraint рдХреЛ
ON DELETE SET NULLрдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ parent рдкрдВрдХреНрддрд┐ рд╣рдЯ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди child рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ foreign key рдорд╛рдиNULLрдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВредрдиреАрдЪреЗ рджрд┐рдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХрд┐рд╕реА рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрд░реНрдбрд░реНрд╕ рдирд╣реАрдВ рд╣рдЯрддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп,
ordersрддрд╛рд▓рд┐рдХрд╛ рдореЗрдВcustomer_idрдХреЙрд▓рдо рдЕрдкрдиреЗ-рдЖрдкNULLрдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдСрд░реНрдбрд░ рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рд╣рдЯрд╛рдП рдЧрдП рдЧреНрд░рд╛рд╣рдХ рд╕реЗ рд╕рдВрдмрдВрдз рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИредрдЗрд╕реА рддрд░рд╣,
SET DEFAULTрд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде, рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдСрд░реНрдбрд░реНрд╕ рдирд╣реАрдВ рд╣рдЯрддреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп,ordersрддрд╛рд▓рд┐рдХрд╛ рдореЗрдВcustomer_idрдХреЛ рдЙрд╕рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдкрд░ рд░реАрд╕реЗрдЯ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдСрд░реНрдбрд░ рд░рд┐рдХреЙрд░реНрдб рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреВрд░реНрд╡рдирд┐рдпрдд placeholder рд╕реМрдВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредON DELETE CASCADE рдХреЗ рд╕рд╛рде Foreign Keys рдмрдирд╛рдирд╛
SQL рдореЗрдВ
ON DELETE RESTRICTconstraint рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ parent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ foreign key рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛редTable schemas рдореЗрдВ CASCADE
рдЖрдк
ON DELETE CASCADEрдирд┐рдпрдо рдХреЛ SQL рдореЗрдВ рдпрд╛ рддреЛ рддрд╛рд▓рд┐рдХрд╛рдПрдБ рдмрдирд╛рддреЗ рд╕рдордп, рдпрд╛ рдореМрдЬреВрджрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдиреАрдЪреЗ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдирдИ рддрд╛рд▓рд┐рдХрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп SQL
ON DELETE CASCADEforeign key constraint рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд░реЗрдВредCASCADEрдХреЗ рд╕рд╛рде, рдХрд┐рд╕реА рд╡рд┐рднрд╛рдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдкрд░ рдЙрд╕ рд╡рд┐рднрд╛рдЧ рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рднреА рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЖрдк
ON DELETE CASCADEрдХреЗ рд╕рд╛рде foreign key constraint рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЖрдк рдХреЛрдИ рд╡рд┐рднрд╛рдЧ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдХрд░реНрдордЪрд╛рд░реА рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдПрдБрдЧреЗредCascading chains рдФрд░ рдмрд╣реБ-рд╕реНрддрд░реАрдп deletes
CASCADEрдХреА рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ deletes рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдмрдВрдз рдкрд░ рдирд╣реАрдВ рд░реБрдХрддреЗред рдпрджрд┐ рдХреЛрдИ child рддрд╛рд▓рд┐рдХрд╛ рдХрд┐рд╕реА рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рднреА parent рд╣реИ, рддреЛ delete рдХрдИ рд╕реНрддрд░реЛрдВ рддрдХ рдлреИрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ cascading chains рдХрд╣рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдСрд░реНрдбрд░реНрд╕ рд╣рдЯ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдлрд┐рд░ рдСрд░реНрдбрд░ рдЖрдЗрдЯрдореНрд╕ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рдСрдбрд┐рдЯ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рднреА рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВредрдЗрд╕рд▓рд┐рдП, рдЬрд┐рди schemas рдореЗрдВ
CASCADEрдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЪреВрдБрдХрд┐ рдПрдХ рд╣реА delete рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, cascading рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдкреВрд░реА рдирд┐рд░реНрднрд░рддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕рдордЭ рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдПредON DELETE CASCADE рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ
SQL рдореЗрдВ
ON DELETE CASCADEconstraint рдЙрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрд╣рд╛рдБ child рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдбреЗрдЯрд╛ parent рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рдорд╣рддреНрд╡ рдирд╣реАрдВ рд░рдЦрддрд╛ред рдЖрдЗрдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦреЗрдВредрдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╕рд╛рдл рдХрд░рдирд╛
рдЖрдк
ON DELETE CASCADEрдХрд╛ рдЙрдкрдпреЛрдЧ рдРрд╕реЗ рдбреЗрдЯрд╛ рдХреА рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдореИрдиреНрдпреБрдЕрд▓ рдХреНрд▓реАрдирдЕрдк рдЕрдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдЗрдирдореЗрдВ logs, history records, audit trails, рдпрд╛ many-to-many join рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬреЛ рдЕрдХреНрд╕рд░ рдХреЗрд╡рд▓ рдХрд┐рд╕реА parent рд░рд┐рдХреЙрд░реНрдб рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реЛрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг:рдбреЗрдЯрд╛ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛
рдЖрдк
CASCADEрдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдптАФрдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд░рд┐рдХреЙрд░реНрдб рдвреВрдБрдвреЗ, рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд╣рдЯрд╛рдП, рдФрд░ edge cases рд╡ рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗтАФрдбреЗрдЯрд╛рдмреЗрд╕ рдпреЗ рдирд┐рдпрдо рд▓рдЧрд╛рддрд╛рд░ рдФрд░ рдПрдЯреЙрдорд┐рдХ рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИредрдЗрд╕ рддрд░рд╣,
CASCADEрд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ delete рдЪрд╛рд╣реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрд╛ рдПрдбрдорд┐рди рдХреНрд╡реЗрд░реА рд╕реЗ рдЯреНрд░рд┐рдЧрд░ рд╣реЛтАФрдкрд░рд┐рдгрд╛рдо рд╣рдореЗрд╢рд╛ рдПрдХрд╕рдорд╛рди рд░рд╣реЗредON DELETE CASCADE рдХреЗ рдЬреЛрдЦрд┐рдо рдФрд░ рдХрдорд┐рдпрд╛рдБ
рдпрджреНрдпрдкрд┐
ON DELETE CASCADEconstraint рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдкрд░ рдпрд╣ рдЬреЛрдЦрд┐рдорднрд░рд╛ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреБрд╢рд▓CASCADEconstraints рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдХрдорд┐рдпреЛрдВ рдХреЛ рд╕рдордЭрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИредрдЖрдХрд╕реНрдорд┐рдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ deletions
CASCADEрдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЬреЛрдЦрд┐рдо рдЕрдирдЪрд╛рд╣реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ deletes рд╣реИрдВред parent рддрд╛рд▓рд┐рдХрд╛ рдкрд░ рдПрдХ рд╣реАDELETEрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪреБрдкрдЪрд╛рдк рдХрдИ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рдпрд╛ рд╣рдЬрд╝рд╛рд░реЛрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рдкреВрд░реА рддрд░рд╣ рд╕рдордЭ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЗрд╕рд╕реЗ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬрд┐рд╕рдХреА рднрд░рдкрд╛рдИ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред┬ард╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдореЗрд╢рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк parent рдФрд░ child рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ foreign keys рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХреЗрдВред рдпрджрд┐ рдЖрдкрдХрд╛ schema рд╕рд╣реА рд╣реИ, рддреЛ рдЖрдк рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рд╣реА delete рд╕реЗ рдХрд┐рди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдЕрд╕рд░ рдкрдбрд╝реЗрдЧрд╛ред
рдЬрдЯрд┐рд▓ schemas рдореЗрдВ рдЫрд┐рдкреА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ
рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдврд╝рддреЗ рд╣реИрдВ, рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд foreign keys рдЬреБрдбрд╝рддреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рд╕реЗ рдЕрд╕рдВрдЧрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЪреБрдиреМрддреА рддрдм рдЖрддреА рд╣реИ рдЬрдм рдРрд╕реЗ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ
CASCADEрд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ deletes рдЧрд╣рд░рд╛рдИ рддрдХ рдЬрдореА рдирд┐рд░реНрднрд░рддрд╛ рд╢реГрдВрдЦрд▓рд╛рдУрдВ рдореЗрдВ рдлреИрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╛ рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░реНрд╕ рдЕрдирднрд┐рдЬреНрдЮ рд╣реЛрдВредрдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕реЗ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рдЖрдк
CASCADEрдХреЛ рд╕реНрдкрд╖реНрдЯ schema рдкреНрд░рд▓реЗрдЦрди рдФрд░ foreign key рд╕рдВрдмрдВрдзреЛрдВ рдХреА рдирд┐рдпрдорд┐рдд рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВредTry out our SQL Server for Database Administrators skill track рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдпрд╛ рдореЗрдВрдЯреЗрди рдХрд░рддреЗ рд╣реИрдВред┬а
рдбреЗрдЯрд╛рдмреЗрд╕-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░
рд╣рд╛рд▓рд╛рдБрдХрд┐
ON DELETE CASCADEрдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдирдХ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрдЬрди рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдХреБрдЫ рднрд┐рдиреНрдирддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИредPostgreSQL, MySQL, рдФрд░ SQL Server рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░
PostgreSQL, MySQL, рдФрд░ SQL Server рд╕рднреА
ON DELETE CASCADEрдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рдорд╛рди рддрд░реАрдХреЗ рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдкрд╡рд╛рджреЛрдВ рдХреЗ рд╕рд╛рде:MySQL:
CASCADEInnoDB рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди circular cascades рд╕реЗ рдмрдЪрддрд╛ рд╣реИPostgreSQL: cascading delete рдЪреЗрди рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдФрд░ рдЙрджрд╛рд░
SQL Server: рдХрдИ cascade path рдирд┐рдпрдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ
рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рд╕реНрдХреЛрдк рдФрд░ рд░реЛрд▓рдмреИрдХ рд╕реБрд░рдХреНрд╖рд╛
Cascading deletes рдЙрд╕реА рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рди рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдореВрд▓ delete рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд┐рд╕реА child рдкрдВрдХреНрддрд┐ рдХреЛ рд╣рдЯрд╛рддреЗ рд╕рдордп рдХрд┐рд╕реА рддреНрд░реБрдЯрд┐ рд╕реЗ рдЯрдХрд░рд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░реА рдХреНрд░рд┐рдпрд╛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред parent рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣рдЯрддреА, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣рдЯрд╛рдИ рдЧрдИ child рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдмрд╣рд╛рд▓ рдХрд░ рджреА рдЬрд╛рддреА рд╣реИрдВред
рдпрд╣ рдЯреНрд░рд╛рдВрдЬрд╝реИрдХреНрд╢рдирд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрд░рдХреНрд╖рд╛ рдЬрд╛рд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ commit рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ cascading deletes рдХрд╛ рдкрд░реАрдХреНрд╖рдг, рд╕рдореАрдХреНрд╖рд╛, рдпрд╛ рдЙрд▓рдЯрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред
рд╕рд╣реА ON DELETE рд░рдгрдиреАрддрд┐ рдЪреБрдирдирд╛
рдЕрдм рддрдХ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╕рд╣реА delete рд░рдгрдиреАрддрд┐ рдЪреБрдирдирд╛ рдЗрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рдФрд░ рд╕рдордп рдХреЗ рд╕рд╛рде рдЙрд╕рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ schema рдХреЗ рд▓рд┐рдП рд╕рд╣реА
DELETEрд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рд╣реЗрддреБ рдирд┐рдореНрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВредрдЬрдм CASCADE рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реЛ
рдЖрдкрдХреЛ
ON DELETE CASCADEconstraint рддрдм рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм child рдбреЗрдЯрд╛ рдХрд╛ рдЕрд░реНрде рдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдкреВрд░реА рддрд░рд╣ parent рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕реЗ рдирд┐рдореНрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:рдЙрдкрд░реНрдпреБрдХреНрдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрд╡рдд: рдХреНрд▓реАрдирдЕрдк рд╕реНрдерд┐рд░рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЗрдпрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдореИрдиреНрдпреБрдЕрд▓ delete рд▓реЙрдЬрд┐рдХ рдХреЛ рдШрдЯрд╛рддрд╛ рд╣реИред
рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рд╣рдорд╛рд░рд╛ Joining Data in SQL рдХреЛрд░реНрд╕ рд▓реЗрдВ рддрд╛рдХрд┐ рдЖрдк SQL рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ joins рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реАрдЦ рд╕рдХреЗрдВред
CASCADE рд╕реЗ рдХрдм рдмрдЪреЗрдВ
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ child рдбреЗрдЯрд╛ рдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рддреНрд╡ рд╣реИ рдпрд╛ рдЙрд╕реЗ рдХрд╛рдиреВрдиреА, рдСрдбрд┐рдЯрд┐рдВрдЧ, рдпрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЕрдкрдиреЗ schema рдореЗрдВ
ON DELETE CASCADEconstraint рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк CASCADE рдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдирдореЗрдВ рди рдХрд░реЗрдВ:рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореИрдВ
RESTRICT,SET NULLрдЬреИрд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд╛рддреНрдордХ рдирд┐рдпрдореЛрдВ рдпрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди-рдкреНрд░рдмрдВрдзрд┐рдд deletes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ рддрд╛рдХрд┐ рдЕрдзрд┐рдХ рдирд┐рдпрдВрддреНрд░рдг рдФрд░ рджреГрд╢реНрдпрддрд╛ рдорд┐рд▓ рд╕рдХреЗредрдирд┐рд╖реНрдХрд░реНрд╖
SQL рдХрд╛
ON DELETE CASCADEconstraint рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╕реНрд╡рдЪрд╛рд▓рди рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ parent рдкрдВрдХреНрддрд┐ рд╣рдЯрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдиреЗ-рдЖрдк рд╣рдЯрд╛рдХрд░ referential integrity рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдкрд░, рдпрд╣ рдХреНрд▓реАрдирдЕрдк рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдореИрдиреНрдпреБрдЕрд▓ delete рд▓реЙрдЬрд┐рдХ рдХрдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдореЗрдВ рдПрдХрд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдирдЪрд╛рд╣реЗ deletions рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ schema рдореЗрдВ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдкреВрд░реНрдгрддрдГ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рддреЛCASCADEрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрд╢рд╛ рд╕рддрд░реНрдХ рд░рд╣реЗрдВредрдореИрдВ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рд╣рдорд╛рд░рд╛ Database Design рдХреЛрд░реНрд╕ рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рддрдерд╛ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЙрдЪрд┐рдд DBMS рдЪреБрдирдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред рдореИрдВ рдпрд╣ рднреА рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдБ рдХрд┐ рд╣рдорд╛рд░рд╛ Associate Data Engineer in SQL рдХрд░рд┐рдпрд░ рдЯреНрд░реИрдХ рдЖрдЬрд╝рдорд╛рдПрдБ рддрд╛рдХрд┐ рдЖрдк рдбреЗрдЯрд╛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдФрд░ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕рд┐рдВрдЧ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕реАрдЦ рд╕рдХреЗрдВред┬а┬а