Basis data relasional dan kueri
InformatikaBerkas, penyimpanan, dan basis dataUsia 16–17
Gunakan di kelas Anda: siswa membukanya lewat tautan atau kode QR, tanpa perlu akun.
Dua tabel, STUDENTS dan CLASSES, dihubungkan oleh kunci tamu ClassID yang merujuk ke kunci primer ClassID pada tabel CLASSES. Siswa menyusun kueri dengan sejumlah pilihan: tabel mana yang dipakai, apakah kedua tabel digabungkan, apa syarat filternya, kolom mana untuk mengurutkan, dan berapa baris yang dikembalikan. Program membuat pernyataan SQL yang sesuai dan menjalankannya langsung pada data, sehingga mengubah syarat langsung mengubah tabel hasil; mengeklik sebuah baris menunjukkan baris mana di tabel lain yang digabungkan dengannya.
Pelajaran: Basis data relasional: kunci primer, kunci tamu, kueri SELECT dengan syarat, penggabungan (join), dan pengurutan
Yang ditunjukkan
Basis data relasional menyimpan data dalam tabel yang terdiri atas rekaman dan field. Setiap tabel memiliki kunci primer yang nilainya unik dan tidak pernah kosong, dan kunci tamu di tabel lain merujuk ke kunci primer tersebut untuk menghubungkan rekaman. Di sini tabel STUDENTS (siswa) memuat ClassID, kunci tamu yang menunjuk ke tabel CLASSES (kelas), sehingga data kelas cukup disimpan sekali dan tidak diulang untuk setiap siswa. Simulasi mengubah pilihan Anda menjadi perintah SQL SELECT dengan JOIN, WHERE, ORDER BY, dan batas jumlah baris, lalu menjalankannya pada data.
Cara menggunakan
Mulailah dengan Penggabungan diatur ke Hanya tabel STUDENTS, lalu beralih ke opsi penggabungan dan perhatikan kolom yang bertambah. Pilih Kolom yang difilter, operator pembanding, dan ketik Nilai pembanding, lalu minta siswa menebak baris yang akan muncul sebelum menekan Jalankan kueri. Tambahkan Urutkan menurut dan kurangi Jumlah baris maksimum yang dikembalikan untuk melihat cara pengurutan dan batas bekerja bersama. Klik baris hasil untuk menelusuri kunci tamunya ke tabel CLASSES.
Parameter yang dapat diubah
- Penggabungan Hanya tabel STUDENTS, Gabungkan STUDENTS dengan CLASSES pada ClassID, Hanya tabel CLASSES
- Kolom yang difilter Tanpa filter, AvgScore, ClassID, Gender
- Nilai pembanding
- Urutkan menurut Tanpa pengurutan, FullName naik, AvgScore turun
- Jumlah baris maksimum yang dikembalikan 1–12 baris
Pertanyaan untuk dijelajahi
- Mengapa ClassID menjadi kunci primer di CLASSES tetapi kunci tamu di STUDENTS?
- Jika AvgScore diurutkan turun dan batasnya 3 baris, siswa mana saja yang dikembalikan?
- Dapatkah Anda menampilkan nama kelas setiap siswa tanpa menggabungkan kedua tabel? Mengapa?