Persediaan Temu Duga SQL · Pelajaran

Kunci Utama, Kunci Asing dan Kekangan

Terangkan kunci, keunikan dan integriti rujukan seperti yang ingin didengar oleh penemu duga

Pelajaran 3 daripada 413 langkah

Kunci Utama, Kunci Asing dan Kekangan ialah pelajaran Persediaan Temu Duga SQL percuma di CoddyKit. Ini ialah pelajaran 3 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 Persediaan Temu Duga SQL, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Persediaan Temu Duga SQL merangkumi sejumlah 4 pelajaran.

Mengapa Kunci Sentiasa Dibincangkan

Selepas mentakrifkan SQL, penemuduga beralih kepada kunci dan kekangan. Tema yang menghubungkan kesemuanya ialah integriti: peraturan yang dikuatkuasakan oleh pangkalan data supaya data yang tidak sah tidak dapat dimasukkan.

Apakah Kunci Primer

Kunci primer mengenal pasti setiap baris secara unik. Kunci ini sentiasa unik dan NOT NULL, dan sesebuah jadual mempunyai paling banyak satu kunci primer. Nyatakannya dengan jelas untuk memperoleh markah.

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

Kunci Semula Jadi berbanding Kunci Pengganti

Data sebenar atau nombor yang dijana? Kunci semula jadi menggunakan data unik sedia ada; kunci pengganti ialah id yang dijana. Kebanyakan pasukan memilih kunci pengganti kerana kunci ini stabil.

Kunci Primer Komposit

Kunci primer boleh merangkumi lebih daripada satu lajur, lalu membentuk kunci komposit. Kunci seperti ini terdapat dalam jadual penghubung, apabila dua kunci asing bersama-sama mengenal pasti setiap baris.

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

Kunci Primer berbanding Kekangan Keunikan

Soalan yang hampir pasti ditanya: kunci primer berbanding kekangan keunikan. Kedua-duanya menguatkuasakan keunikan, tetapi sesebuah jadual mempunyai satu kunci primer (NOT NULL) dan banyak kekangan keunikan (setiap satunya membenarkan satu NULL).

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

Apakah Kunci Asing

Kunci asing merujuk kepada kunci primer jadual lain dan menguatkuasakan integriti rujukan: anda tidak boleh menambah baris anak yang merujuk kepada baris induk yang tidak wujud.

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

Tindakan Rujukan: ON DELETE / ON UPDATE

"Apakah yang berlaku kepada pesanan jika pelanggan dipadamkan?" Itulah tindakan rujukan: RESTRICT menyekatnya (tetapan lalai), CASCADE memadamkan baris anak dan SET NULL mengosongkan kunci tersebut.

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

NOT NULL, CHECK dan DEFAULT

Tiga lagi kekangan melengkapkan integriti: NOT NULL melarang nilai yang tiada, CHECK menguatkuasakan peraturan seperti stock >= 0 dan DEFAULT membekalkan nilai sandaran.

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

Contoh Lengkap: Mereka Bentuk dengan Integriti

Mari mereka bentuk jadual pinjaman untuk sebuah perpustakaan. Kod di bawah menggunakan dua kunci asing, tarikh akhir yang NOT NULL dan peraturan keunikan supaya sesebuah buku tidak boleh dipinjamkan dua kali pada masa yang sama.

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

Cara Membincangkan Integriti

Nyatakan tiga jenis integriti untuk menunjukkan kefahaman yang mendalam: entiti daripada kunci primer, rujukan daripada kunci asing dan domain daripada NOT NULL, CHECK serta jenis data.

Menambah Kekangan pada Jadual Sedia Ada

Diminta menambah kekangan pada jadual sedia ada? Gunakan ALTER TABLE ... ADD CONSTRAINT. Satu perkara penting untuk disebut: operasi ini boleh gagal jika baris semasa sudah melanggar peraturan baharu.

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

Semakan Pantas

Bezakan kunci primer daripada kekangan keunikan.

Imbas Kembali

Imbas kembali: kunci primer adalah unik dan NOT NULL, satu bagi setiap jadual; kekangan keunikan membenarkan NULL dan anda boleh mempunyai banyak kekangan seperti ini; kunci asing menguatkuasakan integriti rujukan.

Percuma untuk bermula

Pelajari SQL 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
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Kunci Utama, Kunci Asing dan Kekangan” percuma?

Ya — teks penuh “Kunci Utama, Kunci Asing dan Kekangan” 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 Persediaan Temu Duga SQL, tingkat taraf kepada CoddyKit PRO. Kursus Persediaan Temu Duga SQL merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Kunci Utama, Kunci Asing dan Kekangan”?

Terangkan kunci, keunikan dan integriti rujukan seperti yang ingin didengar oleh penemu duga Anda berlatih Persediaan Temu Duga SQL 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 Persediaan Temu Duga SQL?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Persediaan Temu Duga SQL 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 3 daripada 4.

Berapa lamakah pelajaran “Kunci Utama, Kunci Asing dan Kekangan” 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 Persediaan Temu Duga SQL ini?

Ya. Setiap pelajaran Persediaan Temu Duga SQL 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. Apakah SQL dan Mengapa Penemu Duga Menanyakannya
  2. Susunan Pelaksanaan Pertanyaan Logik
  3. Kunci Utama, Kunci Asing dan Kekangan
  4. Membaca Skema Dalam Tekanan
← Kembali ke Persediaan Temu Duga SQL