Pertanyaan
15. Berikan contoh implementasi konsep kardinalitas (1:1,1:N N:M) dalam desain basis data. 16. Apa perbedaan antara DDL (Data Definition : Language) dan DML (Data Manipulation Language)dalam SQL? Berikan . contohnya. 17. Tuliskar I sintaks SQL . untuk membuattabel dengan Primary Key dan Foreign Key. 18. Jelaskan , fungsi dan perbedaan I antara perintah SELECT, I UPDATE. dan DELETE dalam SQL. 19. Apa itu query bersarang (subquery)'? Berikan contoh pe subquery untuk mencari data tertentu. 20. .)elaskan fungsi dari perintah SQL berikut: GROUP BY dan ORDER BY . Berikan contoh peng g unaannya. 10.26
Solusi
Jawaban
## Jawaban Soal Basis DataBerikut jawaban untuk pertanyaan-pertanyaan Anda mengenai basis data:**15. Contoh Implementasi Kardinalitas (1:1, 1:N, N:M) dalam Desain Basis Data:**Kardinalitas menjelaskan hubungan antara dua tabel dalam basis data relasional. Berikut contoh implementasinya:* **1:1 (Satu ke Satu):** Misalnya, hubungan antara tabel `karyawan` dan tabel `paspor`. Satu karyawan hanya memiliki satu paspor, dan satu paspor hanya dimiliki oleh satu karyawan. Implementasinya bisa dengan menambahkan kolom `paspor_id` sebagai *foreign key* di tabel `karyawan` (atau sebaliknya, `karyawan_id` di tabel `paspor`).* **1:N (Satu ke Banyak):** Misalnya, hubungan antara tabel `pelanggan` dan tabel `pesanan`. Satu pelanggan dapat memiliki banyak pesanan, tetapi satu pesanan hanya dimiliki oleh satu pelanggan. Implementasinya dengan menambahkan kolom `pelanggan_id` sebagai *foreign key* di tabel `pesanan`.* **N:M (Banyak ke Banyak):** Misalnya, hubungan antara tabel `mahasiswa` dan tabel `mata_kuliah`. Satu mahasiswa dapat mengambil banyak mata kuliah, dan satu mata kuliah dapat diambil oleh banyak mahasiswa. Implementasinya membutuhkan tabel tambahan yang disebut tabel *junction* atau *bridge* (misalnya, tabel `mahasiswa_mata_kuliah`). Tabel ini memiliki dua *foreign key*, yaitu `mahasiswa_id` dan `mata_kuliah_id`.**16. Perbedaan DDL (Data Definition Language) dan DML (Data Manipulation Language) dalam SQL:*** **DDL (Data Definition Language):** Digunakan untuk mendefinisikan struktur basis data, seperti membuat, memodifikasi, dan menghapus objek basis data (tabel, indeks, view, dll.). Contoh perintah DDL: `CREATE TABLE`, `ALTER TABLE`, `DROP TABLE`.* **DML (Data Manipulation Language):** Digunakan untuk memanipulasi data dalam tabel, seperti memasukkan, memperbarui, menghapus, dan mengambil data. Contoh perintah DML: `SELECT`, `INSERT`, `UPDATE`, `DELETE`.**Contoh:*** **DDL:** `CREATE TABLE pelanggan (id INT PRIMARY KEY, nama VARCHAR(255))` (membuat tabel)* **DML:** `INSERT INTO pelanggan (id, nama) VALUES (1, 'Budi')` (memasukkan data)**17. Sintaks SQL untuk Membuat Tabel dengan Primary Key dan Foreign Key:**```sqlCREATE TABLE departemen ( id_departemen INT PRIMARY KEY, nama_departemen VARCHAR(255));CREATE TABLE karyawan ( id_karyawan INT PRIMARY KEY, nama_karyawan VARCHAR(255), id_departemen INT, FOREIGN KEY (id_departemen) REFERENCES departemen(id_departemen));```Contoh di atas membuat dua tabel: `departemen` dan `karyawan`. `id_departemen` di tabel `karyawan` adalah *foreign key* yang merujuk ke `id_departemen` ( *primary key*) di tabel `departemen`.**18. Fungsi dan Perbedaan Perintah SELECT, INSERT, UPDATE, dan DELETE dalam SQL:*** **SELECT:** Digunakan untuk mengambil data dari satu atau lebih tabel.* **INSERT:** Digunakan untuk menambahkan baris baru ke dalam tabel.* **UPDATE:** Digunakan untuk memodifikasi data yang sudah ada dalam tabel.* **DELETE:** Digunakan untuk menghapus baris dari tabel.**19. Apa itu Query Bersarang (Subquery)? Contoh Penggunaan:**Subquery adalah query yang diletakkan di dalam query lain. Digunakan untuk mengambil data yang akan digunakan dalam query utama.**Contoh:** Cari nama pelanggan yang telah melakukan pemesanan dengan total harga lebih dari 1000.```sqlSELECT nama_pelangganFROM pelangganWHERE id_pelanggan IN (SELECT id_pelanggan FROM pesanan GROUP BY id_pelanggan HAVING SUM(harga_total) > 1000);```Subquery `(SELECT id_pelanggan FROM pesanan GROUP BY id_pelanggan HAVING SUM(harga_total) > 1000)` mencari ID pelanggan yang memenuhi kriteria. Hasilnya kemudian digunakan oleh query utama untuk mengambil nama pelanggan.**20. Fungsi Perintah GROUP BY dan ORDER BY:*** **GROUP BY:** Mengelompokkan baris dalam tabel berdasarkan nilai kolom tertentu. Sering digunakan bersama dengan fungsi agregat seperti `SUM`, `AVG`, `COUNT`, `MAX`, `MIN`.* **ORDER BY:** Mengurutkan hasil query berdasarkan nilai kolom tertentu.**Contoh:**```sqlSELECT COUNT(*) AS jumlah_pesanan, bulan_pesananFROM pesananGROUP BY bulan_pesananORDER BY bulan_pesanan;```Query ini menghitung jumlah pesanan untuk setiap bulan dan mengurutkan hasilnya berdasarkan bulan.Semoga jawaban ini membantu!