PRAKTIKUM 1 DATABASE

Pada blog sebelumnya kita sudah mempelari teori-teori tentang database, dalam blog ini kita akan mencoba mempraktikan ilmu yang sudah di dapat di blog sebelumnya, tanpa membuang-buang waktu kita mulai saja praktiknya yukk!!


Membuat tabel tb_pengguna

Untuk membuat tabel pengguna ini kita dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk membuat sebuah tabel baru bernama "tb_pengguna". Tabel ini akan memiliki empat kolom: userid, nama, email, dan no_telp.

  • Kolom "userid" didefinisikan sebagai VARCHAR(50) NOT NULL, yang berarti kolom ini akan menampung nilai karakter dengan panjang maksimum 50 karakter, dan tidak diizinkan untuk kosong (NULL). Ini juga diatur sebagai PRIMARY KEY, yang berarti nilai di kolom ini harus unik dan digunakan untuk mengidentifikasi setiap baris dalam tabel.
  • Kolom "nama" juga didefinisikan sebagai VARCHAR(50) NOT NULL, yang berarti kolom ini akan menampung nilai karakter dengan panjang maksimum 50 karakter, dan tidak diizinkan untuk kosong (NULL).
  • Kolom "email" didefinisikan sebagai VARCHAR(50) NOT NULL, yang berarti kolom ini akan menampung nilai karakter dengan panjang maksimum 50 karakter, dan tidak diizinkan untuk kosong (NULL).
  • Kolom "no_telp" didefinisikan sebagai INT NOT NULL, yang berarti kolom ini akan menampung nilai bilangan bulat (integer), dan tidak diizinkan untuk kosong (NULL).

Secara keseluruhan, tabel "tb_pengguna" akan digunakan untuk menyimpan data pengguna, dengan setiap pengguna diidentifikasi oleh nilai unik di kolom "userid".


Menambahkan index uniq ke field email di tabel tb_pengguna

Untuk menambahkan index uniq ke field email di tabel tb_pengguna dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk menambahkan sebuah indeks unik pada kolom "email" di tabel "tb_pengguna". Indeks unik adalah indeks yang memastikan bahwa tidak ada dua baris dalam tabel dengan nilai yang sama di kolom yang diindeks.

Dalam query tersebut, ALTER TABLE digunakan untuk mengubah struktur tabel "tb_pengguna". Kemudian, ADD UNIQUE INDEX digunakan untuk menambahkan indeks unik pada kolom "email". idx_uniq_tb_unique adalah nama indeks unik yang diberikan oleh pengguna.

Setelah menjalankan query ini, setiap kali sebuah baris baru ditambahkan ke tabel "tb_pengguna", sistem akan memastikan bahwa tidak ada baris lain dalam tabel yang memiliki nilai yang sama di kolom "email". Jika ada upaya untuk menambahkan baris yang melanggar aturan ini, sistem akan menghasilkan kesalahan dan baris tersebut tidak akan ditambahkan ke dalam tabel.


Menambahkan index ke field nama, no_telp di tabel tb_pengguna

Untuk menambahkan index ke field nama, no_telp di tabel tb_pengguna dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk menambahkan sebuah indeks pada kolom "nama" dan "no_telp" di tabel "tb_pengguna". Indeks ini diberi nama index_nama_no_telp_pengguna.

Dalam query tersebut, ALTER TABLE digunakan untuk mengubah struktur tabel "tb_pengguna". Kemudian, ADD INDEX digunakan untuk menambahkan sebuah indeks baru pada kolom "nama" dan "no_telp". Indeks ini akan mempercepat pencarian data berdasarkan nilai-nilai di kedua kolom tersebut.

Dengan indeks ini, sistem dapat mengakses baris-baris yang sesuai dengan kriteria pencarian lebih cepat, karena tidak perlu melakukan scan seluruh tabel. Sebagai contoh, jika kita ingin mencari pengguna dengan nama "Fahmi Maulana" dan nomor telepon "88706328952", indeks ini akan mempercepat proses pencarian data.

Indeks pada kolom-kolom tertentu biasanya digunakan untuk meningkatkan performa database, terutama jika tabel memiliki jumlah data yang besar.


Mengedit tipe data pada field no_telp di tabel tb_pengguna

Untuk mengedit tipe data pada field no_telp di tb_pengguna dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk mengubah definisi kolom "no_telp" pada tabel "tb_pengguna". Kolom ini akan diubah tipe datanya dari INT menjadi BIGINT, dan ditambahkan constraint NOT NULL serta DEFAULT value 0. Selain itu, kolom ini juga akan diposisikan setelah kolom "email".

