BAB II
PEMBUATAN DAN MANAJEMEN TABEL
      A.   
Landasan Teori
MySQL merupakan sebuah database yang
RDBMS (Relational Database Management System), Multi- user dan mendukung bahasa
permintaan standar SQL (Struktured Query Language), dan juga sebagai database
server. Sebagai database yang besar, MySQL memiliki dua buah bentuk lisensi.
Yang pertama adalah MySQL berbentuk software open source atau yang disebut
dengan free softwar, lisensi ini menjadikan siapa saja boleh menggunakan distro
MySQL tanpa harus dipungut biaya hak cipta. Dengan kondisi tersebut maka
siapapun dapat dengan bebas menggunakannya baik digunakan untuk  kalangan instansi formal maupun non formal.
Bentuk MySQL yang termasuk dalam software open source tergolong dalam lisensi
GNU / GPL (General Public License).
Yang kedua, MySQL memiliki lisensi
yang sifatnya Corporate, untuk versi MySQL yang sifatnya Corporate/komersial
sering disebut dengan MySQL AB. Dengan menggunakan versi komersial ini anda
harus memiliki izin untuk menggunakannya, atau paling tidak anda harus
mengeluarkan biaya pembelian untuk dapat menggunakan distro yang asli.
Dalam penggunaan MySQL kita akan
mengenal yang namanya database. Database atau yang dapat diistilahkan dengan
sebuah gudang data, merupakan sebuah komponen yang sangat berperan dalam sebuah
system basis data. Di dalam sebuah database memungkinkan untuk menyimpan
berbagai objek atau yang disebut dengan atribut/ table. Didalam table sendiri
dimungkinkan untuk terdapat beberapa elemen atau dapat disebut dengan
field/kolom.
            Nah, didalam table
tersebutlah data-data dari sebuah system informasi didokumentasikan. J
Pada dasarnya, dalam pembuatan basis data memiliki urutan sebagai
berikut: 
1.     
Membuat
database.
2.     
Membuat
table.
3.     
Di
dalam table terdapat beberapa kolom.
Jadi,
“dalam satu Database memiliki beberapa Table, dan dalam satu Table memiliki
beberaa Kolom”.
Tugas Praktikum :
1.     
Buatlah
sebuah tabel dengan nama identitasNIM dan dengan nama fieldnya
| 
Nama | 
Tipe data | 
keterangan | 
| 
id_idn | 
Integer | 
Not Null | 
| 
nama_Depan_idn | 
Varchar (10) | |
| 
nama_Belakang_idn  | 
Varchar (10) | |
| 
tgl_lahir_idn | 
Date | |
| 
status_idn | 
Boolean | |
| 
alamat_idn | 
Text | 
2.     
Buatlah  sebuah 
tabel  lagi  dengan 
nama  pegawai  dan 
nama  field  sama 
dengan  tabel 
identitas.
3.     
Hapus
kolom “alamat_idn” dan tampilkan struktur dari tabel pegawai tadi.
4.     
Tambahkan  kolom 
“pekerjaan_idn”  dengan  type 
data  varchar  dan 
tampilkan  struktur 
tabel pegawai.
5.     
Ubah  nama 
tabel  pegawai  menjadi 
pekerjaNIM  kemudian  ubah 
nama  kolom 
“pekerjaan_idn” menjadi “alamat_idn”
dan tampilkan.
6.     
Berikan  Primary 
key  pada  tabel 
pekerjaNIM  dan  ubah 
type  data  pada 
kolom 
“alamat_idn”
menjadi text. Kemudian tampilkan struktur tabel.
7.     
Hapus
tabel pekerjaNIM. 
8.     
Buat  temporary 
tabel  dengan  nama 
mahasiswa_sementara  dengan  3 
kolom  yaitu  id, 
nama, tanggal
lahir dan tampilkan tabel atau strukturnya. 
9.     
Hapus  semua 
hak  akses  tabel 
tertentu  kepada  salah 
satu  user  yang 
telah  dibuat  dan 
lakukan  pengecekan. 
Kemudian  berikan  semua 
hak  akses  kembali 
dan  lakukan 
pengecekan
kembali.  Hapus hak akses SELECT tabel
tertentu kepada salah satu user dan 
lakukan
pengecekan.
10. 
Buat
tabel baru dengan nama Gaji, dengan catatan pembuatan tabel berasal dari
turunan 
tabel  number 
1  dan  tambahkan 
kolom  gaji  kotor, 
pajak,  dan  gaji 
bersih.   Kemudian 
            tampilkan strukturnya.
      B.    
