Skip to content

Foreign Keys ve İlişkisel Veritabanı Tasarımı

Ders 11: Foreign Keys ve İlişkisel Veritabanı Tasarımı

Section titled “Ders 11: Foreign Keys ve İlişkisel Veritabanı Tasarımı”

Bu dersi tamamladıktan sonra:

  • Foreign key constraints tanımlayabileceksiniz
  • CASCADE, RESTRICT gibi foreign key actions kullanabileceksiniz
  • İlişkisel veritabanı tasarımı yapabileceksiniz
  • defer_foreign_keys ile migration’lar yapabileceksiniz
CREATE TABLE users (
id INTEGER PRIMARY KEY,
email TEXT NOT NULL UNIQUE
);
CREATE TABLE posts (
id INTEGER PRIMARY KEY,
user_id INTEGER NOT NULL,
title TEXT NOT NULL,
FOREIGN KEY(user_id) REFERENCES users(id)
);
-- CASCADE: Alt kayıtları da sil
CREATE TABLE comments (
post_id INTEGER,
FOREIGN KEY(post_id) REFERENCES posts(id) ON DELETE CASCADE
);
-- RESTRICT: Silmeyi engelle
CREATE TABLE orders (
user_id INTEGER,
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE RESTRICT
);
// Foreign key'leri geçici olarak kapat
await db.exec("PRAGMA defer_foreign_keys = ON");
// Schema değişikliği
await db.exec("ALTER TABLE users ADD COLUMN age INTEGER");
// Yeniden aç
await db.exec("PRAGMA defer_foreign_keys = OFF");

✅ Foreign key tanımlama ✅ CASCADE, RESTRICT actions ✅ Migration stratejileri

Local Development - Yerel geliştirme ortamı kurulumu.


Ders Süresi: 60 dakika Zorluk Seviyesi: Orta