Senin, 29 Agustus 2016

Tugas Database 2 : Cara menggabung dan Hak akses di MySQL


Assalamualaikum....

Hai guys !
  Pada kesempatan kali saya akan membahaas tugas query MySQL yang diberikan guru saya, dengan ketentuan sebagai berikut :

  • Buat database dan 2 tabel dengan 5 record pada tiap tabel tersebut  :
     Table 1 = guru (Nama_guru , Kode_guru)
    Table 2 = mata_pelajaran (Kode_mapel , Nama_mapel , Jumlah_jam , Kode_guru)
  • Gabungkan 2 tabel tersebut menjadi 1 untuk melihat record
  • Buat user baru dengan nama kalian dan beri password
  • Berikan akses pada user baru hanya bisa melihat record (select) dan memasukan data (insert)
  • Cabut hak akses memasukan data (insert) untuk user baru pada kedua tabel

1. Buat database
mysql> create database Biodata;

Masuk ke database yang tadi dibuat

mysql> use Biodata;

2. Buat tabel 1 , beri nama guru  dengan field Nama_guru , Kode_guru

mysql> create table guru (
    -> Nama_guru varchar(3),
    -> Kode_guru int(7),
    -> );
Keterangan :

int
/ integer = tipe data untuk angka

varchar / Variable Character = tipe data untuk huruf , angka dan simbol
(3)*angka dalam kurung = jumlah maksimum character angka/huruf/simbol yang bisa digunakan

3. Kemudian buat tabel kedua dengan nama mata_pelajaran dengan field Kode_mapel , Nama_mapel , Jumlah_jam , Kode_guru


mysql> create table mata_pelajaran (
    -> Kode_mapel int(7),
    -> Nama_mapel varchar(30),
    -> Jumlah_jam varchar(10),
    -> Kode_guru int(7),
    -> );

4. Masukan data kedalam table guru sebanyak 5 kali

mysql> insert into guru (Nama_guru,Kode_guru) values ("Prily Rizky",354005);

5. Jika sudah , sekarang masukan data juga kedalam table mata_pelajaran sebanyak 5 kali 

mysql> insert into mata_pelajaran (Kode_mapel,Nama_mapel,Jumlah_jam,Kode_guru) values (354505,'Database','1 jam',354005);

6.  Kemudian check hasilnya :

mysql> select * from guru;


mysql> select * from mata_pelajaran;


7. Untuk Menggabungkan 2 table tadi menjadi 1 untuk melihat seluruh record  , gunakan perintah berikut :

mysql> select * from guru cross join mata_pelajaran;


8. Jika menggunakan perintah diatas , kekurangannya adalah tidak efisiennya urutan yang begitu banyak dan mengulang.
    Untuk itu kita akan mem-filter dengan perintah berikut :

mysql> select * from guru cross join mata_pelajaran where guru.Kode_guru=mata_pelajaran.Kode_guru;


9. Untuk lebih meringkas tampilan pada table tadi , kita gunakan perintah berikut :


mysql> select guru.kode_guru,guru.nama_guru,
    -> mata_pelajaran.kode_mapel,mapel,jumlah_jam
    -> from guru cross join mata_pelajaran
    -> where guru.kode_guru=mata_pelajaran.kode_guru;


10. Sekarang , Kita akan membuat user baru dengan perintah berikut :

mysql> create user 'TYAR@localhost' identified by 'tyars';
Keterangan :
'TYAR@localhost' = ID Usertyars123 = Password

11. Setelah itu , kita beri hak akses pada user baru tadi agar dapat melihat record (select) dan memasukan data (insert)

mysql> grant insert,select on Biodata.* to 'TYAR@localhost';
Keterangan: Biodata.* = Agar dapat mengakses semua data pada database Biodata

Gunakan perintah berikut untuk mengcek Hak akses user baru tadi

mysql> show grants for 'TYAR@localhost';


12. Nah , Jika sebelumnya user baru tadi bisa melihat record (select) dan memasukan data (insert) . sekarang kita cabut hak aksesnya untuk memasukan data (insert) pada kedua tabel

mysql> revoke insert on Biodata.* to 'TYAR@localhost';


Semoga bermanfaat , Nantikan Postingan selanjutnya
Wassalamualaikum ...

1 komentar:

  1. Blog mu udah lama tp knp ngga ad iklannya... Blum daftar ke adsense ya.?

    BalasHapus