PRAKTIKUM DATABASE


 Hallo Wong Sekabean, Pie Kabare? Sehat lah yaa. Kali ini saya berkesampatan untuk menyelesaikan tugas Praktikum Database MYSQL menggunakan CLI, nah  yuk baca dan cermati. Terimakasih.

    1. CREATE TABLE tb_pengguna

Untuk membuat tabel "pengguna" dalam database belajar, kita menggunakan bahasa SQL. Contoh sintaks SQL untuk membuat tabel "pengguna" memiliki beberapa kolom, seperti ID pengguna, nama, email, dan no telpon. 
  • Ketikan use belajar; untuk masuk ke suatu database disini saya memakai database belajar. Lalu setelah changed lanjutkan sintak untuk mengisi tabel yang akan dibuat. Nah berikut contoh sintaknya;

 ID pengguna digunakan untuk mengidentifikasi setiap pengguna secara unik, sedangkan kolom lain digunakan untuk menyimpan informasi pengguna seperti nama,email, dan no telpon. Kita menentukan tipe data yang sesuai untuk setiap kolom, seperti bilangan bulat untuk ID, dan string (teks) untuk nama, email sedangkan no telpon menngunakan integer. Selain itu, kita juga dapat menambahkan beberapa batasan, seperti kolom email harus memiliki nilai yang unik di setiap baris. Setelah menulis sintaks SQL, kita dapat mengeksekusi perintah tersebut di perangkat lunak database agar tabel "pengguna" terbuat dan siap digunakan untuk menyimpan data pengguna.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:


    2. Added Unique Into Tablefield : Email

  • Ketikan perintah ini ALTER TABLE `tb_pengguna` ADD UNIQUE INDEX `idx_uniq_tb_pengguna` (`email`);


ALTER TABLE: perintah ini digunakan untuk mengubah struktur tabel yang sudah ada.
tb_pengguna: nama tabel yang akan diubah.
ADD: perintah untuk menambahkan indeks baru pada tabel.
UNIQUE INDEX: jenis indeks yang akan dibuat. Indeks unik memastikan bahwa nilai pada kolom tersebut tidak boleh duplikat.
idx_uniq_tb_pengguna: nama indeks unik yang akan dibuat. Nama indeks ini dapat disesuaikan dengan kebutuhan pengguna.
email: nama kolom yang akan diindeks.
Dengan menambahkan indeks unik pada kolom email, sistem database akan memastikan bahwa setiap nilai pada kolom email harus unik dan tidak boleh duplikat. Ini berguna untuk memastikan integritas data dan mencegah kesalahan data pada tabel tb_pengguna.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:


    3. Added Index Into Tablefield : nama, no_telp

  • Ketikan perintah ini ALTER TABLE `tb_pengguna` ADD INDEX `index_fn_no_telp_pengguna` (`nama`,`no_telp`);

Dalam perintah tersebut, kita menggunakan ADD INDEX untuk menambahkan indeks ke tabel, kemudian menyebutkan nama indeks yang akan ditambahkan, dan kolom-kolom yang akan diindeks di dalam tanda kurung. index_fn_no_telp_pengguna yaitu nama indeks baru yang akan dibuat. Nama indeks ini dapat disesuaikan dengan kebutuhan pengguna. (nama,no_telp) yaitu kolom-kolom yang akan diindeks. Dengan menambahkan indeks pada kolom nama dan no_telp, sistem database akan lebih cepat mencari data pada tabel tb_pengguna yang memiliki nilai pada kedua kolom tersebut. Indeks ini berguna untuk mempercepat kinerja sistem ketika melakukan query yang menggunakan kolom-kolom yang diindeks. 
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:


    4. Edit Field Data Type

  • Ketikan perintah ALTER TALE `tb_pengguna` CHANGE COLUMN `no_telp` BIGINT NOT NULL DEFAULT 0 AFTER `email`;