Hasil Praktikum dan hasil percobaan
Ok, sama seperti sebelumnya, kita
akan membuat dan memanagemen table dengan menggunakan mysql shell dan juga SQL
shell (psql). 
a.     
Pada MySQL 
Sebelum kita mengerjakannya, pertama kita buka XAMPP à klik start (Apache & MySql) à klik Shell. Setelah kita membuka shell selanjutnya kita membuka
mysql dengan mengetikkan, mysql –u root –p. 
Setelah kita masuk ke mysql >, langkah selanjutnya adalah
membuat database baru à use
namadatabase à
setelah ini kita baru bisa melakukan CREATE TABLE. 
1.     
Membuat
Table identitasNIM
Query
dasar :
CREATE
TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan,
namakolom tipedata keterangan);
Berikut
contohnya :
- Sebelum kita membuat tabel, kita harus menggunakan DATABASE yang akan kita gunakan sebagai tempat mambuat table, dengan cara : use namadatabase;
- Desc namatabel à untuk melihat struktur table.
2.     
Membuat
Table pegawai
Query
dasar :
CREATE
TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata keterangan,
namakolom tipedata keterangan);
Berikut
contohnya :
3.     
Menghapus
kolom
Query
dasar :
ALTER
TABLE namatabel DROP COLUMN namakolom;
Berikut
contohnya :
4.     
Menambahkan
kolom
Query dasar :
ALTER TABLE namatabel ADD COLUMN namakolom tipedata;
5.     
Mengubah
nama table dan mengubah nama kolom
Query
dasar :
ALTER
TABLE namatabelawal RENAME to namatabelbaru;
Query
dasar :
ALTER
TABLE namatabel CHANGE namakolomawal namakolombaru type AFTER
namakolomsebelumnya;
Berikut
contohnya :
6.     
Menambahkan
primary key dan mengubah type data
Query
dasar :
a.      
Menambahkan
Primary key
b.     
Mengubah
type data
ALTER
TABLE namatabel Modify namakolom type;
7.     
Menghapus
table
     Query
dasar:
     DROP
TABLE namatabel;
     Berikut
contohnya :
8.     
Membuat
temporary table 
Query
dasar : 
CREATE
TEMPORARY TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata
keterangan, namakolom tipedata keterangan);
Berikut
contohnya :
9.     
Grant
& Revoke
Query dasar :
a.      
Struktur
penggunaan GRANT untuk semua hak akses :
GRANT
all privileges on *.* to ‘namauser’@’localhost’ identified by ‘password’ with
grant option;
b.     
Struktur
penggunaan REVOKE untuk semua hak akses :
REVOKE
all privileges on *.* from ‘namauser’@’localhost’ identified by ‘password’;
c.      
Struktur
penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
GRANT
SELECT on *.* to ‘namauser’@’localhost’ identified by ‘password’ whit grant
option;
d.     
Struktur
penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
REVOKE SELECT
on *.* from ‘namauser’@’localhost’ identified by ‘password’ whit grant option;
            Berikut contohnya
:
Pengecekan
:
 
  * Dalam melakukan pengecekan GRANT and REVOKE kita harus memperhatikan beberapa hal, seperti penggunaan user dan database tempat membuat table.
