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
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
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;
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)....) ;
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
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
kemudian masuk menggunakan database kita
mysql -u visa -p
dan ketikkan password anda selanjutnyakemudian 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
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
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 );
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 mysqluse nama_database;
jika pada postgre
create database nama_database;
pada mysqlcreate database nama_database;
query yang digunakan sama-- pembuatan tabel
pada postgre
create table nama_tabel (namakolom1 tipekolom1 keterangan, namakolom2 tipekolom2 keterangan dsb..);
pada mysqlcreate 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 mysqlshow tables;
-- untuk melihat struktur dari tabel yang telah dibuatpada postgre
\d nama_tabel;
pada mysqldesc 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;
mysqlrevoke 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.
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