Supabase sebagai Perkhidmatan Bahagian Belakang · Pelajaran

Hubungan dan Kunci Asing

Sambungkan jadual menggunakan kunci asing untuk memodelkan hubungan satu-ke-banyak dan banyak-ke-banyak dalam pangkalan data Postgres Supabase anda.

Pelajaran 4 daripada 413 langkah

Hubungan dan Kunci Asing ialah pelajaran Supabase sebagai Perkhidmatan Bahagian Belakang percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Supabase sebagai Perkhidmatan Bahagian Belakang, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Supabase sebagai Perkhidmatan Bahagian Belakang merangkumi sejumlah 4 pelajaran.

Sebab Hubungan Penting

Data sebenar saling berkaitan: seorang pengguna mempunyai banyak siaran, manakala satu pesanan mempunyai banyak item. Hubungan memautkan baris merentas jadual supaya anda tidak perlu menduplikasi data.

Apakah Kunci Asing?

Kunci asing ialah lajur yang menunjuk kepada kunci utama jadual lain. Kunci ini memastikan baris yang dirujuk benar-benar wujud.

Contoh Satu kepada Banyak

Seorang pengarang menulis banyak buku. Jadual books menyimpan id pengarang.

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)
);

Integriti Rujukan

Postgres akan menolak penyisipan buku dengan author_id yang tidak wujud. Ini memastikan data anda konsisten.

Tingkah Laku ON DELETE

Tentukan perkara yang berlaku apabila baris induk dipadamkan:

  • CASCADE turut memadamkan baris anak
  • SET NULL mengosongkan rujukan
  • RESTRICT menghalang pemadaman
ALTER TABLE books
  ADD CONSTRAINT fk_author
  FOREIGN KEY (author_id)
  REFERENCES authors(id)
  ON DELETE CASCADE;

Membuat Pertanyaan Merentas Jadual

Dengan klien Supabase, anda boleh mendapatkan baris berkaitan dalam satu panggilan menggunakan select bersarang.

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

Hubungan Banyak kepada Banyak

Apabila kedua-dua pihak boleh mempunyai banyak entiti daripada pihak yang lain, seperti pelajar dan kursus, gunakan jadual cantuman yang menyimpan kedua-dua kunci asing.

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

Kunci Utama Gubahan

Dalam jadual cantuman, pasangan kunci asing sering membentuk kunci utama untuk menghalang pautan pendua antara dua baris yang sama.

Konvensyen Penamaan

Konvensyen biasa menamakan kunci asing sebagai singular_id, contohnya author_id. Keseragaman menjadikan pertanyaan bersarang lebih mudah dijangka.

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

Memvisualkan dalam Papan Pemuka

Penyunting Jadual Supabase memaparkan pautan hubungan, manakala Pemvisual Skema melukiskan cara jadual anda bersambung. Ini membantu mengesahkan reka bentuk anda.

Menggabungkan Semuanya

Modelkan sambungan dengan kunci asing, pilih peraturan ON DELETE yang munasabah dan gunakan jadual cantuman untuk hubungan banyak kepada banyak. Inilah tunjang skema yang kemas.

Pemeriksaan Pantas

Uji pemahaman anda tentang hubungan.

Imbas Kembali

Anda mempelajari kunci asing, hubungan satu kepada banyak berbanding banyak kepada banyak, tingkah laku ON DELETE, jadual cantuman dengan kunci gubahan, serta cara membuat pertanyaan untuk data berkaitan menggunakan select bersarang.

Percuma untuk bermula

Pelajari Supabase sebagai Perkhidmatan Bahagian Belakang dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
11
Pelajaran
40

Soalan Lazim

Adakah pelajaran “Hubungan dan Kunci Asing” percuma?

Ya — teks penuh “Hubungan dan Kunci Asing” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Supabase sebagai Perkhidmatan Bahagian Belakang, tingkat taraf kepada CoddyKit PRO. Kursus Supabase sebagai Perkhidmatan Bahagian Belakang merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Hubungan dan Kunci Asing”?

Sambungkan jadual menggunakan kunci asing untuk memodelkan hubungan satu-ke-banyak dan banyak-ke-banyak dalam pangkalan data Postgres Supabase anda. Anda berlatih Supabase sebagai Perkhidmatan Bahagian Belakang menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Supabase sebagai Perkhidmatan Bahagian Belakang?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Supabase sebagai Perkhidmatan Bahagian Belakang di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.

Berapa lamakah pelajaran “Hubungan dan Kunci Asing” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Supabase sebagai Perkhidmatan Bahagian Belakang ini?

Ya. Setiap pelajaran Supabase sebagai Perkhidmatan Bahagian Belakang menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Mereka Bentuk Skema Pangkalan Data
  2. Mencipta Jadual dan Lajur
  3. Pemasukan dan Pertanyaan Data Asas
  4. Hubungan dan Kunci Asing
← Kembali ke Supabase sebagai Perkhidmatan Bahagian Belakang