*   Untuk mengecek REVOKE setelah GRANT, maka kita harus keluar dulu
dengan mengetikkan \q untuk Quit. Baru setelah itu kita bisa menecek REVOKE
yang telah kita lakukan. 
b. Pada psql (PosgreeSQL)
Sebelum mengerjakannya, pertama kita masuk dulu ke SQL shell.
Sebelum mengerjakannya, pertama kita masuk dulu ke SQL shell.
1.   Membuat
table dengan nama  dan field yang sudah
di tentukan di atas, kita harus tahu terlebih dahulu struktur query yang akan
kita gunakan untuk membuat table, strukturnya adalah seperti berikut. 
Query dasar :
CREATE TABLE  namatabel
(namakolom tipedata keterangan, namakolom tipedata keterangan, namakolom
tipedata keterangan );            
Contohnya adalah seperti bawah ini :
 
 Untuk melihat struktur table yang telah kita buat, ketikkan perintah \d namatabel, dan untuk melihat nama table, ketikkan perintah \z.
2. Membuat
table baru dengan nama “pegawai” dan dengan field yang sama seperti pada table
1.
3.     
Menghapus
kolom “alamat_idn” pada table pegawai dan tampilkan struktur tablenya.
Query
dasar : 
ALTER
TABLE namatable DROP COLUMN namakolom;
Berikut
contohnya :
*  Untuk menampilkan struktur tabelnya, ketikkan \d dengan di ikuti
namatabel.
4.    Menambahkan
kolom “pekerjaan_idn” dengan type data varchar dan tampilkan struktur table
pegawai.
Query
dasar : 
ALTER
TABLE namatabel Add Column  “namakolom”
tipe data;
5. Mengubah
nama table pegawai menjadi pekerjaNIM dan mengubah nama kolom “pekerjaan_idn”
menjadi “alamat_idn” dan tampilkan strukturnya.
Query dasar :
a.      
ALTER
TABLE namatabelawal Rename to namatabelbaru;
b.     
ALTER
TABLE namatabel rename column “namakolomawal” to namakolombaru; 
Berikut contohnya :
6.     
Memberikan
primary key pada table pekerjaNIM dan mengubah type data pada kolom
“alamat_idn” menjadi text.
Query
dasar :
a.      
Struktur
query yang digunakan untuk menambahkan primary key pada table
ALTER TABLE namatabel add primary key (namakolom);
b.     
Struktur
query yang digunakan untuk mengubah type data dari suatu kolom tertentu.
ALTER TABLE namatabel ALTER COLUMN namakolom Type
namatypepengganti;
Berikut
contohnya :
7.     
Hapus
table pekerjaNIM
Query
dasar :
DROP
TABLE pekerjaNIM;
* Jika setelah di ENTER terdapat pesan DROP TABLE, maka table
“pekerjaNIM” sudah terhapus.
8.     
Membuat
temporary table dengan nama mahasiswa_sementara dengan 3 field (id, nama, dan
tgl_lahir) setelah itu tampilkan.
Query
dasar : 
CREATE
TEMPORARY TABLE namatabel (namakolom tipedata keterangan, namakolom tipedata
keterangan, namakolom tipedata keterangan);
9.     
Grant
and Revoke
Query
dasar :
a.      
Struktur
penggunaan GRANT untuk semua hak akses :
Grant
all on table namatabel to namauser;
b.     
Struktur
penggunaan REVOKE untuk semua hak akses :
Revoke
all on table namatabel from namauser;
c.      
Struktur
penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Grant
Select on table namatabel from namauser;
d.     
Struktur
penggunaan REVOKE untuk salah satu hak akses, misalnya SELECT :
Revoke Select
on table namatabel from namauser;
                        Berikut
contohnya :
                           
 
                            
 
  
 
  
 
 