perintah tersebut mengubah tipe data kolom no_telp dari tipe data sebelumnya ke tipe data BIGINT, serta menetapkan bahwa kolom tersebut tidak dapat bernilai NULL dan akan memiliki nilai default 0.
Selain itu, perintah ini juga mengubah posisi kolom no_telp sehingga akan ditempatkan setelah kolom email. Secara keseluruhan, perintah ini digunakan untuk melakukan perubahan pada struktur tabel tb_pengguna agar sesuai dengan kebutuhan aplikasi atau sistem yang memanfaatkannya.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:


    5. Insert Data Into Table tb_pengguna

  • Ketikan perintah INSERT INTO `tb_pengguna` VALUES ('sintha.wulan', 'Sintha Wulan', 'sintha.wulan@student.email', '083823511774');
  • Note gambar dibawah saya menambahkan 5 data tb_pengguna sekaligus jadi sintaknya seperti dibawah:

INSERT INTO perintah SQL untuk memasukkan data baru ke dalam tabel 'tb_pengguna'. Data yang dimasukkan meliputi username 'sintha.wulan', nama pengguna 'Sintha Wulan', alamat email 'sintha.wulan@student.email', dan nomor telepon '083823511774'.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:

    6. Create Table tb_team field : id_team, nama_team, id_koordinator

  • Ketikan perintah ini CREATE TABLE `tb_team` (
    -> `id_team` INT(11) NOT NULL AUTO_INCREMENT,
    -> `nama_team` VARCHAR(50) NULL DEFAULT NULL,
    -> `id_koordinator` INT(11) NULL DEFAULT NULL,
    -> PRIMARY KEY (`id_team`) USING BTREE
    -> );


Ada tiga kolom yang didefinisikan dalam perintah tersebut. Kolom pertama adalah "id_team" dengan tipe data INT dan ukuran 11 digit. Kolom ini akan secara otomatis bertambah nilainya (AUTO_INCREMENT), yang artinya setiap kali data baru ditambahkan ke dalam tabel, nilai di kolom ini akan bertambah secara otomatis. Kolom kedua adalah "nama_team" dengan tipe data VARCHAR dan panjang maksimum 50 karakter. 
Kolom ini boleh kosong (NULL) dan jika kosong, nilai default-nya juga kosong. Kolom ketiga adalah "id_koordinator" dengan tipe data INT dan ukuran 11 digit. Kolom ini boleh kosong (NULL) dan jika kosong, nilai default-nya juga kosong. Kolom yang dijadikan PRIMARY KEY adalah "id_team". Ini berarti setiap baris dalam tabel memiliki nilai yang unik di kolom "id_team". Indeks yang digunakan adalah BTREE.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:


    7. Create Table tb_koordinator field : id_koordinator, nama

  • Ketikan perintah ini  CREATE TABLE `tb_koordinator` (
    -> `id_koordinator` INT(11) NOT NULL,
    -> `nama` VARCHAR(50) NULL DEFAULT NULL,
    -> PRIMARY KEY (`id_koordinator`) USING BTREE,
    -> UNIQUE INDEX `nama` (`nama`) USING BTREE
    -> );


Ada dua kolom yang didefinisikan dalam perintah tersebut. Kolom pertama adalah "id_koordinator" dengan tipe data INT dan ukuran 11 digit. Kolom ini tidak boleh kosong (NOT NULL) dan nilainya harus unik untuk setiap baris dalam tabel. Kolom kedua adalah "nama" dengan tipe data VARCHAR dan panjang maksimum 50 karakter. Kolom ini boleh kosong (NULL) dan jika kosong, nilai default-nya juga kosong. Kolom "id_koordinator" dijadikan PRIMARY KEY, sehingga setiap baris dalam tabel memiliki nilai yang unik di kolom "id_koordinator". Indeks yang digunakan adalah BTREE. Selain itu, kita juga mendefinisikan indeks unik (UNIQUE INDEX) di kolom "nama". Ini berarti nilai di kolom "nama" harus unik untuk setiap baris dalam tabel. Indeks yang digunakan juga adalah BTREE.
  • Ketikan perintah desc tb_pengguna; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:



    8.  Add Constraint FOREIGN KEY  untuk table tb_team & tb_koordinator dengan configurasi     tambahan : UPDATE CASCADE ON DELETE CASCADE

  • Ketikan perintah ini ALTER TABLE tb_team ADD CONSTRAINT FK_idk_idk FOREIGN KEY (`id_koordinator`) REFERENCES tb_koordinator (`id_koordinator`) ON UPDATE CASCADE ON DELETE CASCADE;

