0Pricing
SQL Interview Prep · Ders

Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar

Anahtarları, benzersizliği ve başvuru bütünlüğünü bir mülakatçının duymak isteyeceği şekilde açıklayın.

Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar, CoddyKit'te ücretsiz bir SQL Interview Prep dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Interview Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Interview Prep kursu toplamda 4 dersten oluşur.

Anahtarlar Neden Her Seferinde Gündeme Gelir

SQL'i tanımladıktan sonra mülakatçılar anahtarlara ve kısıtlamalara geçer. Bunları bir arada tutan tema bütünlüktür: veritabanının kötü verilerin eklenmesini önlemek için uyguladığı kurallar.

Birincil Anahtar Nedir

Birincil anahtar, her satırı benzersiz biçimde tanımlar. Her zaman benzersiz ve NOT NULL olur; bir tabloda en fazla bir tane bulunabilir. Puan kazanmak için bunu açıkça ifade edin.

CREATE TABLE customers (
  id INTEGER PRIMARY KEY,
  email VARCHAR(255) NOT NULL,
  name VARCHAR(100)
);

Doğal ve Vekil Anahtarlar

Gerçek veri mi, yoksa oluşturulan bir sayı mı? Doğal anahtar mevcut benzersiz verileri kullanır; vekil anahtar ise oluşturulan bir kimliktir. Çoğu ekip vekil anahtarları tercih eder: sabittirler.

Bileşik Birincil Anahtarlar

Birincil anahtar birden fazla sütuna yayılabilir; buna bileşik anahtar denir. Bunları, iki yabancı anahtarın birlikte her satırı tanımladığı ilişkilendirme tablolarında görürsünüz.

CREATE TABLE enrollments (
  student_id INTEGER,
  course_id INTEGER,
  enrolled_on DATE,
  PRIMARY KEY (student_id, course_id)
);

Birincil Anahtar ve Benzersiz Kısıtlama

Kesinlikle sorulabilecek bir soru şudur: birincil anahtar ile benzersiz kısıtlama arasındaki fark nedir? Her ikisi de benzersizliği zorunlu kılar; ancak bir tabloda bir birincil anahtar bulunur (NOT NULL) ve birçok benzersiz kısıtlama bulunabilir (her biri bir NULL değerine izin verir).

CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  email VARCHAR(255) UNIQUE,
  username VARCHAR(50) UNIQUE
);

Yabancı Anahtar Nedir

Yabancı anahtar, başka bir tablonun birincil anahtarına başvurarak referans bütünlüğünü zorunlu kılar: var olmayan bir üst satıra işaret eden bir alt satır ekleyemezsiniz.

CREATE TABLE orders (
  id INTEGER PRIMARY KEY,
  customer_id INTEGER REFERENCES customers(id),
  amount NUMERIC(10,2)
);

Referans İşlemleri: ON DELETE / ON UPDATE

"Müşteri silinirse siparişlere ne olur?" Bu bir referans işlemidir: RESTRICT bunu engeller (varsayılan davranış), CASCADE alt satırları siler, SET NULL ise anahtarı temizler.

CREATE TABLE order_items (
  id INTEGER PRIMARY KEY,
  order_id INTEGER REFERENCES orders(id) ON DELETE CASCADE
);

NOT NULL, CHECK ve DEFAULT

Üç kısıtlama daha bütünlüğü tamamlar: NOT NULL eksik değerleri yasaklar, CHECK stock >= 0 gibi bir kuralı uygular ve DEFAULT bir varsayılan değer sağlar.

CREATE TABLE products (
  id INTEGER PRIMARY KEY,
  price NUMERIC(10,2) NOT NULL DEFAULT 0,
  stock INTEGER CHECK (stock >= 0)
);

Uygulamalı Örnek: Bütünlük Gözetilerek Tasarlama

Bir kütüphanenin ödünç alma tablosunu tasarlayalım. Aşağıdaki kodda iki yabancı anahtar, NOT NULL olarak tanımlanmış bir son teslim tarihi ve bir kitabın aynı anda iki kez ödünç verilmesini önleyen benzersiz bir kural kullanılır.

CREATE TABLE loans (
  id INTEGER PRIMARY KEY,
  book_id INTEGER NOT NULL REFERENCES books(id),
  member_id INTEGER NOT NULL REFERENCES members(id),
  due_date DATE NOT NULL,
  returned BOOLEAN DEFAULT false
);

Bütünlük Hakkında Nasıl Konuşulur

Derinlik sahibi olduğunuzu göstermek için üç bütünlük türünü belirtin: birincil anahtarlardan kaynaklanan varlık bütünlüğü, yabancı anahtarlardan kaynaklanan referans bütünlüğü ve NOT NULL, CHECK ve türlerden kaynaklanan alan bütünlüğü.

Mevcut Bir Tabloya Kısıtlama Ekleme

Mevcut bir tabloya kısıtlama eklemeniz mi istendi? ALTER TABLE ... ADD CONSTRAINT kullanın. Belirtmeye değer ince nokta şudur: mevcut satırlar yeni kurala zaten aykırıysa işlem başarısız olabilir.

ALTER TABLE orders
  ADD CONSTRAINT fk_orders_customer
  FOREIGN KEY (customer_id) REFERENCES customers(id);

Hızlı Kontrol

Birincil anahtar ile benzersiz kısıtlamayı birbirinden ayırın.

Özet

Özet: birincil anahtar benzersizdir ve NOT NULL'dır; her tabloda bir tane bulunur. Benzersiz kısıtlama bir NULL değerine izin verir ve bir tabloda birden çok tane bulunabilir. Yabancı anahtar referans bütünlüğünü zorunlu kılar.

Sıkça Sorulan Sorular

“Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar” dersi ücretsiz mi?

Evet — “Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Interview Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Interview Prep kursu toplamda 4 dersten oluşur.

“Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar” dersinde ne öğreneceğim?

Anahtarları, benzersizliği ve başvuru bütünlüğünü bir mülakatçının duymak isteyeceği şekilde açıklayın. SQL Interview Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

SQL Interview Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te SQL Interview Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu SQL Interview Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her SQL Interview Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. SQL Nedir ve Mülakatçılar Neden Soruyor?
  2. Mantıksal Sorgu Yürütme Sırası
  3. Birincil Anahtarlar, Yabancı Anahtarlar ve Kısıtlamalar
  4. Baskı Altında Şema Okuma
← SQL Interview Prep Sayfasına Dön