BAB II
PEMBUATAN DAN
MANAJEMENT TABEL
2.1 Bahasan dan Sasaran
2.1.1 Bahasan
- Pembuatan tabel
- Pengelolaan tabel
2.1.2 Sasaran
- Mahasiswa memahami cara pembuatan maupun penghapusan tabel
- Mahasiswa memahami cara mengedit struktur dari tabel
- Mahasiswa mampu memanipulasi tabel sesuai dengan kebutuhan
A. Dasar Teori
1.
MySQL tergolong sebagai
DBMS (DataBase Management System). Perangkat lunak ini bermanfaat untuk
mengelola data dengan cara yang sangat fleksibel dan cepat. Berikut adalah
sejumlah aktivitas yang terkait dengan data yang didukung oleh perangkat lunak
tersebut.
·
Menyimpan data ke dalam
tabel
·
Menghapus data dalam tabel
·
Mengubah data dalam tabel
·
Mengambil data yang
tersimpan dalam tabel
·
Memungkinkan untuk memilih
data tertentu yang diambil
·
Memungkinkan untuk
melakukan pengaturan hak akses terhadap data
MySQL banyak
dipakai untuk kepentingan penanganan database karena selain handal juga
bersifat open source. Konsekuensi dari open source, perangkat lunak ini
dapat dipakai oleh siapa saja tanpa membayar dan source code-nya bisa diunduh
oleh siapa saja.
(Abdul Kadir, Mudah Mempelajari
Database MySQL. 2010. Yogyakarta : Andi) hlm 10.
2.
Pengenalan Query
SQL (Structure Query Language) adalah bahasa yang digunakan untuk
melayani relasional system database.
SQL secara garis besar terdiri dari 4 macam, yaitu :
a.
DDL (Data Definition
Language)
DDL adalah suatu pernyataan untuk mendefinisikan struktur atau skema
database. Contoh :
·
Create , untuk
membuat object dalam database, bisa berupa table, view, procedure, function,
trigger, ataupun package (oracle). Contoh : create table mahasiswa (npm char(7)
not null primary key,nama char(30), alamat char(50));
·
Alter, untuk
mengubah structur dari suatu objek dalam database.contoh : alter table
mahasiswa add email char(30)
·
Drop, untuk
menghapus objek dalam database, contoh: drop table mahasiswa;
·
Truncate, untuk
menghapus/membersihkan isi table beserta alokasi space yang ada di dalamnya,
contoh : truncate table mahasiswa.
·
Comment, memberikan
keterangan/komentar pada ke dalam kamus data. berisi deskripsi dari sebuah
objek dalam database.
·
Rename, mengganti
nama objek dalam database.(Mysql, Oracle)
b.
DML (Data
Manipulation Language)
DML adalah pernyataan yang digunakan untuk mengorganisir data dengan
menggunakan skema objek.
·
Select, untuk menyeleksi
data dari dalam database. contoh : select npm, nama, alamat from
mahasiswa;
·
Insert, untuk menginputkan
record ke dalam suatu table. contoh : insert into
mahasiswa(npm,nama,alamat) values(‘0401034’,’Abdul Malik Ikhsan’,’Jalan Jakarta
No. 28’)
·
Update, untuk melakukan
update dari table yang sudah dibuat. contoh : update mahasiswa set
npm=’001’ where npm=’0401034’;
·
Delete, untuk menghapus isi
record baik semuanya ataupun sebagian dari suatu table, cotoh : -delete
from mahasiswa (menghapus semua isi ) -delete from mahasiswa where npm =
‘001’(hanya pada kondisionalnya saja).
·
Merge, penggabungan update,
insert, delete pada suatu table berdasarkan kondisi yang cocok. (Oracle).
·
EXEC, memanggil procedure
yang telah kita buat. contoh : kita buat procedure seleksimhs: create
procedure seleksimhs @npm char(7) as select * from mahasiswa where npm=@npm.
·
cara eksekusi : EXEC
seleksimhs ‘001’;
c.
DCL (Data Control
Language)
Terdiri
dari 2 statement, yaitu Grant, Revoke, dan DENY, Grant untuk memberikan hak
akses, dan Revoke untuk membuang hak yang telah dilarang dengan perintah Deny
atau hak yang telah diberikan oleh perintah GRANT, sedangkan Deny.
Contoh GRANT
:
GRANT
INSERT, UPDATE, DELETE On mahasiswa To public
Contoh REVOKE
Revoke SELECT On mahasiswa To Public
Contoh DENY
DENY SELECT On mahasiswa To Public
d.
TCL (Transaction Control)
Pernyataan
untuk mengelola perubahan yang dilakukan oleh DML.
·
COMMIT => menyimpan hasil perintah
·
SAVEPOINT => identifikasi point transaksi
yang akan digunakan nantinya.
·
ROLLBACK => Restore database ke kondisi
commit terakhir.
·
SET TRANSACTION => mengubah level
transaksi.
Untuk materi
postgreSQL dibawah ini
Sebuah tabel terdiri dari baris (row) dan kolom (column),
dimana jumlah dan nama kolom harus didefinisikan terlabih dahulu di awal.
Sedangkan baris merupakan sebuah variabel 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. Sangat disarankan
pada saat akan membuat tabel, sebaiknya membuat sebuah aturan khusus dalam
penentuan tabel-tabel yang akan dibuat dan memberikan nama kolom maupun tipe
datanya.
1.
Membuat tabel
o
Tabel harus memiliki primary key (sekelompok kolom)
o
Deklarasi primary key tidak boleh kosong(null) harus not null.
Struktur query untuk membuat tabel dengan dua kolom
Create table namatable (namakolom tipedata keterangan, namakolom
tipedata keterangan)
*\d : untuk melihat struktur tabel yg telah dibuat
*\z : untuk melihat semua tabel
2.
Manipulasi tabel
o
Menghapus kolom :
Alter table namatable drop column “namakolom”;
o Menambah kolom :
Alter table namatabel add column “namakolom” tipedata;
o
Mengubah nama tabel :
Alter table namatabelasal rename to namatabelbaru;
o
Mengubah nama kolom :
Alter table namatabel rename column “namakolom asal” to namakolombaru;
o
Mengubah type dari kolom
tertentu :
Alter table namatabel alter column namakolom type namatypepengganti;
o
Menambah primary key pada
tabel :
Alter table namatabel add primary key (namakolom);
3.
Temporary tabel
Temporary tabel sifatnya hanya
sementara, artinya aktif hanya ketika kita sedang berada atau login ke
database namun ketika kita logout dari psql database maka secara
otomatis temporary tabel akan terhapus.
Struktur query yang digunakan
membuat tabel dengan dua kolom:
create temporary table namatabel (namakolom
tipedata keterangan , namakolom tipedata keterangan);
4.
Grant dan Revoke
Grant : untuk memberi hak akses pada user tertentu
Revoke : untuk menghapus hak akses pada user tertentu
o
Grant untuk semua hak akses
:
Grant all on table namatabel to
namauser;
o
Revoke untuk semua hak
akses :
Revoke all on table namatabel from namauser;
o
Revoke untuk menghapus
salah satu hak akses, misal UPDATE :
Revoke update on table namatabel from namauser;
o
Grant untuk memberi salah
satu hak akses, misal DELETE :
Grant delete on table namatabel to namauser;
5.
Turunan
(inheritance)
dipergunakan jika ingin
membuat sebuah tabel baru yang berhubungan dengan tabel yang ada, dengan kata
lain turunan tabel pertama.
query INHERITANCE :
create temporary table
namatabel (namakolom tipedata keterangan , namakolom tipedata keterangan)
inherits (namatabelinduk);
(Modul Prak
DBD bab II 2014)
B.
Hasil
1.
Hasil praktikum
1.1.
Menggunakan SQL Shell
Praktikum kali ini membahas tentang pembuatan dan manajemen tabel,
sekarang kita belajar bagaimana membuat tabel terlebih dahulu.
1)
Seperti biasa, Buka SQL
shell nya – masukkan username dan password kemudian koneksikan ke database anda
dengan cara \c nama database. Seperti dibawah ini \c dwirahayu13650005; maka
akan terkoneksi.
2)
Buat tabel baru dengan nama
identitasNIM dengan field yang telah ditentukan. Ketik create table
dwirahayu13650005 (id_idn int not null, namaDepan_idn varchar(10),
namaBelakang_idn varchar(10), tgl_lhr_idn date, status_idn bool, Alamat_idn
text); kemudian enter, jika berhasil akan muncul CREATE TABLE.
3)
Cek tabel yang telah dibuat
diatas dengan \d dwirahayu13650005 (\d namatabel).
4)
Buat tabel lagi dengan nama
‘pegawai’ dan nama field sama dengan tabel identitas. Ketik create table
pegawai (id_idn int not null, namaDepan_idn varchar(10), namaBelakang_idn
varchar(10), tgl_lhr_idn date, status_idn bool, Alamat_idn text); kemudian
enter. Dan cek tabel tersebut dengan \d pegawai.
5)
menghapus kolom
‘alamat_idn’ dengan cara alter table pegawai drop column “alamat_idn”; dan cek
dengan \d pegawai;
6)
menambahkan kolom
‘pekerjaan_idn’ dengan type data varchar dengan cara alter table pegawai add
column "pekerjaan_idn" varchar; dan tampilkan.
7)
ubah nama tabel pegawai
menjadi pekerjaNIM. Caranya ketik alter table pegawai rename to
pekerta13650005;
8)
Ubah nama kolom
‘pekerja_idn’ menjadi ‘alamat_idn’ dengan alter table pekerja13650005 rename
column “pekerja_idn” to alamat_idn; dan tampilkan.
9)
Memberikan Primary Key pada
tabel pekerja13650005. Ketikan : alter
table pekerja13650005 add primary key (id_idn); dan tampilkan.
10)
mengubah type data pada
kolom ‘alamat_idn’ menjadi text. Ketik
alter table pekerja13650005 alter column alamat_idn type text;
11)
Menghapus tabel
pekerja13650005. Ketik drop table pekerja13650005;
12)
Membuat temporary tabel
dengan nama mahasiswa_sementara dengan 3 kolom, yaitu id, nama dan tanggal
lahir. Ketik create table mahasiswa_sementara (id_mhs int, nama_mhs varchar,
Tgl_lhr date);
13)
Menghapus semua hak akses
database dwirahayu13650005 dari administrator, caranya buka SQL Shell baru
kemudian masuk dengan username dwirahayu13650005. Dan ketik revoke all on table
dwirahayu13650005 from dwirahayu pada SQL shell administrator.
Kemudian cek pada SQL shell yang kedua. Dengan cara select * from
dwirahayu13650005;
14)
Memberikan hak akses
kembali dengan cara ketik grant all on table dwirahayu13650005 to dwirahayu;
Kemudian cek di SQL Shell yang kedua dengan ketik select * from
dwirahayu13650005;
15)
Hapus hak akses SELECT
dengan cara revoke select on table dwirahayu13650005 from dwirahayu;
Kemudian cek di SQL Shell yang kedua dengan select * from
dwirahayu13650005;
16)
Membuat tabel baru dengan
nama Gaji dari turunan tabel pertama dan ditambahhkan kolom gaji, pajak dan
gaji bersih. Dengan cara create temporary table gaji (gaji_kotor int, pajak
int, gaji_bersih int) inherits (dwirahayu13650005);
berhasil membuat tabel turunan ^_^
2. Tugas rumah
Dibawah ini pengerjaan soal-soal seperti diatas dengan Menggunakan MySQL
1.
Double klik xampp control
panel, kemudian akan muncul dan klik start pada actions Apache, MySQL dan
FileZilla.
Atau dengan cara : CREATE DATABASE ‘dwi13650005’;5. buat tabel dengan nama identitasNIM seperti dibawah ini
Atau bisa juga :
CREATE TABLE nama_tabel( kolom1 type_data(ukuran) atribut ,kolom1 type_data(ukuran) atribut,kolom1 type_data(ukuran) atribut,kolom1 type_data(ukuran) ,...kolom_n type_data(ukuran));
Contoh :
CREATE TABLE identitas13650005(
‘Id_idn’ INT(8) NOT NULL,
‘namaDepan_idn’ varchar(10),
‘namaBelakang_idn’ varchar(10),
‘Tgl_lhr_idn’ date,
‘status_idn’ boolean,
‘alamat_idn’ text);
Kemudian enter/save.
(7-save)
Kemudian cek hasilnya dengan : SELECT * FROM identitas13650005;
6.
buat tabel pegawai dengan
field sama dengan tabel identitas.
Create table – tuliskan ‘pegawai’ pada name dan isikan 6 pada number of columns – kemudian Go.
Isikan sesuai yang diinginkan kemudian save. Maka sekarang ada dua tabel yang telah kamu buat.
Kemudian akan muncul kotak apakah anda yakin untuk mendelete?
Klik ok maka alamat pegawai sudah terhapus
ALTER TABLE ‘pegawai’ ADD ‘pekerjaan_pegawai’ VARCHAR(20) NOT NULL;
Pertama RENAME TABLE ‘dwi13650005’.’pegawai’ TO ‘dwi13650005’.’pekerja13650005’;
Kemudian ALTER TABLE ‘pekerja13650005’ CHANGE ‘pekerjaan_pegawai’.’alamat_pegawai’ VARCHAR(20) CHARACTER SET latin1 COLLATE latin1_swedish_cl NOT NULL;
DROP TABLE pekerja13650005;
CREATE TABLE identitas13650005(‘Id_mhs’ INT(8) NOT NULL, ‘nama_mhs’ varchar(10), ‘Tgl_lhr_mhs’ date);
Seperti sebelumnya, create new table – isikan nama tabel – dan isi 9 pada
number of columns.
selesai ^_^
2. Kritik dan Saran
Ketika praktikum di lab, kami cukup memahami apa yang disampaikan dan apa yang harus dikerjakan. namun, ketika mengerjakan tugas rumah, kami memiliki kesulitan karena kurangnya penjelasan lengkap mengenai tugas. mungkin lebih baik jika dijelaskan secara lengkap tentang tugas dan ada modul yang mendukung pengerjaan tugas, atau ada contoh yang benar agar kami bisa menyelesaikannya dengan benar pula.
3. Manfaat Pembaca
Pembaca dapat mengetahui bagaimana Membuat database dan menyunting database. serta mengetahui perbedaan ketika mengerjakannya di postgreSQL dan di MySQL, sehingga mempermudah pengerjaan.
E. DAFTAR PUSTAKA
Kadir, Abdul. Mudah Mempelajari Database MySQL. 2010. Yogyakarta : Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
http://maliklastchild22.wordpress.com/2012/11/09/7/
C.
Perbandingan
No
|
PostgreSQL
|
MySQL
|
Keterangan
|
1
|
CREATE DATABASE DB_AKADEMIK;
|
CREATE DATABASE ‘nama_database’;
|
Membuat database
|
2
|
DROP DATABASE NAMADATABASE;
|
DROP DATABASE ‘nama_database’;
|
Menghapus database
|
3
|
Create table namatable (namakolom
tipedata keterangan, namakolom tipedata keterangan);
|
CREATE TABLE
nama_tabel(
kolom1 type_data(ukuran) atribut , kolom1 type_data(ukuran) atribut, kolom1 type_data(ukuran) atribut, kolom1 type_data(ukuran) , ... kolom_n type_data(ukuran)); |
Membuat tabel baru
|
4
|
alter
table namatabel drop column “namakolom”;
|
ALTER TABLE ‘namatabel’ DROP ‘kolom’;
|
Menghapus kolom
|
5
|
alter
table namatabel add column “namakolom” tipe data;
|
ALTER TABLE ‘namatabel’ ADD ‘namakolom’
TYPEDATA KETERANGAN;
|
Menambah kolom
|
6
|
alter
table namatabelasal rename to namatabelbaru;
|
RENAME TABLE ‘namadatabase’.’namatabelasal’
TO ‘namadatabase’.’namatabelpengganti’;
|
Mengubah nama tabel
|
7
|
alter
table namatable rename column “namakolom asal” to namakolombaru;
|
ALTER TABLE ‘namatabel’ CHANGE ‘namakolomasal’.’namakolombaru’
TYPEDATA KETERANGAN;
|
Mengubah nama kolom
|
8
|
alter
table namatable alter column namakolom type namatypepengganti;
|
ALTER TABLE ‘namatabel’ CHANGE ‘namakolomasal’.’namakolombaru’
TYPEDATA KETERANGAN;
|
Mengubah type kolom
|
9
|
alter
table namatabel add primary key (namakolom);
|
ALTER TABLE ‘namatabel’ ADD PRIMARY
KEY (‘namakolom’);
|
Menambah primary key
|
10
|
grant
all on table namatabel to namauser;
|
Grant insert, update, delete on ‘namatabel’
to public
|
Memberi hak akses
|
11
|
revoke
all on table namatabel from namauser;
|
Revoke select on ‘namatabel’ To Public
|
Menghapus hak akses
|
(tabel
perbandingan pekerjaan di postgre & mySQL)
TUGAS : Buat database dan tabel sistem pada pertemuan 1 menggunakan query dan dilengkapi dengan tampilan strukturnya.
gambar ERD :
Database struktur
CREATE DATABASE 'perancangan';
1. Barang
CREATE TABLE 'barang' ('kd_barang' INT(10) NOT NULL, 'nm_barang' VARCHAR(30), 'kd_kategori' VARCHAR(15), 'hrg_beli' INT(11), 'hrg_jual' INT(11), 'jumlah' INT(11));
2. detail_pembelian
CREATE TABLE 'detail_pembelian' ('kd_detail_pembelian' INT(10) NOT NULL, 'no_beli' INT(10), 'kd_barang' VARCHAR(10), 'jumlah' INT(11), 'hrg_beli' INT(11));
3. detail_penjualan
CREATE TABLE 'detail_penjualan' ('kd_detail_penjualan' INT(10) NOT NULL, 'no_jual' INT(10), 'kd_barang' VARCHAR(10), 'jumlah' INT(11), 'hrg_jual' INT(11));
4. detail_retur
CREATE TABLE 'detail_retur' ('kd_retur' INT(10) NOT NULL, 'kd_retur' INT(10), 'jumlah' INT(11), 'hrg_jual' INT(11), 'barang_retur' VARCHAR(15));
5. detail_tukar
CREATE TABLE 'detail_tukar' ('kd_tukar' INT(10) NOT NULL, 'kd_retur' VARCHAR(10), 'jumlah_tukar' INT(10), 'harga_jual' INT(11), 'kd_barang' VARCHAR(10));
6. kategori
CREATE TABLE 'kategori'('kd_kategori' INT(10) NOT NULL, 'nama_kategori' VARCHAR(35));
7. pelanggan
CREATE TABLE 'pelanggan' ('id_pelanggan' INT(8) NOT NULL, 'nama' VARCHAR(40), 'alamat' TEXT, 'jns_kelamin' VARCHAR(1), 'no_telp' INT(11));
8. pelunasan
CREATE TABLE 'pelunasan' ('kd_pelunasan' INT(11) NOT NULL, 'no_beli' INT(11), 'status' TYNYINT(1), 'sisa_bayar' INT(11), 'jml_bayar' INT(11), 'tanggal' DATE);
9. pemasok
CREATE TABLE 'pemasok' ('id_pemasok' INT(8) NOT NULL, 'nama' VARCHAR(35), 'perusahaan' VARCHAR(40), 'alamat' TEXT, 'no_telp' INT(11));
10.pembelian
CREATE TABLE 'pembelian' ('no_beli' INT(11) NOT NULL,'id_pemasok' INT(11), 'tgl_pembelian' DATE, 'status_bayar' TYNYINT(1), 'sisa_bayar' INT(11), 'jatuh_tempo' VARCHAR(10), 'id_user' VARCHAR(25));
11. penjualan
CREATE TABLE 'penjualan' ('no_jual' INT(10) NOT NULL, 'tgl_transaksi' DATE, 'id_pelanggan' INT(11), 'id_user' INT(11));
12. retur
CREATE TABLE 'return' ('kd_return' INT(11) NOT NULL, 'tanggal' DATE, 'status_tukar' VARCHAR(10), 'no_jual' INT(10));
13. setting
CREATE TABLE 'setting' ('kdl' INT(11) NOT NULL, 'discount' INT(11), 'jumlah_beli' INT(11), 'min_stock' INT(11));
14. user
CREATE TABLE 'user' ('id_user' INT(10) NOT NULL, 'nama' VARCHAR(40), 'alamat' VARCHAR(45), 'no_telp' INT(12), 'username' VARCHAR(20), 'password' VARCHAR(10), 'hak_akses' MEDIUMINT(9));
D. KESIMPULAN
1. Rangkuman
Praktikum diatas membahas tentang elemen-elemen basis data relasional. dimana struktur dasar dari basis data relasional adalah tabel, kolom (field), baris(record), dan kunci.
*tabel : sekumpulan informasi secara logis yang terkait dan diperlakukan sebagai unit.
*baris : kejadian tunggal yang berisi data di dalam tabel.
*kolom : semua baris didalam tabel terdiri atas sekumpulan kolom yang sama.
*kunci : kunci utama adalah suatu kolom (atau kelompok kolom) dimana nilai unik digunakan untuk mengidentifikasi setiap baris didalam tabel.
(Janner Simarmata. 2007. Perancangan Basis Data. Yogyakarta : Andi) hlm. 41
Ketika praktikum di lab, kami cukup memahami apa yang disampaikan dan apa yang harus dikerjakan. namun, ketika mengerjakan tugas rumah, kami memiliki kesulitan karena kurangnya penjelasan lengkap mengenai tugas. mungkin lebih baik jika dijelaskan secara lengkap tentang tugas dan ada modul yang mendukung pengerjaan tugas, atau ada contoh yang benar agar kami bisa menyelesaikannya dengan benar pula.
3. Manfaat Pembaca
Pembaca dapat mengetahui bagaimana Membuat database dan menyunting database. serta mengetahui perbedaan ketika mengerjakannya di postgreSQL dan di MySQL, sehingga mempermudah pengerjaan.
E. DAFTAR PUSTAKA
Kadir, Abdul. Mudah Mempelajari Database MySQL. 2010. Yogyakarta : Andi
Simarmata, Janner. 2007. Perancangan Basis Data. Yogyakarta : Andi
http://maliklastchild22.wordpress.com/2012/11/09/7/
1 komentar:
Bagus...
Laporan minggu depan, untuk tugas rumah yang pakai mySQL, jangan pakai versi GUI ya, pakek mySQL yang tampilannya mirip SQL Shell biar lebih greget
Posting Komentar