Assalamu'alaikum Selamat Datang :)

Senin, 29 September 2014

Pembuatan dan Manajemen Tabel

PEMBUATAN DAN MANAJEMEN TABEL

A. LANDASAN TEORI
     SQL (Structure Query Languange) merupakan salah satu bahasa pemrograman yang terstruktur. bahasa ini merupakan bahasa standar yang digunakan untuk mengakses database atau basis data. Secara umum ada 3 jenis query :
1. DDL ( Data Definition Languange) 
yaitu perintah yang digunakan untuk pendefinisian struktur database, dalam hal ini database adalah table. atau ddl ini merupakan suatu kerangka yang dibangun untuk membangun database. macam-macam query pada ddl :

Perintah-perintah dasar mysql

- mengecek paket mysql
# rpm -qa | grep mysql
- Melihat versi di mysql
# mysql - version
- Masuk ke mysql
# mysql -u user
- Keluar dari mysql
> exit atau > quit

-- Create - perintah ini digunakan untuk membuat database dan tabel baru.
1.) untuk membuat database baru
create database nama_database;
2.) untuk membuat tabel baru
Create table nama_tabel (nama kolom1 type data1, nama kolom2 type data2, nama kolom3 type data3, dst );

3.) untuk menggunakan database
use nama_database;

4.) untuk melihat tabel
show tables;

5.) untuk melihat sebuah tabel dan isi-isinya
desc nama_tabel;

-- Alter - digunakan untuk melakukan perubahan struktur tabel yang telah dibuat.
1.) untuk menghapus kolom pada tabel
alter table  nama_tabel drop nama_kolom;
2.) untuk menambah kolom pada tabel
alter table nama_tabel add nama_kolom tipe kolom;

3.) untuk mengganti nama tabel
alter table tabel_lama rename tabel_baru;

4.) untuk mengubah tipe kolom
alter table nama_tabel modify nama_kolom tipe_data_baru (panjang_karakter);

5.) untuk mengubah nama kolom
alter table nama_tabel change nama_kolom_lama nama_kolom_baru tipe_data (panjang_karakter);

-- Drop - digunakan untuk menghapus database
1.) untuk menghapus database
drop database nama_database;

2.) untuk menghapus tabel
drop table nama_tabel;
2. DML (Data Manipulation Languange)
yaitu bahasa untuk melakukan pengolahan data pada database yang sudah dibuat, atau manipulasi data atau bisa juga perintah-perintah yang dilakukan untuk melakukan modifikasi data.

-- Insert - digunakan untuk memasukkan data
1.) untuk memasukkan data-data
insert into nama_tabel values ('data_kolom1', 'data_kolom2', ...);

-- Update - digunakan untuk memperbarui isi data
1.) memperbarui isi data
update nama_tabel set nama_kolom = 'isian_baru' where nama_kolom_lain = 'isian_kolom_tsb';

Select - digunakan untuk mengambil data atau menampilkan data dari suatu tabel
1.) untuk melihat data-data
select nama_kolom from nama_tabel where nama_kolom_lain = 'isi_kolom_tsb';

2.) menampilkan semua kolom
select * from nama_tabel;

3.) menampilkan kolom tertentu
select nama_kolom from nama_tabel;

4.) menampilkan kolom tertentu dengan kondisi tertentu
select nama_kolom from nama_tabel where nama_kolom_lain = 'isi_kolom_tsb';

5.) menghindari pengulangan data pada kolom
select distinct nama_kolom from nama_tabel;

6.) membatasi data yang ditampilkan
select nama_kolom_ygmau_dtampilkan from nama_tabel limit dari_baris, sampai_baris;

7.) mengurutkan data
select nama_kolom_ygmau_dtampilkan from nama_tabel order by nama_kolom klausa;
jenis2 klausa ada 2 yakni (asc = mengurutkan data naik, desc= mengurutkan data turun)

8.) menggabungkan beberapa kondisi
select nama_kolom_ygmau_ditampilkan from nama_tabel where nama_kolom = 'isi_kolom' operator_logika nama_kolom = 'isi_kolom';

9.) memberi batas data
select namakolom_ygmau_dtampilkan from nama_tabel where nama_kolom between isi_kolom and isi_kolom;

10.) mencari data dengan kriteria tertentu
select namakolom_ygmau_ditampilkan from nama_tabel where nama_kolom like '%';
'%' ada 3 macam : yaituu:
- 'keyword%' mencari data yang diawali dengan keyword
- '%keyword' mencari data yang diakhiri dengan keyword
-'%keyword%' mencari data yang mengandung keyword

