PEMBUATAN DAN MANAJEMEN TABEL
LANDASAN TEORI
MySQL banyak
digunakan untuk menyimpan data keuangan dan transaksi bisnis. Kemampuan untuk
menyimpan database dengan jumlah besar dan tingkat keamanan yang tinggi
merupakan fitur yang sangat menarik dari MySQL. MySQL menggunakan Structured
Query Language sebagai bahasa pemrograman untuk mengakses data dari dari server
MySQL. Dalam SQL, data tersimpan dalam tabel-tabel yang secara logis merupakan
struktur dua dimensi yang terdiri atas baris-baris data (row atau record) yang
berada dalam satu atau beberapaka kolom (column atau field). Baris pada tabel
sering disebut sebagai instance dari data sedangkan kolom sering disebut
sebagai atributes atau field.
Dalam SQL terdapat 3 bahasa, yaitu :
DDL merupakan perintah-perintah yang biasa digunakan administrator database
untuk mendefinisikan skema dan subskema database.Dalam SQL terdapat 3 bahasa, yaitu :
Data Definition Language (DDL) mempunyai fungsi utama untuk mendefinisikan data dalam database secara logika, diantaranya yaitu:
Digunakan untuk mendefinisikan karakteristik dari record (meliputi nama, tipe dan lebar dari field), untuk menentukan kunci field, menyediakan cara untuk menentukan hubungan dengan data di file lain, untuk mengubah struktur dari record, untuk menampilkan struktur dari record. DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel. Perintah yang termasuk DDL:
CREATE » untuk membuat, termasuk diantaranya membuat database dan tabel baru.
ALTER » untuk mengubah struktur tabel yang telah dibuat.
DROP » untuk menghapus database dan tabel.
DML merupakan merupakan perintah-perintah yang memungkinkan pengguna melakukan akses dan manipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat, Data Manipulation Language digunakan untuk memanipulasi database yang telah didefinisikan dengan DDL. Perintah yang termasuk DML:
INSERT » untuk menyisipkan atau memasukan dalam tabel
UPDATE » untuk memperbaharui data lama menjadi data terkini
DELETE » untuk menghapus datadari tabel
SELECT » untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel.
DCL merupakan merupakan perintah-perintah yang digunakan untuk mengontrol data. Perintah yang termasuk DCL:
GRAND » untuk memberikan hak atau izin akses oleh administrator server kepada user
REVOKE » untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.
Ø Membuat tabel
Tabel harus memiliki
primary key, artinya dalam pembuatan tabel haruslah terdapat sekelompok kolom (field)
yang menyebabkan setiap baris (record) dalam tabel tersebut tidak sama
dan juga digunakan untuk mempercepat dalam pencarian.
Deklarasi primary key
tidak boleh kosong (null), jadi kita harus mendeklarasikan sebagai not
null. Namun secara default PostgreSQL menganggapnya sebagai nullable (boleh
kosong), jika waktu pengisian tidak menyebutkan null atau not null.
Query untuk membuat tabel
adalah :
create table
namatabel(kolom1 tipe_data keterangan, kolom2 tipe_data keterangan,...);
untuk jumlah kolom
sesuaikan dengan kebutuhan. Dalm hal ini baik PostgreSQL maupun MySQL memiliki
query yang sama termasuk dalam penghapus tabel bisa dengan perintah “drop table
namatabel;”
Untuk melihat struktur
dalam tabel yang telah dibuat ketikkan perintah “\d” dan melihat semua tabel
dengan menggunakan “\z” untuk DBMS PostgreSQL. Sedangkan pada MySQL untuk melihat
struktur dalam tabel yang telah dibuat ketikkan perintah “desc namatabel;” dan
melihat semua tabel dengan menggunakan “show tables;”
Ø Manipulasi tabel
Dalam database, tabel yang
telah dibuat tetap dapat diubah strukturnya. Berikut merupakan beberapa
perintah yang digunakan dalam memanipulasi tabel.
-
Query yang digunakan untuk menghapus kolom
PostgreSQL
dan MySQL : alter table namatabel drop column “namakolom”;
-
Query yang digunakan untuk menambah kolom
PostgreSQL
: alter table namatabel add column (namakolom tipedata keterangan);
MySQL
: alter table namatabel add(namakolom tipedata keterangan);
-
Query yang digunakan untuk mengubah nama tabel
PostgreSQL
dan MySQL : alter table namatabelasal rename to namatabelbaru;
-
Query yang digunakan untuk mengubah nama kolom
PostgreSQL : alter table
namatabel rename column “namakolomasal” to “namakolombaru”;
MySQL : alter table “namatabel”
drop “namakolomasal”, add (“namakolombaru” tipedata keterangan);
Jadi dalam MySQL terlebih
dahulu menghapus kolom yang lama lalu embuat kolom yang baru, tidak bisa
langsung rename seperti pada PostgreSQL.
-
Query yang digunakan untuk menambah primary key
PostgreSQL dan MySQL :
alter table namatabel add primary key(namakolom);
Ø Temporary tabel
Temporary tabel sifatnya
hanya sementara artinya akan aktif hanya ketika kita sedang berada atau login
ke database namun ketika kita logout dari psql database maka
secara otomatis temporary tabel akan terhapus.
Query untuk membuat
temporary table pada MySQL dan PostgreSQL memiliki kesamaan, yaitu:
Create temporary table
namatabel (kolom1 tipedata keterangan, kolom2 tipedata keterangan,....dst);
Ø GRANT and REVOKE
-
Query GRANT untuk semua hak akses
PostgreSQL
: grant all on table namatabel to namauser;
MySQL
: grant all privileges on namatabel.* to namauser@namahost;
-
Query GRANT untuk memberi salah satu hak akses
PostgreSQL
: grant select on tabel namatabel to namauser;
MySQL
: grant select on namatabel.* to namauser@namahost;
-
Query REVOKE untuk semua hak akses
PostgreSQL
: revoke all on table namatabel from namauser;
MySQL
: revoke all privileges on namatabel.* from namauser@namahost;
-
Query REVOKE untuk salah satu hak akses (contohnya
select)
PostgreSQL
: revoke select on table namatabel from namauser;
MySQL
: revoke select on namatabel.* from namauser@namahost
Ø Turunan
(Inheritance)
INHERITANCE dipergunakan
jika ingin membuat sebuah tabel baru yang berhubungan dengan tabel yang ada,
dengan kata lain turunan tabel pertama. Struktur penggunaan query INHERITANCE:
create temporary table namatabel
(namakolom1 tipedata keterangan , namakolom2 tipedata keterangan) inherits
(namatabelinduk);
HASIL PERCOBAAN
Setelah dilakukan praktikum kemarin, lalu saya mencoba
sendiri di rumah dengan menggunakan MySQL. Berikut merupakan hasil pekerjaan
praktikum dengan menggunakan MySQL sebagai bahan perbandingan dengan PostgreSQL.
Namun sebelum pengerjaan tugas-tugas berikut karena tabel adalah sebuah bagian
dari database, terlebih dahulu praktikan harus membuka database yang telah
saya buat pada praktikum lalu, perintah yang digunakan untuk membuka database pada MySQL adalah “show databases;” untuk melihat list database yang
ada di server MySQL, lalu setelah database yang dicari ada, maka praktikan
harus mengaktifkan database dengan perintah “use namadatabase” contoh use dwi13650036; seperti pada
gambar dibawah ini :
Membuat sebuah tabel dengan nama identitas NIM dan dengan nama fieldnya sesuai tabel dibawah ini :
Untuk membuat table diatas cukup dengan
menggunakan perintah :
"Create table identitasNIM(id_idn integer not
null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10), tgl_lahir_idn
date, status_idn boolean, alamat_idn text);"
tanpa tanda petik ya..
Maka akan muncul seperti tabel dibawah ini :
Untuk menampilkan struktur tabel seperti diatas dengan perintah:
Desc identitasNIM;
Desc identitasNIM;
Membuat tabel lagi dengan nama pegawai dengan nama field nya sama dengan tabel identitas, dengan perintah
:
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);
Lalu menampilkan struktur tabel pegawai
dengan perintah :
Desc pegawai;
a.
Menghapus kolom alamat_idn
dan menampilkan struktur tabel.
Untuk menghapus kolom alamat_idn di MySQL
dengan perintah:
alter table pegawai drop alamat_idn;
setelah itu kita cek apakah sudah benar-benar
terhapus.
a.
Menambahkan kolom
pekerjaan_idn dengan tipe data varchar dan menampilkan struktur tabel pegawai
dengan perintah:
alter table pegawai add (pekerjaan_idn varchar(15));
lalu menampilkan struktur table, dengan perintah :
desc pegawai;
a.
Mengganti nama tabel
pegawai menjadi tabel pekerjaNIM.
Untuk mengganti nama tabel kita memakai
perintah:
Alter table pegawai rename pekerjaNIM;
a.
Mengganti kolom
pekerjaan_idn menjadi alamat_idn pada tabel pegawai.
perintah diatas dalam MySQL dapat diartikan
menghapus kolom pekerjaan_idn pada tabel
pegawai lalu menambahkan kolom alamat_idn pada tabel pegawai. Langkah tersebut
dapat dibuat dengan perintah :
alter table pekerjaNIM drop pekerjaan_idn,
add (alamat_idn text);
untuk memastikan apakah query berhasil
dijalankan maka kita harus mengeceknya pada struktur table, dengan perintah
desc pekerjaNIM. Seperti pada tabel dibawah ini:
a.
Memberikan primary key pada
tabel pekerjaNIM kemudian mengubah type data pada kolom alamat_idn menjadi
text. Kemudian menampilkan struktur tabelnya.
Alter table pekerjaNIM add primary key(id_idn);
Setelah muncul tulisan “Query OK..bla bla
bla”, langsung cek struktur tabelnya dengan perintah:
desc pekerjaNIM;
lihat gambar dibawah ini:
a.
Menghapus tabel pekerjaNIM.
Perintah yang digunakan dalam menghapus tabel adalah:
Perintah yang digunakan dalam menghapus tabel adalah:
drop table pekerjaNIM;
seperti gambar dibawah ini :
a.
Membuat temporary tabel
dengan nama mahasiswa_sementara dengan tiga kolom yaitu id, nama, tanggal
lahir, dan tampilkan tabel strukturnya. Perintah yang digunakan untuk membuat
temporary tabel sama dengan PostgreSQL, yaitu:
Create temporary table
mahasiswa_sementara(id integer primary key, nama varchar(10), tanggal_lahir);
Lihat gambar dibawah ini:
a.
Hapus semua hak akses table
tertentu kepada salah satu user yang telah dibuat dan lakukan pengecekan
kembali. Hapus hak akses select table tertentu kepada salah satu user dan
lakukan pengecekan.
Sebelum me_revoke terlebih dahulu kita
harus mengecek list grants dari user yang ingin kita cabut hak aksesnya, dengan
perintah:
Show grants for dwiuw@localhost;
Lihat gambar dibawah ini, dan amati apa yang
terjadi.
Setelah muncul list grant pada user tertentu,
kita bisa langsung me_revoke user tertentu untuk mengakses tabel tersebut,
dengan perintah:
revoke all privileges on identitasNIM.*
from dwiuw@localhost;
dan untuk mengecek, kita bisa menuliskan
perintah
show grants for dwiuw@localhost;
Setelah itu, dalam soal diperintahkan untuk
mengembalikan semua hak akses user tertentu dengan perintah:
grant all privileges on identitasNIM.* to
dwiuw@localhost;
lalu kita cek list grants user dwiuw untuk
memastikan.
Setelah grant kembali ke all privileges,
coba kita ketik perintah select untuk mencabut hak akses select pada user dwiuw
dengan perintah sebagai berikut:
revoke select on identitasNIM.* from
dwiuw@localhost;
lihat gambar dibawah ini:
setelah berhasil, lalu cek untuk membuktikan, seperti gambar dibawh ini :
Membuat tabel baru engan
nama Gaji, dengan catatan pembuatan tabel berasal dari turunan tabel nomer satu
dan tambahkan kolom gaji kotor, pajak dan gaji bersih. Kemudian menampilkan
strukturnya. Karena praktikan belum menemukan
query yang sesuai untuk inheritans ini di MySQL, maka praktikan membuat table
gaji secara manual dengan perintah query dibawah ini:
Create table gaji(id_idn integer
not null, namaDepan_idn varchar(10), namaBelakang_idn varchar(10),
tgl_lahir_idn date, status_idn boolean, alamat_idn text, gaji_kotor integer,
gaji_bersih integer, pajak_integer);
Lalu kita ketikkan perintah desc
gaji;
Agar kita bisa melihat struktur
tabel gaji yang baru saja kita buat. perhatikan gambar dibawah ini :
TUGAS RUMAH
Membuat database dan tabel sistem pada pertemuan 1
menggunakan query dan dilengkapi dengan tampilan strukturnya.
Pada pertemuan satu kemarin, saya membuat ERD Sistem
Informasi Toko Sembako
Berdasarkan ERD sistem Informasi Toko Sembako diatas, untuk
memudahkan penyimpanan data saya membuat
database dengan nama tokosembako. Berikut query nya :
create database tokosembako;
setelah membuat database, kita harus mengaktifkan database yang baru saja kita buat terlebih dahulu, dengan perintah:
use tokosembako;
Langkah selanjutnya ialah membuat table di dalam database
yang telah dibuat,
Tabel Pertama : barang
Query :
create table barang (id_barang integer primary key, nama_barang varchar(15),
harga integer, stok integer);
lalu untuk melihat struktur tabelnya, desc barang;
Tabel Kedua
: karyawan
Query :
create table karyawan (id_karyawan integer primary key, nama_karyawan varchar(25),
bagian varchar);
lalu melihat desc table nya dengan perintah : desc karyawan;
lalu melihat desc table nya dengan perintah : desc karyawan;
Tabel ketiga : pembeli
Query : create table pembeli (id_pembeli integer primary key, nama_pembeli
varchar(15), alamat text, no_hp varchar(12));
untuk melihat struktur tabel pembeli : desc pembeli;
Tabel keempat : transaksi
Query : create table transaksi (id_transaksi integer primary key,
tgl_transaksi date, id_barang integer, id_karyawan integer, id_pembeli
integer);
untuk melihat struktur tabel transaksi : desc transaksi;
EVALUASI PERBANDINGAN DBMS
POSTGRESQL dan
MYSQL
Dibawah ini merupakan tabel
perbedaan antara Query pada PostgreSQL dan MySQL:
KESIMPULAN
Dari praktikum
desain basis data kali ini, dapat diambil kesimpulan bahwa dalam suatu database
terdapat bahasa-bahasa yang memiliki fungsi tersendiri untuk menangani
masalah-masalah yang ada dalam database,bahasa-bahasa tersebut meliputi DDL,
DML, dan DCL. melalui query-query pada bahasa tersebut, praktikan dapat membuat
table dan menghapus tabel yang ada pada database. selain itu mahasiswa juga dapat
memahami cara mengedit struktur tabel meliputi mengubah nama tabel, mengubah
nama kolom, mengganti kolom, serta menghapus kolom dalam tabel. melalui
praktikum ini praktikan dapat mengetahui cara mengakses serta mencabut akses
user tertentu pada database dengan query-query tertentu. Semua kegiatan-kegiatan
tentang pembuatan serta manajemen tabel dapat dilakukan pada banyak DBMS. Salah
duanya PostgreSQL dan MySQL. diantara dua DBMS tersebut memiliki kelebihan
serta kekurangan tersendiri pada query-query nya. seperti pada PostgreSQL dapat
dilakukan manipulasi table "inheritance namun pada MySQL tidak ada.
MANFAAT BAGI PEMBACA
Semoga postingan tentang
pembuatan dan manajemen tabel ini dapat
bermanfaat buat pembaca,
tentunya dapat
menjadi referensi pembaca dalam
pembuatan dan manajemen tabel khususnya
pada
DBMS PostgreSQL maupun MySQL.
KRITIK dan SARAN
Kritik untuk praktikum kali ini adalah terlalu santainya
praktikan saat praktikum sehingga tidak mempersiapkan
apapun pada malam harinya, jangankan belajar... membuka
modul aja nggag.. hehehe..
untuk pratikum selanjutnya diharapkan dengan sangat,
praktikan telah mencoba mempelajari modul yang
telah diberikan agar ketika praktikum, kebingungan praktikan sedikit terkurangi.
sumber:
Wahana komputer. 2006. Pengolahan Database dengan MySQL.
Yogyakarta : ANDI.
http://prajuritbatin.blogspot.com/2012/08/defnisi-sql-ddl-dml-dcl-dan-fungsinya.html
http://prajuritbatin.blogspot.com/2012/08/defnisi-sql-ddl-dml-dcl-dan-fungsinya.html
Fathansyah. 2012. Basis Data. Bandung : Informatik
http://blog.uin-malang.ac.id/mrwt/2011/10/18/pembuatan-dan-manajemen-tabel/
http://blog.uin-malang.ac.id/mrwt/2011/10/18/pembuatan-dan-manajemen-tabel/
Komentar
Posting Komentar