CodeBlanks Logo Icon CodeBlanks

Kardinalite

Birebir, bire-çok, çok-ça ilişkileri öğrenirsin.

Kardinalite

Kardinalite iki varlık arasındaki ilişkinin sayısını belirtir: bire-bir (1:1), bire-çok (1:N) veya çok-ça (M:N). Doğru kardinalite, doğru tablo yapısını belirler.

-- 1:1  users.profile_id -> profiles.id
-- 1:N  orders.customer_id -> customers.id
-- M:N  students <-> courses (junction table)

Bu sorgu üç temel kardinalite türü vardır.

Kardinalite — ayrıntı

M:N ilişkisinde iki tablo arasında bir bağlantı tablosu (junction table) gerekir. Bu tablo, iki yabancı anahtarın birleşiminden oluşur.

Uygulama Kardinalite

students ve courses için M:N enrollments bağlantı tablosunu oluştur. İki yabancı anahtar ekle.

Başlangıç kodu

query.sql
-- bağlantı tablosu
CREATE TABLE enrollments

Örnek çözüm

query.sql
CREATE TABLE enrollments (
  student_id INT REFERENCES students(id),
  course_id INT REFERENCES courses(id),
  PRIMARY KEY (student_id, course_id)
);

Beklenen çıktı

CREATE TABLE

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Yabancı anahtar ekle

Soru
FOREIGN KEY (customer_id) REFERENCES ____
Cevap
FOREIGN KEY (customer_id) REFERENCES orders(id)

Açıklama: orders(id) doğru cevap.

2 M:N ilişkide ne gerekir?

  • Ek bir sütun
  • Yeni bir dizin
  • Bir tetikleyici
  • Bağlantı tablosu Doğru cevap

Açıklama: M:N ilişkide bağlantı tablosu gerekir.

3 Kardinalite: kavramları eşleştir

Kavram Anlamı
1:1 bire bir
1:N bire çok
M:N çok ça
junction bağlantı

Uzman bölümündeki tüm dersler