-- Delete - untuk menghapus data pada database
1.) untuk menghapus isi record baik semuanya atau sebagian
delete from nama_tabel;

2.) menghapus data yang diinginkan dari suatu tabel
delete from nama_tabel where kondisi;

** menghitung fungsi agregat pada mysql
- SUM () - menghitung jumlah nilai pada suatu kolom
- AVG () - menghitung nilai rata-rata pada suatu kolom
- MAX () - mencari nilai maksimal pada suatu kolom
- MIN () - mencari nili minimum pd suatu kolom
- COUNT () - menghitung jumlah baris pd suatu kolom

3. DCL (Data Control Languange )
yaitu bahasa yang digunakan untuk mengatur kontrol perizinan hak akses.

-- Grant - digunakan untuk memberikan hak akses
1.) untuk mengelola hak akses penuh pada semua database
grant all on *.* to user;

2.) untuk memberikan hak akses penuh pada salah satu database
grant all on nama_database to user;

3.) mengelola salah satu hak akses
grant pilih_hak_akses on nama_database to user;

4.) menampilkan hak akses user
show grants for user;

-- Revoke - untuk mencabut hak akses
1.) untuk mencabut hak akses penuh pada semua database
revoke all on *.* from user;

2.) untuk mencabut hak akses penuh pada salah satu database
revoke all on nama_database from user;

3.) mengelola salah satu hak akses
grant pilih_hak_akses on nama_database from user;

Temporary Tabel
   Temporary tabel atau bisa juga disebut dengan tabel sementara bisa sangat berguna dalam beberapa kasus untuk menyimpan data sementara. yang paling penting yang harus tau tentang tabel sementara adalah bahwa mereka akan dihapus saat sesi klien saat ini berakhir. tabel sementara akan berlangsung selama sesi hidup.
> create temporary table nama_tabel (nama_kolom1 tipe_data1 (panjang_karakter), nama_kolom2 tipe_data2 (panjang_karakter)....) ;


B. TUJUAN

* Memahami cara pembuatan maupun penghapusan tabel
* Memahami cara mengedit struktur dari tabel
* Mampu memanipulasi sesuai dengan kebutuhannya.


C. HASIL PRAKTIKUM 

1. Tugas praktikum menggunakan dbms mysql

1} buatlah sebuah tabel dengan nama identitasNIM dan dengan fieldnya (ada dimodul);

petama masuk ke mysql dengan menggunakan user kita yang sudah dibuat kemarin

mysql -u visa



jika menginginkan masuk dengan passwor tinggal lakukan perintah ini

mysql -u visa -p

dan ketikkan password anda selanjutnya
kemudian masuk menggunakan database kita

use visa13650065;


setelah itu buatlah sebuah tabel, ketikkan query

create table identitas13650065 (id_idn integer not null, namadepan_idn varchar (10), namabelakang_idn varchar (10), tgl_lahir_idn date, status_idn boolean, alamat_idn text);



maka akan muncul strukturnya seperti ini, jika ingin menampilkan struktur tabel lakukan perintah ini

desc identitas13650065;


2} buatlah sebuah tabel lagi dengan nama pegawai dan nama fieldnya sama dengan tabel identitas

tinggal kita ganti saja nama tabelnya menjadi pegawai.

create table pegawai (id_idn integer not null, namadepan_idn varchar (10), namabelakang_idn varchar (10), tgl_lahir_idn date, status_idn boolean, alamat_idn text);





maka tampilannya strukturnya seperti ini, jika ingin melihat strukturnya sama dengan yang nomer 1 querynya. cuma diganti nama tabelnya saja

desc pegawai:






3} Hapus kolom "alamat_idn" dan tampilkan struktur dari tabel pegawai tadi

alter table pegawai drop alamat_idn;





dan ini tampilan strukturnya 




4} Tambahkan kolom pekerjaan_idn dengan tipe data varchar dan tampilkan struktur tabel pegawai

alter table pegawai add pekerjaan_idn varchar (20);




dan tampilan strukturnya :




5} Ubah nama tabel pegawai menjadi pekerjaNIM kemudian ubah nama kolom pekerjaan_idn menjadi alamat_idn dan tampilkan

ubah nama tabel 

rename table pegawai to pekerja13650065;



tampilan tabelnya jika ingin melihat tabel2 kita

show tables;



ubah nama kolom

alter table pekerja13650065 change pekerjaan_idn alamat_idn varchar (20);




dan tampilkan

desc pekerja13650065;