"ADD CONSTRAINT" digunakan untuk menambahkan sebuah constraint pada tabel. Kita memberikan nama constraint tersebut dengan "FK_idk_idk". "REFERENCES" digunakan untuk menentukan tabel dan kolom referensi nah dalam hal ini tb_koordinator adalah tabel referensi. "ON UPDATE CASCADE" dan "ON DELETE CASCADE" Dalam hal ini, ketika nilai di kolom "id_koordinator" pada tabel "tb_koordinator" diubah atau dihapus, maka nilai di kolom "id_koordinator" pada tabel "tb_team" juga akan diubah atau dihapus secara otomatis (CASCADE).

    9. Create Table tb_team field : id_team, nama_team, id_koordinator

  • Perintah "INSERT INTO tb_koordinator VALUES (1,'Pak Tophan'),(2,'Pak Dzikri'),(3,'Pak Egi');", data baru dimasukkan ke dalam tabel "tb_koordinator". Ada tiga data yang dimasukkan, yaitu id_koordinator = 1 dengan nama = "Pak Tophan", id_koordinator = 2 dengan nama = "Pak Dzikri", dan id_koordinator = 3 dengan nama = "Pak Egi".
  • Perintah SELECT * FROM tb_koordinator digunakan untuk menampilkan semua data yang ada di dalam tabel tb_koordinator;

Pada tabel tb_team, kita telah menamahkan kolom id_koordinator sebagi foreign key Selanjutnya, pada perintah "INSERT INTO tb_team VALUES (1, 'Database', 1),(2, 'Linux', 2);", data baru dimasukkan ke dalam tabel "tb_team". Ada dua data yang dimasukkan, yaitu id_team = 1 dengan nama_team = "Database" dan id_koordinator = 1, serta id_team = 2 dengan nama_team = "Linux" dan id_koordinator = 2.

  • Perintah SELECT * FROM tb_team; digunakan untuk menampilkan semua data yang ada di dalam tabel tb_team;


    10. Insert Into Table tb_team And tb_koordinator

  • Perintah SELECT * FROM tb_pengguna, SELECT * FROM tb_koordinator dan SELECT * FROM tb_team digunakan untuk menampilkan semua data yang ada di dalam tabel tb_ pegguna, tb_koordinator dan tb_team.


    11. Create Table tb_koordinator field : id_koordinator, nama

  • Perintah "SELECT nama FROM tb_pengguna" digunakan untuk mengambil data dari sebuah tabel bernama "tb_pengguna". Dalam hal ini, perintah tersebut meminta untuk mengambil nilai kolom "nama" dari setiap baris dalam tabel "tb_pengguna". Contoh nya seperti dibawah ini disini saya mengambil sebuah data nama yang ada di tb_pengguna.
  • Begitupun dengan tb_team dan tb_koordinator saya hanya menganbil data nama  perintahnya sama seperti tb_pengguna.



    12. Create Table tb_koordinator field : id_koordinator, nama

  • Perintah "SELECT * FROM tb_pengguna where nama like 'Chandra%' " digunakan untuk mengambil semua data dari tabel "tb_pengguna" dimana nilai kolom "nama" dimulai dengan kata "Chandra". Contoh nya seperti dibawah ini disini saya mengambil sebuah data nama  yang dimulai dengan kata Chandra pada tb_pengguna.
  • Begitupun dengan tb_team dan tb_koordinator saya hanya menganbil sebuah kata awalan yang diambil dari tabel tersebut perintahnya sama seperti tb_pengguna.

    13. Create Table tb_koordinator field : id_koordinator, nama

  • Perintah "SELECT * FROM tb_team AS a INNER JOIN tb_koordinator AS b ON a.id_koordinator = b.id_koordinator" digunakan untuk melakukan operasi JOIN pada dua tabel yaitu "tb_team" dan "tb_koordinator":