Dalam query tersebut, ALTER TABLE digunakan untuk mengubah struktur tabel "tb_pengguna". Kemudian, CHANGE COLUMN digunakan untuk mengubah definisi kolom "no_telp". Pada syntax ini, kita juga dapat menggunakan backtick (`) untuk memperjelas nama kolom yang akan diubah.

Setelah menjalankan query ini, semua baris di tabel "tb_pengguna" akan memiliki kolom "no_telp" dengan tipe data BIGINT dan constraint NOT NULL serta DEFAULT value 0. Perubahan ini akan memungkinkan kita menyimpan nomor telepon yang lebih besar daripada tipe data INT, dan memastikan bahwa kolom "no_telp" tidak kosong.

Penambahan AFTER 'email' digunakan untuk menentukan posisi kolom "no_telp" setelah kolom "email". Hal ini penting untuk memastikan struktur tabel yang konsisten dan memudahkan pengelolaan data.



Menambahkan data ke tabel tb_pengguna

Untuk menambahkan data ke tabel tb_pengguna dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk menambahkan satu baris data baru ke dalam tabel "tb_pengguna" dengan nilai-nilai berikut:

  • userid: 'fahmi.fadila'
  • nama: 'Fahmi Maulana'
  • email: 'fahmi.fadila@student.email'
  • no_telp: '088706328952'

Dalam query tersebut, INSERT INTO digunakan untuk menambahkan data baru ke dalam tabel. Setelah itu, kita harus menyebutkan nama tabel, yaitu "tb_pengguna". Kemudian, kita memberikan nilai untuk masing-masing kolom sesuai urutan yang didefinisikan pada struktur tabel. Jangan lupa untuk memasukkan nilai ke dalam tanda kurung dan memisahkan nilai antar kolom dengan tanda koma.

Setelah menjalankan query ini, satu baris baru akan ditambahkan ke dalam tabel "tb_pengguna" dengan nilai-nilai yang sesuai. Kolom "userid" tidak boleh kosong, karena telah didefinisikan sebagai PRIMARY KEY pada struktur tabel. Oleh karena itu, kita harus memasukkan nilai untuk kolom "userid" pada query ini.


Membuat tabel tb_team

Untuk membuat tabel tb_team dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk membuat sebuah tabel baru bernama "tb_team". Tabel ini memiliki tiga kolom, yaitu "id_team", "nama_team", dan "id_koordinator".

  • Kolom "id_team" bertipe INT(11) dan didefinisikan sebagai PRIMARY KEY yang menggunakan metode BTREE. Kolom ini juga diatur sebagai AUTO_INCREMENT, sehingga nilai pada kolom ini akan otomatis bertambah setiap kali kita menambahkan baris baru ke dalam tabel.
  • Kolom "nama_team" bertipe VARCHAR(50) dan dapat menampung nilai-nilai teks dengan panjang maksimal 50 karakter. Kolom ini didefinisikan sebagai NULL DEFAULT NULL, yang berarti nilai defaultnya adalah NULL jika kita tidak memberikan nilai untuk kolom ini pada saat menambahkan baris baru ke dalam tabel.
  • Kolom "id_koordinator" bertipe INT(11) dan dapat menampung nilai-nilai integer dengan panjang maksimal 11 digit. Kolom ini juga didefinisikan sebagai NULL DEFAULT NULL, yang berarti nilai defaultnya adalah NULL jika kita tidak memberikan nilai untuk kolom ini pada saat menambahkan baris baru ke dalam tabel.

Dalam query tersebut, CREATE TABLE digunakan untuk membuat tabel baru. Kita memberikan nama tabel diikuti dengan definisi kolom-kolom yang ada di dalam tabel tersebut. Pada struktur tabel, kita harus menyebutkan nama kolom, tipe data, dan constraint yang diperlukan.

Setelah menjalankan query ini, tabel "tb_team" akan dibuat dengan struktur dan definisi kolom yang sesuai. Kita dapat menambahkan, mengubah, atau menghapus data di dalam tabel sesuai kebutuhan aplikasi.


Membuat tabel tb_koordinator

Untuk membuat tabel tb_koordinator dapat menggunakan query seperti di bawah ini

Qery di atas digunakan untuk membuat sebuah tabel baru bernama "tb_koordinator". Tabel ini memiliki dua kolom, yaitu "id_koordinator" dan "nama".

  • Kolom "id_koordinator" bertipe INT(11) dan didefinisikan sebagai PRIMARY KEY yang menggunakan metode BTREE. Kolom ini tidak boleh kosong, sehingga setiap baris pada tabel harus memiliki nilai pada kolom ini.
  • Kolom "nama" bertipe VARCHAR(50) dan dapat menampung nilai-nilai teks dengan panjang maksimal 50 karakter. Kolom ini didefinisikan sebagai NULL DEFAULT NULL, yang berarti nilai defaultnya adalah NULL jika kita tidak memberikan nilai untuk kolom ini pada saat menambahkan baris baru ke dalam tabel.

Dalam query tersebut, CREATE TABLE digunakan untuk membuat tabel baru. Kita memberikan nama tabel diikuti dengan definisi kolom-kolom yang ada di dalam tabel tersebut. Pada struktur tabel, kita harus menyebutkan nama kolom, tipe data, dan constraint yang diperlukan.


Menambahkan foreign key untuk table tb_team & tb_koordinator dengan configurasi tambahan : ON UPDATE CASCADE ON DELETE CASCADE

Untuk Menambahkan foreign key untuk table tb_team & tb_koordinator dengan configurasi tambahan ON UPDATE CASCADE ON DELETE CASCADE dapat menggunakan query seperti di bawah ini

Query di atas digunakan untuk menambahkan sebuah constraint FOREIGN KEY pada tabel "tb_team", yang terhubung dengan tabel "tb_koordinator". Constraint FOREIGN KEY ini akan memastikan bahwa nilai yang ada di kolom "id_koordinator" pada tabel "tb_team" selalu terhubung dengan nilai yang ada di kolom "id_koordinator" pada tabel "tb_koordinator".

Berikut adalah penjelasan untuk masing-masing bagian query tersebut:

  • ALTER TABLE tb_team ADD CONSTRAINT fk_idk : kita menggunakan perintah ALTER TABLE untuk mengubah struktur tabel "tb_team", dengan menambahkan sebuah constraint FOREIGN KEY. Nama constraint FOREIGN KEY ini kita beri nama "fk_idk".
  • FOREIGN KEY (id_koordinator) : kita menentukan kolom mana yang akan dijadikan FOREIGN KEY, yaitu kolom "id_koordinator" pada tabel "tb_team".
  • REFERENCES tb_koordinator (id_koordinator) : kita menentukan tabel mana yang akan dijadikan referensi untuk FOREIGN KEY, yaitu tabel "tb_koordinator". Kita juga menentukan kolom mana yang akan dijadikan referensi untuk FOREIGN KEY, yaitu kolom "id_koordinator" pada tabel "tb_koordinator".
  • ON UPDATE CASCADE ON DELETE CASCADE : kita menentukan aksi apa yang akan dilakukan jika terjadi perubahan data pada tabel induk (tabel "tb_koordinator"). Pada query di atas, kita menggunakan aksi CASCADE, yang artinya jika terjadi perubahan pada nilai kolom "id_koordinator" pada tabel "tb_koordinator", maka perubahan tersebut akan di-cascade ke semua baris pada tabel "tb_team". Kita juga menentukan aksi CASCADE untuk saat data pada tabel induk (tabel "tb_koordinator") dihapus, sehingga semua baris yang terhubung dengan nilai yang dihapus akan ikut terhapus juga.

Setelah menjalankan query di atas, constraint FOREIGN KEY akan ditambahkan pada tabel "tb_team". Hal ini akan memastikan bahwa setiap nilai pada kolom "id_koordinator" di tabel "tb_team" akan selalu terhubung dengan nilai yang ada di kolom "id_koordinator" pada tabel "tb_koordinator". Jika terjadi perubahan atau penghapusan pada data pada tabel induk (tabel "tb_koordinator"), maka perubahan atau penghapusan tersebut juga akan di-cascade ke semua baris pada tabel "tb_team" yang terhubung dengan nilai tersebut.


Menambahkan data ke table tb_koordinator

Untuk menambahkan data ke table tb_koordinator dapat menggunakan query seperti di bawah ini

Penjelasan untuk masing-masing bagian query tersebut adalah sebagai berikut:

  • INSERT INTO tb_koordinator (id_koordinator, nama): kita menggunakan perintah INSERT INTO untuk menambahkan data ke dalam tabel tb_koordinator. Kita juga menentukan kolom-kolom mana yang akan diisi nilai dengan menggunakan tanda kurung (id_koordinator dan nama).
  • VALUES ('1', 'Ibnu Nass'), ('2', 'Egi Su'), ('3', 'Andi Ay'): kita menentukan nilai-nilai yang akan diisikan ke dalam kolom-kolom yang telah ditentukan sebelumnya. Pada query di atas, kita menambahkan tiga baris data sekaligus dengan menggunakan satu perintah INSERT INTO dan tanda kurung untuk setiap baris data.

Dengan demikian, setelah menjalankan query di atas, tiga baris data akan ditambahkan ke dalam tabel tb_koordinator.


Menambahkan data ke table tb_team

Untuk menambahkan data ke table tb_team dapat menggunakan query seperti di bawah ini

Penjelasan untuk masing-masing bagian query tersebut adalah sebagai berikut:

  • INSERT INTO tb_team (id_team, nama_team, id_koordinator): kita menggunakan perintah INSERT INTO untuk menambahkan data ke dalam tabel tb_team. Kita juga menentukan kolom-kolom mana yang akan diisi nilai dengan menggunakan tanda kurung (id_team, nama_team, dan id_koordinator).
  • VALUES (NULL, 'jgteam', '3'), (NULL, 'blteam', '1'), (NULL, 'gbtteam', NULL): kita menentukan nilai-nilai yang akan diisikan ke dalam kolom-kolom yang telah ditentukan sebelumnya. Pada query di atas, kita menambahkan tiga baris data sekaligus dengan menggunakan satu perintah INSERT INTO dan tanda kurung untuk setiap baris data. Perlu diperhatikan bahwa untuk kolom id_team, kita menggunakan nilai NULL untuk membuat nilai tersebut diisi secara otomatis oleh sistem (karena kolom tersebut di-set sebagai AUTO_INCREMENT pada definisi tabel).


Mengambil data dari tabel yang telah dibuat untuk semua kolom

Untuk mengambil data dari tabel yang telah dibuat untuk semua kolom dapat menggunakan query seperti di bawah ini

Berikut adalah penjelasan untuk masing-masing bagian dari query tersebut:

  • SELECT *: digunakan untuk menampilkan seluruh kolom dari tabel yang di-query. Dalam hal ini, kita ingin menampilkan seluruh kolom dari tabel tb_team dan tb_koordinator.
  • FROM tb_team a, tb_koordinator b: digunakan untuk menentukan tabel-tabel mana yang akan di-query dan memberikan alias untuk setiap tabel agar lebih mudah dibaca. Dalam hal ini, tabel tb_team di-alias sebagai a dan tabel tb_koordinator di-alias sebagai b.
  • WHERE a.id_koordinator=b.id_koordinator: digunakan untuk menentukan kondisi join antara kedua tabel. Kita menyamakan nilai kolom id_koordinator pada tabel a (yaitu tb_team) dan tabel b (yaitu tb_koordinator). Dalam hal ini, kita ingin mengambil data dari kedua tabel dimana nilai kolom id_koordinator sama.

Dengan demikian, query di atas akan menghasilkan output berupa gabungan antara tabel tb_team dan tb_koordinator berdasarkan kolom id_koordinator, dengan kolom-kolom yang ditampilkan adalah seluruh kolom dari kedua tabel.


Mengambil data dari tabel yang telah dibuat untuk beberapa kolom

Untuk mengambil data dari tabel yang telah dibuat untuk beberapa kolom dapat menggunakan query seperti di bawah ini

Berikut adalah penjelasan untuk masing-masing bagian dari query tersebut:

  • SELECT a.nama_team, b.nama AS nama_koordinator: digunakan untuk memilih kolom-kolom yang ingin ditampilkan. Dalam hal ini, kita ingin menampilkan kolom nama_team dari tabel tb_team dan kolom nama dari tabel tb_koordinator, yang kita alias sebagai nama_koordinator.
  • FROM tb_team a, tb_koordinator b: digunakan untuk menentukan tabel-tabel mana yang akan di-join. Dalam hal ini, kita ingin join antara tabel tb_team dan tb_koordinator, dengan tabel tb_team di-alias sebagai a dan tabel tb_koordinator di-alias sebagai b.
  • WHERE a.id_koordinator=b.id_koordinator: digunakan untuk menentukan kondisi join antara kedua tabel. Dalam hal ini, kita menyamakan nilai kolom id_koordinator pada tabel a (yaitu tb_team) dan tabel b (yaitu tb_koordinator). Dengan demikian, hanya data dari kedua tabel yang memiliki nilai id_koordinator yang sama yang akan di-join.

Dengan demikian, query di atas akan menghasilkan output berupa dua kolom: nama_team dari tabel tb_team dan nama dari tabel tb_koordinator, yang kita alias sebagai nama_koordinator, yang di-join berdasarkan nilai id_koordinator yang sama pada kedua tabel. Output ini akan menampilkan nama tim dan nama koordinator dari tiap tim tersebut.


Mengambil data dari tabel yang telah dibuat dengan menambahkan filter

Untuk mengambil data dari tabel yang telah dibuat dengan menambahkan filter dapat menggunakan perintah seperti dibawah ini

Berikut pelasan untuk masing-masing bagian dari query tersebut adalah sebagai berikut:

  • SELECT *: digunakan untuk memilih semua kolom dari kedua tabel yang di-join.
  • FROM tb_team a, tb_koordinator b: digunakan untuk menentukan tabel-tabel mana yang akan di-join. Dalam hal ini, kita ingin join antara tabel tb_team dan tb_koordinator, dengan tabel tb_team di-alias sebagai a dan tabel tb_koordinator di-alias sebagai b.
  • WHERE a.id_koordinator = b.id_koordinator: digunakan untuk menentukan kondisi join antara kedua tabel. Dalam hal ini, kita menyamakan nilai kolom id_koordinator pada tabel a (yaitu tb_team) dan tabel b (yaitu tb_koordinator). Dengan demikian, hanya data dari kedua tabel yang memiliki nilai id_koordinator yang sama yang akan di-join.
  • AND a.nama_team = 'jgteam': digunakan untuk menentukan kondisi filter untuk hasil join. Dalam hal ini, kita hanya ingin menampilkan data dari tabel tb_team yang memiliki nilai kolom nama_team yang sama dengan 'jgteam'. Dengan demikian, hanya data dari tabel tb_team yang memenuhi kondisi ini yang akan ditampilkan.

Dengan demikian, query di atas akan menghasilkan output berupa semua kolom dari tabel tb_team dan tb_koordinator yang memiliki nilai id_koordinator yang sama dan nilai nama_team yang sama dengan 'jgteam'.


Mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan inner join

Untuk mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan inner join dapat menggunakan perintah seperti di bawah ini

Query SELECT * FROM tb_team a INNER JOIN tb_koordinator b ON a.id_koordinator = b.id_koordinator merupakan sebuah perintah SQL yang digunakan untuk mengambil data dari dua tabel yaitu tb_team dan tb_koordinator dengan melakukan inner join berdasarkan kolom id_koordinator.

Inner join akan mengambil baris yang memiliki nilai yang sesuai pada kedua tabel dan menggabungkannya menjadi satu baris yang menampilkan semua kolom dari kedua tabel tersebut. Dalam query tersebut, a dan b adalah alias untuk masing-masing tabel, dan ON a.id_koordinator = b.id_koordinator merupakan kondisi untuk melakukan inner join pada kedua tabel.

SELECT * berarti kita ingin menampilkan semua kolom dari kedua tabel tersebut dalam hasil query.


Mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan left join

Untuk mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan left join dapat menggunakan perintah seperti di bawah ini

Query SELECT * FROM tb_team a LEFT JOIN tb_koordinator b ON a.id_koordinator = b.id_koordinator adalah sebuah perintah SQL yang digunakan untuk mengambil data dari dua tabel yaitu tb_team dan tb_koordinator dengan melakukan left join berdasarkan kolom id_koordinator.

Left join akan mengambil semua baris dari tabel kiri (tb_team) dan baris yang cocok dari tabel kanan (tb_koordinator) yang memenuhi kondisi yang diberikan. Jika tidak ada baris yang cocok di tabel kanan, maka nilai kolom dari tabel kanan akan bernilai NULL.

Dalam query tersebut, a dan b adalah alias untuk masing-masing tabel, dan ON a.id_koordinator = b.id_koordinator merupakan kondisi untuk melakukan left join pada kedua tabel.

SELECT * berarti kita ingin menampilkan semua kolom dari kedua tabel tersebut dalam hasil query.


Mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan right join

Untuk mengambil data dari tabel tb_team dan tb_koordinator dengan menggunakan right join dapat menggunakan perintah seperti di bawah ini

Query SELECT * FROM tb_team a RIGHT JOIN tb_koordinator b ON a.id_koordinator = b.id_koordinator adalah sebuah perintah SQL yang digunakan untuk mengambil data dari dua tabel yaitu tb_team dan tb_koordinator dengan melakukan right join berdasarkan kolom id_koordinator.

Right join akan mengambil semua baris dari tabel kanan (tb_koordinator) dan baris yang cocok dari tabel kiri (tb_team) yang memenuhi kondisi yang diberikan. Jika tidak ada baris yang cocok di tabel kiri, maka nilai kolom dari tabel kiri akan bernilai NULL.

Dalam query tersebut, a dan b adalah alias untuk masing-masing tabel, dan ON a.id_koordinator = b.id_koordinator merupakan kondisi untuk melakukan right join pada kedua tabel.

SELECT * berarti kita ingin menampilkan semua kolom dari kedua tabel tersebut dalam hasil query.


Mengganti nama tb_pengguna menjadi tb_anggota.

Untuk mengganti nama tb_pengguna menjadi tb_anggota dapat menggunakan perintah seperti dibawah ini 

Dalam contoh query di atas, perintah ALTER TABLE digunakan untuk merubah nama tabel tb_pengguna menjadi tb_anggota.

Untuk melakukan rename tabel, kita menggunakan kata kunci RENAME TO setelah nama tabel yang ingin diubah. Dalam contoh query di atas, kita menggunakan RENAME TO tb_anggota untuk merubah nama tabel menjadi tb_anggota.


Menambahkan kolom Team pada tb_anggota.

Untuk menambahkan kolom Team pada tb_anggota dapat menggunakan perintah seperti dibawah ini

  • ALTER TABLE tb_anggota: perintah untuk mengubah struktur tabel tb_anggota
  • ADD COLUMN team: perintah untuk menambahkan kolom baru bernama team
  • INT: tipe data kolom team adalah INT


Menambahkan relasi antara tb_anggota dan tb_team.

Untuk menambahkan relasi antara tb_anggota dan tb_team dapat menggunakan perintah seperti dibawah ini

Dalam hal ini, kita menambahkan constraint foreign key pada kolom team di tabel tb_anggota, yang merujuk ke kolom id_team di tabel tb_team. Dengan menambahkan relasi ini, kita dapat memastikan bahwa nilai pada kolom team di tabel tb_anggota selalu merujuk pada nilai yang valid dari kolom id_team di tabel tb_team.


Menghapus semua data pada semua tabel.

Untuk menghapus semua data pada semua tabel dapat menggunakan perintah seperti dibawah ini

Ini adalah serangkaian perintah SQL yang mengatur periksaan kunci asing menjadi 0 (false) sehingga perintah TRUNCATE TABLE dapat dilakukan pada tiga tabel: tb_anggota, tb_team, dan tb_koordinator.

TRUNCATE TABLE digunakan untuk menghapus semua data dari tabel tanpa mempertimbangkan kunci asing. Setelah semua tabel dikosongkan, perintah SET FOREIGN_KEY_CHECKS = 1 (true) digunakan untuk mengaktifkan kembali periksaan kunci asing.


Menambahkan data ke dalam tabel tb_koordinator dengan minimal 5 data.

Untuk menambahkan data ke dalam tabel tb_koordinator dengan minimal 5 data dapat menggunakan perintah seperti dibawah ini

Pernyataan SQL di atas merupakan perintah untuk memasukkan data ke dalam tabel "tb_koordinator" dengan kolom-kolom "id_koordinator" dan "nama". Terdapat lima data yang akan dimasukkan, yaitu "1, Ali", "2, Fatimah", "3, Hassan", "4, Zainab", dan "5, Husain".


Menambahkan data ke dalam tabel tb_team dengan minimal 6 data dan 2 data kosong untuk kolom id_koordinator.

Untuk menambahkan data ke dalam tabel tb_team dengan minimal 6 data dan 2 data kosong untuk kolom id_koordinator dapat menggunakan perintah seperti dibawah ini

Pernyataan SQL di atas merupakan perintah untuk memasukkan data ke dalam tabel "tb_team" dengan kolom-kolom "id_team", "nama_team", dan "id_koordinator". Terdapat enam data yang akan dimasukkan, yaitu "1, Al-Ahli, 1", "2, Al-Nassr, 2", "3, Al-Hilal, NULL", "4, Al-Ittihad, 3", "5, Al-Wahda, NULL", dan "6, Al-Shabab, 4".


Menambahkan data ke dalam tabel tb_anggota dengan minimal 60 data, dengan beberapa di antaranya memiliki nilai field team dari tb_team dan beberapa lainnya dengan nilai field team kosong.

Untuk menambahkan data ke dalam tabel tb_anggota dengan minimal 60 data, dengan beberapa di antaranya memiliki nilai field team dari tb_team dan beberapa lainnya dengan nilai field team kosong dapat menggunakan perintah seperti dibawah ini



Mengambil data dari ketiga tabel dengan nilai data null dari tabel tb_koordinator.

Untuk mengambil data dari ketiga tabel dengan nilai data null dari tabel tb_koordinator dapat menggunakan perintah seperti dibawah ini

SQL query tersebut melakukan RIGHT JOIN antara tiga tabel yaitu tb_anggota, tb_team, dan tb_koordinator. Query ini mengembalikan data dari kolom nama di tabel tb_anggota, nama_team di tabel tb_team, dan nama di tabel tb_koordinator. RIGHT JOIN digunakan untuk mengembalikan semua data dari tabel yang ada di sebelah kanan (tb_team dan tb_koordinator) dan hanya data yang sesuai di tabel yang ada di sebelah kiri (tb_anggota) yang diambil.


Mengambil data dari ketiga tabel tanpa nilai data null dari tabel tb_koordinator.

Untuk mengambil data dari ketiga tabel tanpa nilai data null dari tabel tb_koordinator dapat menggunakan perintah seperti dibawah ini

Pernyataan SQL di atas menggabungkan tiga tabel, yaitu tb_anggota, tb_team, dan tb_koordinator, menggunakan perintah INNER JOIN. Hasilnya adalah sebuah tabel yang menampilkan kolom nama_anggota, team, dan nama_koordinator. Kolom nama_anggota berasal dari tabel tb_anggota, kolom team berasal dari tabel tb_team, dan kolom nama_koordinator berasal dari tabel tb_koordinator. Tabel ini menghubungkan data antara ketiga tabel tersebut menggunakan kunci asing yang sudah ditentukan sebelumnya.


Mengambil data hanya dari field fullname pada tabel tb_koordinator dan fullname pada tabel tb_anggota tanpa nilai data null.

Untuk mengambil data hanya dari field fullname pada tabel tb_koordinator dan fullname pada tabel tb_anggota tanpa nilai data null dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas berguna untuk mengambil data dari tiga tabel yaitu tb_anggota, tb_team, dan tb_koordinator. Perintah INNER JOIN digunakan untuk menghubungkan data antara tb_anggota dengan tb_team berdasarkan kolom team, dan antara tb_team dengan tb_koordinator berdasarkan kolom id_koordinator. Dalam hasil output yang dihasilkan, akan terdapat kolom nama_koordinator dan nama_anggota yang masing-masing menampilkan data nama dari tb_koordinator dan tb_anggota yang telah terhubung melalui tabel tb_team. Dengan menggunakan perintah INNER JOIN, hanya data yang memiliki relasi yang sama antara ketiga tabel yang akan diambil, sehingga meminimalisir kesalahan dalam pengambilan data dan menghasilkan output yang lebih akurat.


Mengambil data hanya dari field fullname pada tabel tb_koordinator dan fullname pada tabel tb_anggota dengan nilai data null.

Untuk mengambil data hanya dari field fullname pada tabel tb_koordinator dan fullname pada tabel tb_anggota dengan nilai data null dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas berguna untuk mengambil data dari tiga tabel yaitu tb_anggota, tb_team, dan tb_koordinator. Perintah RIGHT JOIN digunakan untuk menghubungkan data antara tb_anggota dengan tb_team berdasarkan kolom team, dan antara tb_team dengan tb_koordinator berdasarkan kolom id_koordinator. Dalam hasil output yang dihasilkan, akan terdapat kolom nama_koordinator dan nama_anggota yang masing-masing menampilkan data nama dari tb_koordinator dan tb_anggota yang telah terhubung melalui tabel tb_team. Dengan menggunakan perintah RIGHT JOIN, semua data yang ada di tabel kanan (tb_koordinator) akan ditampilkan, bahkan jika tidak memiliki relasi dengan tabel kiri (tb_anggota dan tb_team). Namun, data yang tidak memiliki relasi akan ditampilkan dengan nilai NULL pada kolom yang terhubung.


Mengambil data dari ketiga tabel yang diurutkan berdasarkan fullname.

Untuk mengambil data dari ketiga tabel yang diurutkan berdasarkan fullname dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas berguna untuk mengambil data dari tiga tabel yaitu tb_anggota, tb_team, dan tb_koordinator. Perintah LEFT JOIN digunakan untuk menghubungkan data antara tb_anggota dengan tb_team berdasarkan kolom team, dan antara tb_team dengan tb_koordinator berdasarkan kolom id_koordinator. Dalam hasil output yang dihasilkan, akan terdapat kolom nama_anggota, nama_team, dan nama_koordinator yang masing-masing menampilkan data nama dari tb_anggota, tb_team, dan tb_koordinator yang telah terhubung melalui kolom team dan id_koordinator. Dalam perintah ini juga terdapat pengurutan data dengan menggunakan perintah ORDER BY a.nama ASC yang mengurutkan data berdasarkan kolom nama pada tabel tb_anggota secara ascending. Dengan menggunakan perintah LEFT JOIN, semua data yang ada di tabel kiri (tb_anggota) akan ditampilkan, bahkan jika tidak memiliki relasi dengan tabel kanan (tb_team dan tb_koordinator). Namun, data yang tidak memiliki relasi akan ditampilkan dengan nilai NULL pada kolom yang terhubung.


Menghitung jumlah anggota berdasarkan team.

Untuk menghitung jumlah anggota berdasarkan team dapat menggunakan perintah seperti dibawah ini

Query diatas digunakan untuk mengambil data dari tiga tabel, yaitu "tb_anggota," "tb_team," dan "tb_koordinator." Query ini memilih nama tim dari tabel "tb_team" dan menghitung jumlah anggota di setiap tim dari tabel "tb_anggota." Selain itu, query ini melakukan left join antara tabel "tb_anggota" dan "tb_team," dan left join antara tabel "tb_team" dan "tb_koordinator" berdasarkan foreign key masing-masing. Terakhir, query mengelompokkan hasilnya berdasarkan nama tim menggunakan klausa "GROUP BY". Secara keseluruhan, query ini dirancang untuk mengambil jumlah anggota di setiap tim beserta nama tim mereka, dan nama koordinator mereka dari tabel "tb_koordinator".



Menghitung jumlah anggota berdasarkan fullname pada tabel tb_koordinator yang memiliki anggota lebih dari atau sama dengan 5.

Untuk menghitung jumlah anggota berdasarkan fullname pada tabel tb_koordinator yang memiliki anggota lebih dari atau sama dengan 5 dapat menggunakan perintah seperti dibawah ini


SQL query tersebut digunakan untuk mengambil data dari tiga tabel yaitu "tb_anggota", "tb_team" dan "tb_koordinator". Query ini menggunakan klausa "RIGHT JOIN" untuk menghubungkan tabel "tb_anggota" dengan "tb_team", dan tabel "tb_team" dengan "tb_koordinator" berdasarkan foreign key masing-masing. Kemudian, query melakukan pengelompokan berdasarkan nama koordinator menggunakan klausa "GROUP BY", dan menghitung jumlah anggota di bawah setiap koordinator menggunakan fungsi COUNT(). Terakhir, query menggunakan klausa "HAVING" untuk memfilter hasil query hanya menampilkan data koordinator yang memiliki jumlah anggota 5 atau lebih. Dengan demikian, query ini digunakan untuk mengambil data koordinator beserta jumlah anggota di bawahnya yang memenuhi kriteria yang telah ditentukan.


Membuat view dari data pada poin 26.

Untuk membuat view dari data pada poin 26 dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas membuat sebuah view bernama v_koordinator_anggota yang diambil dari  query SELECT c.nama as nama_koordinator, a.nama as nama_anggota FROM tb_anggota a RIGHT JOIN tb_team b ON a.team = b.id_team RIGHT JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator



Membuat tabel sementara dari data pada poin 26.

Untuk membuat tabel sementara dari data pada poin 26 dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas membuat sebuah table temporary bernama temp_koordinator_anggota yang diambil dari  query SELECT c.nama as nama_koordinator, a.nama as nama_anggota FROM tb_anggota a RIGHT JOIN tb_team b ON a.team = b.id_team RIGHT JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator


Menghapus semua data pada tabel sementara.

Untuk menghapus semua data pada tabel sementara dapat menggunakan perintah seperti dibawah ini


Menambahkan data ke dalam tabel sementara dari view.

Untuk menambahkan data ke dalam tabel sementara dari view dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas menambahkan data ke table sementara yang diambil dari view yang bernama v_koordinator_anggota 


Menambahkan kolom Captain dengan tipe data Boolean.

Untuk menambahkan kolom Captain dengan tipe data Boolean dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas akan menambahkan kolom baru bernama "captain" pada tabel "tb_anggota". Kolom ini memiliki tipe data boolean dan akan memiliki nilai default false untuk setiap baris yang baru ditambahkan pada tabel.


Memperbarui data pada tabel tb_anggota agar setiap team memiliki 1 captain.

Untuk memperbarui data pada tabel tb_anggota agar setiap team memiliki 1 captain dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas akan mengubah nilai kolom "captain" pada tabel "tb_anggota" menjadi "true" pada baris yang memenuhi kriteria yang ditentukan pada klausa WHERE. Kriteria yang digunakan adalah nilai kolom "userid" harus sama dengan salah satu dari nilai pada daftar nilai ('abdul.aziz', 'amina.ahmed', 'aisha.khalifa', 'yusuf.ali', 'abdulloh.dosari'). Dengan perintah ini, baris yang memiliki nilai "userid" seperti yang telah disebutkan akan diberi tanda sebagai kapten pada tabel "tb_anggota". Dengan asumsi bahwa abdul.aziz captain team 1 amina.ahmed captain team 2 aisha.khalifa captain team 3 yusuf.ali captain team 4 abdullah.dosari captain team 5. Dan tanpa disadari dari tabel tb_anggota tidak ada yang memilih team 6.


Menambahkan kolom jenis_kelamin dengan tipe data Enum.

Untuk menambahkan kolom jenis_kelamin dengan tipe data Enum dapat menggunakan perintah seperti dibawah ini

Perintah SQL di atas akan menambahkan sebuah kolom baru dengan nama "jenis_kelamin" ke dalam tabel "tb_anggota". Kolom tersebut akan memiliki tipe data ENUM dengan nilai yang diterima hanya 'Laki-Laki' atau 'Perempuan'. Dengan menambahkan kolom jenis_kelamin, tabel "tb_anggota" akan memiliki kolom baru yang dapat menyimpan informasi tentang jenis kelamin dari masing-masing anggota dalam tim


Memperbarui data pada tabel tb_anggota untuk kolom jenis_kelamin.

Untuk memperbarui data pada tabel tb_anggota untuk kolom jenis_kelamin dapat menggunakan perintah seperti dibawah ini

Diatas merupakan query untuk menambahkan pengguna dengan jenis kelamin Laki-Laki pada kumpulan query pertama dan Perempuan untuk kumpulan query kedua


Mengambil data dari ketiga tabel yang diurutkan berdasarkan fullname.

Untuk mengambil data dari ketiga tabel yang diurutkan berdasarkan fullname dapat menggunakan perintah seperti dibawah ini







Subscribe to receive free email updates:

0 Response to "PRAKTIKUM 1 DATABASE"

Posting Komentar