6} Berikan primary key pada tabel pekerjaNIM dan ubah typedata pada kolom alamat_idn menjadi text . kemudian tampilkan
beri primary key 

alter table pekerja13650065 add primary key (id_idn);

dan tampilan struktur tabelnya




 ubah tipe data

alter table pekerja13650065 modify alamat_idn text;




dan tampilan strukturnya




7} Hapus tabel pekerjaNIM

drop table pekerja13650065;




tampilannya pada data tabel-tabel




8} Buat temporary tabel dengan nama mahasiswa_sementara dengan 3 kolom yaitu id, nama, tanggal lahir dan tampilkan tabel strukturnya

buat tabel temporary

create temporary table mahasiswa_sementara (id integer, nama varchar (20), tanggal_lahir date));



tampilan 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, lakukan pengecekan.

hapus semua hak akses tabel kepada salah satu user 

revoke all on identitas13650065 from visa;


untuk yang 

select * from identitas13650065; 

itu untuk melakukan pengecekan dan hasilnya empty atau kosong, artinya user visa tidak mempunyai hak akses.



berikan semua hak akses kembali

grant all on identitas13650065 to visa;




lakukan pengecekan

show grants for visa;



hapus hak akses select

revoke select on identitas13650065 from visa;



lakukan pengecekan

select * from identitas13650065;

dan hasilnya menunjukkan select tidak bisa diakses




10} Buat tabel baru dengan nama gaji, dengan catatan pembuatan tabel berasal dari turunan tabel nomer 1, dan tambahkan kolom gaji kotor, pajak, dan gaji bersih. kemudian tampilkan strukturnya.

kalau dimysql ini pembuatan tabel turunan tidak ada, adanya dengan penggunaan join antara kedua tabel, maka langkah awal buat tabel dulu

create table gaji (id_idn not null, gaji_kotor integer, gaji bersih integer, pajak integer);




lalu lakukan penjoinan

select * from identitas13650065 join gaji on identitas13650065. id_idn = gaji.id_idn;




2. Buat database dan tabel sistem pada pertemuan per 1 menggunakan query dan dilengkapi dengan dtrukturnya 

        Pada ERD rental mobil kemarin, mempunyai 4 entity yakni, mobil, pelanggan, karyawan, dan transaksi. berikut query, tabel dan strukturnya.



membuat tabel mobil

create table mobil (id_mobil integer primary key, nm_mobil varchar (20), plat varchar (10), tipe_mobil varchar (15), warna varchar (15), harga integer not null );



ini struktur tabelnya




membuat tabel pelanggan

create table pelanggan (id_plg integer primary key, no_ktp integer not null, nmdpn_plg varchar (15), nmblk_plg varchar (15), almt_lgkp varchar (50), no_tlp integer not null);




ini struktur tabelnya




membuat tabel karyawan

create table karyawan (id_kar integer primary key, nm_depan varchar (15), nm_blk varchar (15), almt_kar varchar (50), notlp_kar integer not null, jk varchar (1)); 




ini struktur tabelnya




membuat tabel transaksi, didalam tabel transaksi ini kita memerlukan id_plg maka dari itu kita menambahkan foreign key.

create table transaksi (id_plg integer not null primary key, tgl_pinjam date, tgl_kembali date, harga integer not null, denda integer not null, foreign key (id_plg) references pelanggan (id_plg));




ini strukturnya.






D. PERBANDINGAN POSTGRE DAN MYSQL

-- masuk ke mysql dan postgre

jika pada postgre awal masuk kita hanya mengetikkan user dan password, dan kalo pada mysql kita harus mengetikkan perintah ini

mysql -u user -p

user adalah nama user yang ingin kita gunakan, dan kalau -p jika kita ingin masuk menggunakan pasword, jika tidak ya tidak usah menggunakan -p

-- penggunaan database kita

jika pada postgre

\c nama_database;

jika pada mysql

use nama_database;

-- pembuatan database

jika pada postgre

create database nama_database;

pada mysql

create database nama_database;

query yang digunakan sama

-- pembuatan tabel

pada postgre

create table nama_tabel (namakolom1 tipekolom1 keterangan, namakolom2 tipekolom2 keterangan dsb..);

pada mysql

create table nama_tabel (namakolom1 tipekolom1 keterangan, namakolom2 tipekolom2 keterangan dsb..);

query nya juga sama

-- untuk melihat tabel2 yang telah kita buat

pada postgre

\z

pada mysql

show tables;

-- untuk melihat struktur dari tabel yang telah dibuat

pada postgre