Ketika perintah tersebut dijalankan, sistem akan mengambil semua kolom dari kedua tabel dan melakukan operasi JOIN untuk menggabungkan data dari kedua tabel tersebut berdasarkan nilai kolom "id_koordinator" yang sama. Hasilnya akan berupa gabungan dari kedua tabel dengan kolom-kolom yang sesuai. Sebagai contoh, jika ada dua baris yang memiliki nilai "id_koordinator" yang sama pada tabel "tb_team" dan "tb_koordinator", maka kedua baris tersebut akan digabungkan menjadi satu baris dan nilai kolom dari masing-masing tabel akan ditampilkan dalam satu baris.

    14. Create Table tb_koordinator field : id_koordinator, nama

  • Perintah "SELECT * FROM tb_team AS a LEFT JOIN tb_koordinator AS b ON a.id_koordinator = b.id_koordinator" digunakan untuk melakukan operasi LEFT JOIN pada dua tabel yaitu "tb_team" dan "tb_koordinator":

Ketika perintah tersebut dirunkan, sistem akan mengambil semua kolom dari kedua tabel dan melakukan operasi LEFT JOIN untuk menggabungkan data dari kedua tabel tersebut berdasarkan nilai kolom "id_koordinator" yang sama. Hasilnya akan berupa gabungan dari kedua tabel dengan kolom-kolom yang sesuai, dengan semua baris dari tabel "tb_team" ditampilkan dan nilai NULL pada kolom-kolom dari tabel "tb_koordinator" jika tidak ditemukan nilai kolom yang sesuai pada tabel "tb_team".

    15. Create Table tb_koordinator field : id_koordinator, nama

  • Perintah "SELECT * FROM tb_team AS a RIGHT JOIN tb_koordinator AS b ON a.id_koordinator = b.id_koordinator" digunakan untuk melakukan operasi RIGHT JOIN pada dua tabel yaitu "tb_team" dan "tb_koordinator".

