Supabase Backend as a Service · Ders

İlişkiler ve Yabancı Anahtarlar

Supabase Postgres veritabanınızdaki bire çok ve çoka çok ilişkileri modellemek için tabloları yabancı anahtarlarla birbirine bağlayın.

4. ders / 413 adım

İlişkiler ve Yabancı Anahtarlar, CoddyKit'te ücretsiz bir Supabase Backend as a Service dersidir. Bu, 4 dersinin 4. 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, Supabase Backend as a Service öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Supabase Backend as a Service kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Why Relationships Matter

Real data is connected: a user has many posts, an order has many items. Relationships link rows across tables so you avoid duplicating data.

What Is a Foreign Key?

A foreign key is a column that points to the primary key of another table. It enforces that the referenced row actually exists.

One-to-Many Example

One author writes many books. The books table stores the author's id.

CREATE TABLE authors (
  id bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  name text NOT NULL
);
CREATE TABLE books (
  id bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  title text NOT NULL,
  author_id bigint REFERENCES authors(id)
);

Referential Integrity

Postgres will reject inserting a book with an author_id that does not exist. This keeps your data consistent.

ON DELETE Behavior

Decide what happens when a parent row is deleted:

  • CASCADE deletes the children too
  • SET NULL clears the reference
  • RESTRICT blocks the delete
ALTER TABLE books
  ADD CONSTRAINT fk_author
  FOREIGN KEY (author_id)
  REFERENCES authors(id)
  ON DELETE CASCADE;

Querying Across Tables

With the Supabase client you can fetch related rows in one call using nested selects.

const { data } = await supabase
  .from('authors')
  .select('name, books(title)');

Many-to-Many Relationships

When both sides can have many of the other (students and courses), use a join table holding both foreign keys.

CREATE TABLE enrollments (
  student_id bigint REFERENCES students(id),
  course_id bigint REFERENCES courses(id),
  PRIMARY KEY (student_id, course_id)
);

Composite Primary Keys

In a join table the pair of foreign keys often forms the primary key, preventing duplicate links between the same two rows.

Naming Conventions

A common convention names foreign keys as singular_id (e.g. author_id). Consistency makes nested queries predictable.

function fkName(table) {
  return table.replace(/s$/, '') + '_id';
}
console.log(fkName('authors'));

Visualizing in the Dashboard

The Supabase Table Editor shows relationship links, and the Schema Visualizer draws how your tables connect, which helps verify your design.

Putting It Together

Model connections with foreign keys, choose sensible ON DELETE rules, and use join tables for many-to-many. This is the backbone of a clean schema.

Quick Check

Test your understanding of relationships.

Recap

You learned foreign keys, one-to-many vs many-to-many relationships, ON DELETE behaviors, join tables with composite keys, and how to query related data with nested selects.

Başlamak ücretsiz

Yapay zeka eğitmeniyle Supabase Backend as a Service öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
11
Dersler
40

Sıkça Sorulan Sorular

“İlişkiler ve Yabancı Anahtarlar” dersi ücretsiz mi?

Evet — “İlişkiler ve Yabancı Anahtarlar” 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 Supabase Backend as a Service kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Supabase Backend as a Service kursu toplamda 4 dersten oluşur.

“İlişkiler ve Yabancı Anahtarlar” dersinde ne öğreneceğim?

Supabase Postgres veritabanınızdaki bire çok ve çoka çok ilişkileri modellemek için tabloları yabancı anahtarlarla birbirine bağlayın. Supabase Backend as a Service 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.

Supabase Backend as a Service öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Supabase Backend as a Service, 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 4. dersidir.

“İlişkiler ve Yabancı Anahtarlar” 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 Supabase Backend as a Service dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Supabase Backend as a Service 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. Veritabanı Şemaları Tasarlama
  2. Tablolar ve Sütunlar Oluşturma
  3. Temel Veri Ekleme ve Sorgulama
  4. İlişkiler ve Yabancı Anahtarlar
← Supabase Backend as a Service Sayfasına Dön