\d nama_tabel;

pada mysql

desc nama_tabel;

-- jika ingin melihat database

pada postgre

\du

pada mysql

show databases;

-- jika ingin menghapus kolom

pada postgre

alter table nama_tabel drop column nama_kolom;

pada mysql

alter table nama_tabel drop  nama_kolom;


-- menambahkan kolom

postgre

alter table nama_tabel add column nama_kolom tipedata keterangan;

mysql

alter table nama_tabel add nama_kolom tipedata keterangan;


-- mengubah nama tabel

postgre

alter table tabel_lama rename to tabel_baru;

mysql

rename table tabel_baru totabel_lama;


-- ubah nama kolom 

postgre

alter table nama_tabel rename column nama_kolom_lama to nama_kolom_baru;

mysql

alter table nama_tabel change nama_kolom_lama nama_kolom_baru tipedata_kolombaru;


-- memberi primary key

postgre

alter table nama_tabel add primary key (nama_kolom);

mysql

alter table nama_tabel add primary key (nama_kolom);


-- mengubah tipe data

postgre

alter table nama_tabel alter column nama_kolom type type_pengganti;

mysql

alter table nama_tabel modify nama_kolom tipe_pengganti;


-- menghapus tabel 

pada postgre dan mysql mempunyai query yang sama,

drop table nama_tabel


-- mengapus database

query nya sama antara postgre dan mysql 

drop database nama_database;


-- menghapus semua hak akses

pada postgre

revoke all on table nama_tabel from nama_user;

mysql

revoke all on nama_database from user;


-- memberikan semua hak akses

pada postgre

grant all on table nama_tabel to nama_user;

pada mysql

grant all on nama_database to user;


jika ingin menghapus atau memberikan salah satu hak akses contohnya delete, select, update, atau insert kata all tinggal diganti salah satu ke 4 kata yang ingin diberikan.


E. KESIMPULAN 

       Ada beberapa yang perlu diperhatikan dalam memanajemen basis data yaitu perlu ketelitian dan kesabaran, disini tadi kita sudah membahas 3 bahasa dalam database, yaitu DDL, DML, dan DCL setiap bahasa mempunyai fungsi yang berbeda beda. dan juga antara query postgre dan mysql mempunyai query yang hampir-hampir mirip. 
      Pada praktikum ini kita sudah diberi banyak sekali ilmu yakni, cara membuat tabel, database dan memanajemen tabel yang akan kita buat. entah itu menggunakan potsgre atau mysql yang penting kita tau cara menggunakan query nya.


F. SARAN

      Setiap dbms membunyati struktur query yang berbeda atau sedikit berbeda maka dari itu lebih baik harus memang benar-benar mengetahui struktur query nya. dan harus lebih giat lagi pelatihannya. 


G. PENUTUP

  Terima kasih kepada bapak dosen saya dan mas asisten, kurang lebihnya mohon maaf. tiada gading yang tak retak begitu juga dengan hasil laporan saya. karna disini saya juga sama-sama belajar. dan terimakasih untuk bimbingannya :)

H. DAFTAR PUSTAKA

https://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&ved=0CCwQFjAC&url=http%3A%2F%2Fwww.akmi-baturaja.ac.id%2Fwp-content%2Fuploads%2F2012%2F07%2Fmodul_mysql.pdf&ei=shYmVPL8A5K2uATCzoKQCg&usg=AFQjCNFYm8hrblfd-9dk_jYDMRlRE2lRQQ&sig2=yeGgjzW34F8IZNxIlJSX5w&bvm=bv.76247554,d.c2E
http://www.diwarta.com/2012/04/20/mengenal-sql-structured-query-language.html
http://tutorial.belajarweb.net/mysql/mysql-temporary-tables.html
http://masbenpro.blogspot.com/2013/06/jenis-query-pada-mysql.html
http://friandajulianto.blogspot.com/2013/02/pengertian-sql-mysql-ddl-dml-dcl-tcl.html
http://achmatim.net/2009/12/09/pengenalan-perintah-dasar-sql-di-mysql/
http://hairul-atzuar.blogspot.com/2012/01/perintah-mysql-ddl-dml-dcl.html
http://blog.akakom.ac.id/dettoty/dasar-dasar-sql-structure-query-languange/


Tidak ada komentar:

Posting Komentar

Omah Kayu - Paralayang Batu

Selamat Malam.. yaaap karena pas lagi buat review ini, jam udah menunjukkan pukul 20.54. Gak ada yang nanya sih :D Oke oke kali ini aku ma...