Ketika perintah tersebut dieksekusi, sistem akan mengambil semua kolom dari kedua tabel dan melakukan operasi RIGHT JOIN untuk menggabungkan data dari kedua tabel tersebut berdasarkan nilai kolom "id_koordinator" yang sama. Hasilnya akan berupa gabungan dari kedua tabel dengan kolom-kolom yang sesuai, dengan semua baris dari tabel "tb_koordinator" ditampilkan dan nilai NULL pada kolom-kolom dari tabel "tb_team" jika tidak ditemukan nilai kolom yang sesuai pada tabel "tb_koordinator".

 16.  Rename Tb_pengguna To Tb_anggota   

  • Pertama tama masuklah ke database belajar lalu ketikan perintah show tables; untuk melihat apakah ada tb_pengguna
  • Setelah itu masukkan perintah ALTER TABLE tb_pengguna RENAME TO tb_anggota; 
  • Nah perintah diatas adalah perintah untuk menggantikan nama suatu table dari awalnya tb_pengguna diganti jadi tb_anggota, jika berhasil maka akan seperti tampilan dibawah ini;

  • Lalu jika berhasil lalukan lagi perintah show tables; untuk melihat apakah nama tabel tersebut sudah diganti atau belum.



 17. Add Column Team On Tb_anggota 

  • Ketikan perintah ALTER TABLE tb_anggota ADD COLUMN team INT; 

  • Perintah ALTER TABLE digunakan buat mengubah struktur pada tabel di dalam sebuah database. Pada contoh perintah ALTER TABLE tb_anggota ADD COLUMN team INT;, perintah ini akan menambahkan suatu kolom baru yang bernama team dengan tipe data nya yaitu INT (Integer) ke dalam tabel tb_anggota.  Nah dengan menambahkan kolom baru ke dalam tabel, kita dapat menyimpan informasi tambahan mengenai data di dalam tabel tersebut.
  • Setelah berhasil ketikan perintah select * from tb_anggota; untuk melihat apakah sudah ada kolom team, berikut gambar kolom team nya muncul:


 18. Add Relation Between Tb_anggota And Tb_team  

  •  Ketikan printah ALTER TABLE tb_anggota ADD CONSTRAINT fk_team_id FOREIGN KEY (team) REFERENCES tb_team(id_team);

  • Perintah ALTER TABLE dengan syntax ADD CONSTRAINT digunakan untuk menambahkan constraint atau batasan pada struktur sebuah tabel di dalam database. Pada contoh perintah ALTER TABLE tb_anggota ADD CONSTRAINT fk_team_id FOREIGN KEY (team) REFERENCES tb_team(id_team);, perintah ini akan menambahkan sebuah foreign key constraint pada kolom team di dalam tabel tb_anggota.Dalam perintah ini, fk_team_id adalah nama dari constraint baru yang akan ditambahkan. Constraint ini akan berupa foreign key yang menghubungkan kolom team di dalam tabel tb_anggota dengan kolom id_team di dalam tabel tb_team.
  • Ketikan perintah desc tb_anggota; untuk mendeskripsikan struktur sebuah tabel, berikut contoh outputnya:
  

 19. Truncate All Table 

  • Ketikan perintah SET FOREIGN_KEY_CHECKS =0;
  • Perintah SET FOREIGN_KEY_CHECKS = 0; digunakan untuk menonaktifkan cek konsistensi foreign key pada server MySQL, nah penggunaan tersebut dilakukan agar dapat membantu menghindari terjadinya eror waktu operasi  dilakukan atau dijalankan.
  • Ketikan perintah TRUNCATE TABLE tb_pengguna;
  • Perintah TRUNCATE TABLE digunakan untuk menghapus semua data (baris) dalam sebuah tabel tanpa menghapus struktur tabel itu sendiri, untuk tabel yang akan dihapus semuua data disesuikan dengan kebutuhan masing masing ya. Kalo disini saya akan menghapus semua data pada 3 tabel yang ada di database belajar.
  • Ketikan perintah SET FOREIGN_KEY_CHECKS = 1;
  • Perintah SET FOREIGN_KEY_CHECKS = 1; digunakan untuk mengaktifkan kembali cek konsistensi foreign key pada server MySQL.

 20Insert Data Into Table tb_koordinatorat least 5 data 

  • Pertama tama masukkan 5 data yang akan dimasukkan dalam tabel koordinator, Nah berikut sintaknya: 

  • Tabel tb_koordinator memiliki fungsi sebagai tempat penyimpanan data atau informasi mengenai koordinator dalam sebuah organisasi atau perusahaan.


 

 21Insert Data Into Table tb_team at least 6 data with 2 data null for column id_koordinator

  • Ketikan perintah seperti gambar dibawah ini:
  • Perintah di atas akan memasukkan 6 baris data ke dalam tabel 'tb_team' dengan kolom 'nama_team' dan 'idteam' diisi dengan nilai yang diberikan, sementara kolom 'id_koordinator' diisi dengan nilai NULL pada 2 baris pertama dan 4 baris lainnya diisi dengan nilai koordinator yang sesuai. Perintah ini berguna ketika ada beberapa data yang tidak memiliki nilai untuk kolom tertentu, seperti pada kasus ini, di mana beberapa tim mungkin belum memiliki koordinator yang ditunjuk saat ini.
  • Berikut adalah hasil ouputnya:

 22. Insert Data Into Table tb_anggotaat least 60 data with some of =  field team from tb_team and some field team with null values  

  • Perintah INSERT INTO digunakan untuk menambahkan data ke dalam tabel tb_anggota. Di dalam nilai VALUES, terdapat beberapa data dengan format (value1, value2, value3,), yang mewakili nilai yang akan dimasukkan ke dalam kolom fullname, email, dan team. Beberapa data memiliki nilai pada kolom team yang sama dengan data pada kolom team di tabel tb_team, sedangkan beberapa data lainnya memiliki nilai NULL pada kolom team.
  • Perintah sintaknya dibawah ini:


  • Masukan perintah select * from tb_anggota; untuk melihat data yang ada di tb_anggota, berikut contohnya:

         

 23Get Data From 3 All Table With Null Data From Table Tb_koordinator  

  • Ketikan perintah SELECT a.nama as nama , b.nama_team as team, c.nama as koordinator 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;

  • Perintah ini akan menghasilkan sebuah tabel hasil seleksi dengan tiga kolom yaitu nama, team, dan koordinator. Kolom nama akan berisi nama-nama anggota dari tabel tb_anggota, kolom team akan berisi nama tim dari tabel tb_team, dan kolom koordinator akan berisi nama koordinator dari tabel tb_koordinator. Ketiga tabel ini dihubungkan menggunakan operasi RIGHT JOIN. Artinya, semua data yang ada di tabel tb_team dan tb_koordinator akan diambil, dan data yang sesuai dari tabel tb_anggota akan diambil juga. Jika ada data yang tidak ada padanan di tabel tb_anggota, maka akan ditampilkan NULL di kolom nama.

  • Berikut adalah hasil ouputnya:


 24. Get Data From 3 All Table Without Null Data From Table Tb_koordinator

  • Ketikan perintah SELECT a.nama as nama , b.nama_team as team, c.nama as koordinator FROM tb_anggota a INNER JOIN tb_team b ON a.team = b.id_team INNER JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;

  • Perintah ini akan menghasilkan sebuah tabel hasil seleksi dengan tiga kolom yaitu nama, team, dan koordinator. Kolom nama akan berisi nama-nama anggota dari tabel tb_anggota, kolom team akan berisi nama tim dari tabel tb_team, dan kolom koordinator akan berisi nama koordinator dari tabel tb_koordinator. Ketiga tabel ini dihubungkan menggunakan operasi INNER JOIN. Artinya, hanya data yang ada di semua tabel yang akan diambil. Data yang tidak ada padanan di salah satu tabel tidak akan ditampilkan.

  • Berikut adalah hasil ouputnya:

 25Get Data only field fullname from tb_koordinator and fullname from tb_anggota without null data   

  • Ketikan perintah seperti dibawah ini:
  • Peruntah ini mengambil data dari tiga tabel: "tb_anggota", "tb_team", dan "tb_koordinator", dan melakukan penggabungan data (join) antara ketiganya. Pada hasil penggabungan data, hanya baris yang memiliki nilai yang cocok pada kedua tabel yang digabungkan yang akan dimunculkan. Kolom yang dipilih untuk ditampilkan adalah "c.nama" dari tabel tb_koordinator (nama_koordinator) dan "a.nama" dari tabel tb_anggota (nama_anggota).

  • Berikut adalah hasil outputnya:


26 Get Data only field fullname from tb_koordinator and fullname from tb_anggota with null data     

  • Ketikan perintah ini 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;, berikut adalah gambar sintaknya:

  • Perintah ini melakukan penggabungan data (join) dari tiga tabel yaitu "tb_anggota", "tb_team", dan "tb_koordinator". Menggunakan jenis right join, dengan mengambil semua baris dari tabel di sebelah kanan join dan hanya baris yang memiliki nilai cocok di tabel sebelah kiri join yang dimasukkan dalam hasil penggabungan data. Kolom yang dipilih untuk ditampilkan adalah "c.nama" dari tabel tb_koordinator (nama_koordinator) dan "a.nama" dari tabel tb_anggota (nama_anggota).

  • Nah berikut adalah outputnya:

27Get Data From 3 All Table Sort By Fullname      

  •  Ketikan perintah ini select c.nama as nama_koordinator, a.nama as nama_anggota from tb_anggota a LEFT JOIN tb_team b ON a.team = b.id_team LEFT JOIN tb_koordinator c ON b.id_koordinator = c.id_koordinator;, berikut adalah gambar sintaknya:

  • Pernyataan SQL ini melakukan penggabungan data (join) dari tiga tabel yaitu "tb_anggota", "tb_team", dan "tb_koordinator". Menggunakan jenis left join, dengan mengambil semua baris dari tabel di sebelah kiri join dan hanya baris yang memiliki nilai cocok di tabel sebelah kanan join yang dimasukkan dalam hasil penggabungan data. Kolom yang dipilih untuk ditampilkan adalah "c.nama" dari tabel tb_koordinator (nama_koordinator) dan "a.nama" dari tabel tb_anggota ( nama_anggota).

  • Nah berikut otputnya:



28 Count The Number Of Members Based On The Team 

  • Ketikan perintah select b.nama_team AS team, COUNT(a.team) AS jumlah_anggota FROM tb_anggota a RIGHT JOIN tb_team b ON a.team GROUP BY b.nama_team;, seperti gambar dibawah ini:

  • Pada perintah "SELECT b.nama_team AS team, COUNT(a.team) AS jumlah_anggota", ditampilkan kolom "nama_team" dari tabel "tb_team" dengan alias "team", dan jumlah anggota pada setiap tim dari tabel "tb_anggota" menggunakan fungsi COUNT dengan alias "jumlah_anggota".Kemudian, pada perintah "FROM tb_anggota a RIGHT JOIN tb_team b ON a.team", dilakukan operasi RIGHT JOIN antara tabel "tb_anggota" dan "tb_team" dengan membandingkan kolom "team" dari masing-masing tabel.Pada perintah "GROUP BY b.nama_team", hasil join antara kedua tabel dikelompokkan berdasarkan nama tim pada kolom "nama_team" dari tabel "tb_team" dengan menggunakan perintah GROUP BY. 
  • Sehingga, hasil query tersebut akan menampilkan daftar nama tim dan jumlah anggota pada setiap timnya dari kedua tabel tersebut, dengan mengelompokkan hasil sesuai dengan nama tim.

29Count The Number Of Members Based On Fullname On Tb_koordinator That Has Members More Than Or Equal To 5.   

  • Ketikan perintah SELECT c.nama AS nama_koordinator, COUNT(a.userid) AS jumlah_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 GROUP BY c.nama HAVING COUNT(a.userid) >= 5;, seperti gambar dibawah ini:

  • Perintah tersebut adalah sebuah query yang menampilkan data jumlah anggota pada setiap koordinator dari tiga tabel yaitu "tb_anggota", "tb_team", dan "tb_koordinator". Hasil query tersebut hanya menampilkan data untuk koordinator yang memiliki 5 anggota atau lebih pada setiap timnya.

30. Create View From Data On Point 26  

  •  Ketikan perintah CREATE VIEW v_koordinator_anggota AS 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;, seperti gambar dibawah ini:
  • untuk nama view disesuikan dengan kebutuhan masing masing ya.
  • Perintah tersebut adalah sebuah perintah untuk membuat sebuah view (pandangan virtual) dengan nama "v_koordinator_anggota". View ini akan menampilkan data dari tiga tabel yaitu "tb_anggota", "tb_team", dan "tb_koordinator". View ini menghubungkan ketiga tabel tersebut dengan menggunakan operasi JOIN pada kolom "team" dan "id_koordinator" untuk menampilkan data koordinator dan anggota pada setiap tim. Setelah view dibuat, kita dapat menggunakan view tersebut untuk menampilkan data koordinator dan anggota tanpa harus melakukan JOIN lagi pada tiga tabel tersebut.

  • Berikut adalah outputnya:


31Create Temporary Table From Data On Point 26    

  • Ketikan perintah CREATE TABLE temp_koordinator_anggota AS 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;, seperti gamar dibawah ini:

  • Perintah ini digunakan untuk membuat sebuah tabel sementara (temporary table) yang berisi daftar nama koordinator dan anggota dari setiap tim dalam sebuah organisasi. Dalam prosesnya, perintah ini menggunakan operasi JOIN untuk menghubungkan tiga tabel yang berbeda sehingga dapat memperoleh informasi yang terkait dari ketiga tabel tersebut.

  • Nah berikut adalah outputnya:

32. Truncate Table Temporary    

  • Ketikan perintah TRUNCATE temp_koordinator_anggota;, seperti gambar diabah ini;
  • Perintah TRUNCATE TABLE digunakan untuk menghapus semua data (baris) dalam sebuah tabel tanpa menghapus struktur tabel itu sendiri, untuk tabel yang akan dihapus semuua data disesuikan dengan kebutuhan masing masing ya. Kalo disini saya akan menghapus semua data pada temp_koordinator_anggota.
  • Selanjutnya jika berhasil check dulu apakah data yang ada di pada tabel udah kehapus apa belum, nah perintahnya yaitu SELECT * FROM temp_koordinator_anggota;

      