*   Jika sudah ada pesan GRANT dan REVOKE, berarti penutupan dan
pengaktifan hak akses yang kita lakukan sudah berhasil.
*   Buka SQL shell baru, kemudian masuk dengan user kita dan lakukan
pengecekan dengan mengetikkan, SELECT * from namatabel;
* Jika kita lakukan GRANT maka kita bisa melihat struktur tabelny, sedangkan jika kita melakukan revoke selanjutnya aka nada pesan “permission denied for…..” menandakan bahwa hak akses database telah ditutup.
* Begitu pula jika kita melakukan GRANT and REVOKE pada salah satu hak akses misalnya (SELECT, UPDATE, DELETE).
10. Membuat table baru dengan nama Gaji, yang merupakan turunan dari table pertama, dengan fieldnya (gaji kotor, pajak, gaji bersih), setelah itu tampilkan.
Query dasar :
CREATE TEMPORARY TABLE namatabel (gaji_kotor integer, pajak integer, gaji_bersih integer) inherits (namatabelinduk);
Berikut contohnya :
 
 
* Jika kita lakukan GRANT maka kita bisa melihat struktur tabelny, sedangkan jika kita melakukan revoke selanjutnya aka nada pesan “permission denied for…..” menandakan bahwa hak akses database telah ditutup.
* Begitu pula jika kita melakukan GRANT and REVOKE pada salah satu hak akses misalnya (SELECT, UPDATE, DELETE).
10. Membuat table baru dengan nama Gaji, yang merupakan turunan dari table pertama, dengan fieldnya (gaji kotor, pajak, gaji bersih), setelah itu tampilkan.
Query dasar :
CREATE TEMPORARY TABLE namatabel (gaji_kotor integer, pajak integer, gaji_bersih integer) inherits (namatabelinduk);
Berikut contohnya :
 
 |  | 
           C.    
Perbedaan mysql dengan psql
Dalam pembuatan dan managemen table,
antara MySQL dengan psql mempunyai beberapa perbedaan. Diantaranya adalah :
1.     
Pengecekan
table. Pada mysql kita mengecek table dengan query “show tables” sedangkan pada
psql kita menggunakan “\z”.
2.     
Pengecekan
struktur table. Pada mysql kita menggunakan query “desc namatabel” sedangkan
pada psql kita menggunakan query “\d namatabel”.
3.     
Mengubah
nama kolom.
Query
pada mysql : 
ALTER
TABLE namatabel CHANGE namakolomawal namakolombaru type AFTER
namakolomsebelumnya;
Query
pada psql :
ALTER
TABLE namatabel rename to namatabelbaru;
4.     
Mengubah
type data
Query
pada mysql :
ALTER TABLE namatabel Modify namakolom type;
Query
pada psql:
ALTER
TABLE namatabel ALTER COLUMN namakolom Type namatypepengganti;
5.     
Dalam
psql bisa melakukan Inheritence sedangkan pada mysql tidak bisa.
      D.   
Kesimpulan, kritik, dan saran
Dari data yang
sudah ada pada laporan ini dan dari referensi yag lain, dapat di Tarik kesimpulan
bahwa sebuah tabel
terdiri dari baris (row) dan kolom (column), dimana jumlah dan  nama kolom
harus didefinisikan terlabih dahulu di awal. Sedangkan baris merupakan 
sebuah variable yang dapat dihapus  dan diisi kapanpun, sehingga jumlahnya
selalu  berubah sesuai dengan jumlah data didalamnya.  Setiap kolom
dalam tabel mempunyai  tipe data, tipe data digunakan untuk membatasi
jenis data yang bisa dimasukkan,  sehingga akan mempermudah dalam
menggunakannya dan melakukan pengelolaan  selanjutnya. Database mysql dengan databse psql mempunyai beberapa perbedaan
dalam pembuatan dan menajemen databasenya, seperti pada pengecekan table,
pengecekan struktur table, pengubahan type, pengubahan nama kolom dan
penggunaan Inheritence (turunan).
Saran dari saya
bagi pembaca untuk selalu menggunakan etika dalam copy paste file, agar
nantinya ilmu yang kita pelajari bisa bermanfaat bagi kita sema amiin …J 
      E.    
Daftar pustaka
      Nugroho, Bunafit, Administrasi Database MySQL pada server Linux dan
Windows, Penerbit Graha Ilmu, 2005. 
         Modul Praktikum Desain Basis Data 2014.
Tugas Rumah
Membuat  database 
dan  tabel  sistem 
pada  pertemuan  1 
menggunakan  query  dan 
dilengkapi dengan tampilan strukturnya.
|  | 



































 
 
 
 
 
 
 
