Bir anahtarın başvuru bütünlüğü davranışını değiştir
Şimdiye kadar üç adet yabancı anahtar kısıtı uyguladın:
professors.university_id→universities.idaffiliations.organization_id→organizations.idaffiliations.professor_id→professors.id
Bu yabancı anahtarların davranışı şu anda ON DELETE NO ACTION. Burada, affiliations içinden organizations sütununu referanslayan kısım için bu davranışı değiştireceksin. Bir organization silinirse, ona ait tüm affiliation’lar (hangi profesör olursa olsun) da silinmeli.
Bir anahtar kısıtını değiştirmek ALTER COLUMN ile çalışmaz. Bunun yerine, önce kısıtı DROP etmen, sonra da farklı bir ON DELETE davranışıyla yeni bir kısıt ADD etmen gerekir.
Ancak kısıtları silebilmek için, adlarını bilmen lazım. Bu bilgi de information_schema içinde saklanıyor.
Bu egzersiz
SQL ile İlişkisel Veritabanlarına Giriş
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
-- Identify the correct constraint name
SELECT constraint_name, table_name, constraint_type
FROM information_schema.___
WHERE constraint_type = 'FOREIGN KEY';