33. Insert Data Into Table Temporary From View 

  • Ketikan perintah INSERT INTO temp_koordinator_anggota select * from v_koordinator_anggota;, seperti gambar dibawah ini:
  • Perintah ini digunakan untuk memasukkan data ke dalam tabel sementara yang sudah dibuat sebelumnya (temp_koordinator_anggota). Data yang dimasukkan berasal dari tabel view yang disebut v_koordinator_anggota. Perintah ini menggunakan perintah INSERT INTO yang diikuti dengan nama tabel sementara dan diikuti dengan perintah SELECT. Perintah SELECT digunakan untuk memilih semua kolom dari tabel view v_koordinator_anggota. Dengan demikian, perintah ini akan menambahkan semua data dari tabel view v_koordinator_anggota ke dalam tabel sementara temp_koordinator_anggota.

34. Add Column Captain Using Data Type Boolean     

  • Ketikan perintah ALTER TABLE tb_anggota ADD COLUMN captain BOOLEAN DEFAULT false;, seperti gambat dibawah ini:

  • Perintah ini digunakan untuk menambahkan sebuah kolom baru pada tabel tb_anggota. Kolom baru ini diberi nama captain dan memiliki tipe data BOOLEAN. Perintah DEFAULT false menunjukkan bahwa nilai default kolom ini adalah false (atau 0). Dengan demikian, setiap kali sebuah baris baru ditambahkan ke dalam tabel tb_anggota, kolom captain akan memiliki nilai default false.

  • Nah berikut outputnya:


35Update Data tb_anggota For Rach Team Have 1 Captain  

  • Ketikan perintah UPDATE tb_anggota SET captain=TRUE WHERE userid IN ('sintha.wulan', 'rita.putri', 'rina.puspita', 'wati.fatimiah');, seperti gambar dibawah ini:
  • Untuk nama disesuaikan masing masing ya dan sesuikan juga team yyang kita punya ada berapa.

  • Perintah ini digunakan untuk mengubah nilai kolom captain pada tabel tb_anggota menjadi TRUE untuk setiap baris di mana nilai userid-nya sama dengan salah satu dari daftar nilai yang diberikan dalam klausa IN. Dalam contoh ini, nilai userid yang dibandingkan adalah 'sintha.wulan', 'rita.putri', 'rina.puspita', dan 'wati.fatimiah'. Jadi, baris yang memiliki nilai userid yang sama dengan salah satu dari nilai-nilai tersebut akan diupdate dengan nilai captain yang baru, yaitu TRUE.

  • Berikut adalah outputnya:

             

36Get Data only field fullname from tb_koordinator and fullname from tb_anggota without null data            

  • Ketikan perintah ALTER TABLE tb_anggota ADD COLUMN jenis_kelamin ENUM('L', 'P') AFTER captain;, seperti gambar dibawah ini:
  • Perintah ini akan menambahkan sebuah kolom baru ke dalam tabel tb_anggota, yang hanya memungkinkan nilai 'L' atau 'P' untuk diisikan ke dalamnya. Kolom ini akan ditempatkan setelah kolom captain pada tabel tb_anggota.

  • Nah berikut adalah outputnya:

37. Update Data tb_anggota For Column jenis_kelamin

  • Perintah ini akan mengubah nilai kolom jenis_kelamin pada beberapa baris di tabel tb_anggota, sehingga hanya baris-baris tersebut yang memiliki nilai jenis_kelamin baru, yaitu 'L'.
  • Ketikan perintah pada gambar dibawah ini pada kolom jenis_kelamin:


  • Nah berikut outputnya:
  • Disini saya menampilkannya disatukan.

38. Get Data From 3 All Table Sort By Fullname From Tb_anggota Alphabetically  

  • Ketikan perintah SELECT * FROM tb_anggota AS a LEFT JOIN tb_team AS b ON a.team = b.id_team LEFT JOIN tb_koordinator AS c ON b.id_koordinator = c.id_koordinator ORDER BY a.nama ASC;, sama seperti gambar dibawah ini:

  • Perintah ini digunakan untuk menampilkan data dari tiga tabel (tb_anggota, tb_team, dan tb_koordinator) dengan menggabungkannya menggunakan operasi LEFT JOIN. Data yang dihasilkan akan diurutkan berdasarkan kolom nama pada tabel tb_anggota.

  • Nah berikut outputnya:




    
           

        



Komentar