A.
Teori
Teori/ materi antara PostgreSQL dengan MySQL semuanya sama dalam
hal perintah dasar SQL. Hanya ada perbedaan dalam segi teknis saja.
a.
Hubungan Antar Tabel (Reference)
Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti, antara tabel yang ingin dihubungkan harus memiliki sebuah field atau kolom dengan tipe data yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk menghubungkan ke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang. Berikut query kedua tabel tersebut :
·
create table macam_barang (id_mac integer not null, nama_mac
varchar(15), guna_mac varchar(40), primary key (id_mac));
o
create table barang (id_bar integer not null, nama_bar varchar(15), id_mac
integer not null references macam_barang, primary key (id_bar, id_mac));
Atau ketika kita lupa memberikan references pada tabel macam barang kita dapat
memberikan query sebagai berikut :
o alter table barang add constraint relasi_barang foreign key (id_mac)
references macam_barang (id_mac) on update no action on delete no
action;
Sebuah data dapat dimasukkan ke dalam tabel menggunakan perintah INSERT.
Namun hal yang perlu diperhatikan yaitu struktur tabel yang akan digunakan untuk
memasukkan data. Sebagai contoh memasukkan data ke dalam tabel dengan nama
identitas :
insert into identitas values (1, ’wahyu’ , ’1992-07-23’ , false , ’programer’);
Berikut penjelasan :
- Kolom pertama berisikan (1), karena tipe datanya adalah integer maka tanda petik
tidak digunakan.
- Kolom kedua („wahyu‟) dan kelima („programer‟), karena tipe datanya varchar maka
tanda petik diperlukan, bila tanpa ada tanda petik maka dianggap salah.
- Kolom ketiga (‟1992-07-23‟), tipe data Date dianggap sebagai sebuah string
sehingga harus menggunakan tanda petik.
- Kolom keempat (false), tipe data kolom ini Boolean yang hanya mengijinkan inputan
true atau false dan tidak perlu tanda petik.
Dalam database, perintah SQL untuk menampilkan data sebuah tabel bisa menggunakan SELECT. Berikut struktur SQL untuk penampilan data berdasarkan kolom tertentu :
Select nama_kolom from nama_tabel;
Jika ingin menampilkan keseluruhan kolom dan keseluruhan baris suatu tabel bisa mengganti nama_kolom menggunakan tanda asterisk (*).
Kemudian, bila ingin menampilkan berdasarkan baris tertentu bisa menggunakan perintah WHERE yang diletakkan dibelakang nama tabel dan isikan nama kolom beserta kata kunci sebagai dasar atau syarat dari pencarian baris. Untuk lebih jelasnya berikut struktur perintah SQL nya : select nama_kolom from nama_tabel where nama_kolom = kata kunci;
Apabila ingin menampilkan data dari lebih dari satu tabel, struktur SQL nya terdapat sedikit perbedaan. Misalnya memakai tabel yang telah dibuat pada praktikum ke- 2 yaitu mahasiswa dan fakultas (Dengan syarat adanya relasi antara kedua tabel tersebut). Berikut Struktur SQL nya :
select nama_kolom, nama_kolom, nama_kolom, nama_kolom from
nama_tabel_1, nama_tabel_2 where nama_tabel_1.nama_kolom =
nama_tabel_2.nama_kolom;
Perintah SQL diatas akan menampilkan nim mahasiswa, nama mahasiswa, nomor fakultas, dan nama fakultas. Pada perintah setelah WHERE terdapat 2 nama kolom id_fk, hal tersebut dimaksudkan penyamaan antara primary key milik dari tabel fakultas dengan foreign key milik dari tabel mahasiswa.
d.
Menghapus Data
Pada database PostgreSQL, DELETE digunakan untuk menghapus data pada sebuah tabel. Berikut Struktur yang digunakan : delete from namatabel ;
Arti dari struktur diatas yaitu menghapus semua baris data dari nama tabel yang tertulis. Namun bisa juga digunakan penghapusan berdasarkan spesifikasi baris atau baris tertentu saja. Berikut Strukturnya :
delete from nama tabel where namakolom = katakunci;
Berikut struktur perintah SQL untuk pengurutan berdasarkan kolom secara descending:
select * from nama_tabel order by nama_kolom desc;
Berikut struktur perintah SQL untuk pengurutan berdasarkan beberapa kolom :
select * from nama_tabel order by nama_kolom asc, nama_kolom desc;
Berikut struktur perintah SQL untuk pengurutan berdasarkan nomor kolom :
select * from nama_tabel order by nomor_kolom desc;
*catatan : nomor_kolom dimulai dari kiri, misal terdapat kolom nim, nama. Maka jika ingin
mengurutkan berdasarkan nama kita perlu mengganti nomor_kolom menjadi 2.
B.
Hasil
Praktikum
a.
Hasil
Praktikum PostgreSQL
1.
Setelah
masuk di akun dan database yang diinginkan, ketikkan kode “CREATE TABLE
fakultas (id_fak integer not null, nama_fak varchar(30), PRIMARY KEY(id_fak));”
untuk membuat table fakultas.
2.
Setelah
berhasil membuat table fakultas, masukkan data-datanya dengan kode “INSERT
INTO fakultas VALUES (data_id_fak, ‘data_nama_fak’);”.
3.
Coba
tampilkan tabel yang telah berisi data dengan kode “SELECT * FROM fakultas;”,
jika berhasil akan muncul tabel seperti di bawah ini.
4.
Lalu
kita buat tabel mahasiswa yang akan dihubungkan dengan tabel fakultas. Kodenya
“CREATE TABLE mahasiswa (nim_mah integer not null, nama_mah varchar(35),
alamat_mah varchar(25), no_telp varchar(15), id_fak integer not null references
fakultas, primary key(nim_mah, id_fak));”.
5.
Jika
berhasil membuat tabel, masukkan datanya dengan command “INSERT INTO
mahasiswa VALUES (data_nim_mah, ‘data_nama_mah’, ‘data_alamat_mah’,
‘data_no_telp’, data_id_fak);”. Langsung coba tampilkan isi tabelnya dengan
“SELECT * FROM mahasiswa;”.
6.
Kemudian
untuk menampilkan nim dan nama mahasiswa dari tabel mahasiswa, kodenya “SELECT
nim_mah, nama_mah FROM mahasiswa;”.
7.
Lalu
tampilkan data mahasiswa dengan memunculkannya sesuai nim mahasiswa, kodenya “SELECT
* FROM mahasiswa WHERE nim_mah=13;”.
8.
Selanjutnya
kita panggil data dari nim, nama, dan
nama fakultas dari tabel mahasiswa dan fakultas, caranya “SELECT nim_mah,
nama_mah, nama_fak FROM mahasiswa, fakultas WHERE
mahasiswa.id_fak=fakultas.id_fak;”.
9.
Akan
kita hapus data dari tabel mahasiswa yang mempunyai nim 13. Caranya “DELETE
FROM mahasiswa WHERE nim_mah=13;”.
10.
Kita
rubah/ update data yang sudah ada sebelumnya dengan menulis kode “UPDATE
mahasiswa SET nama_kolom=’data_isi’ WHERE kondisi;”.
11.
Coba
tampilkan data dari tabel mahasiswa dengan mengurutkan besar ke kecil sesusai
data nim mahasiswa, kodenya “SELECT * FROM mahasiswa ORDER by nim_mah DESC;”.
12.
Kemudian
kita tampilkan data dari tabel fakultas dengan ketentuan 2 kolom saja dan
paling kiri adalah nama_fak, kodenya “SELECT nama_fak, id_fak FROM fakultas
ORDER by 2 ASC;”. Urutannya dari kecil ke besar/ Ascending.
13.
Lalu
kita tampilkan kedua tabel menjadi satu tampilan, caranya ketik “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;”.
14.
Tampilkan
data mahasiswa dan fakultas dari fakultas SAINTEK saja, kodenya “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND
nama_fak=’SAINTEK’;”.
15.
Tampilkan
data mahasiswa dan fakultas dari selain fakultas SAINTEK, kodenya “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND
nama_fak!=’SAINTEK’;”.
16.
Selanjutnya
kita hapus data yang berhubungan dengan SAINTEK, baik di tabel mahasiswa maupun
fakultas. Tapi kalau ingin menghapus harus dari tabel mahasiswa dahulu, jika
tidak akan eror seperti tampilan di bawah ini.
17.
Kode
untuk menghapus data dari tabel mahasiswa adalah “DELETE FROM mahasiswa
WHERE id_fak=1;”. Lalu tampilkan semua data yang ada di tabel mahasiswa,
yang berhubungan dengan fakultas SAINTEK pasti sudah terhapus. Kodenya “SLEECT
* FROM mahasiswa;’.
18.
Kemudian
hapus juga di tabel fakultas dengan kode “DELETE FROM fakultas WHERE
id_fak=1;”. Tampilkan semua data tabel fakultas dengan “SELECT * FROM
fakultas;”.
b.
Hasil
Praktikum MySQL
1.
Setelah
akun masuk, untuk membuat tabel di MySQL, Anda harus mengaktifkan database yang
ingin dipakai, dengan kode “use nama_db;”, kemudian buatlah tabel dengan
kode “CREATE TABLE fakultas (id_fak integer not null, nama_fak varchar(25),
primary key(id_fak));”, coba tampilkan tabelnya jika sudah selesai dengan
ketik “show tables;”.
2.
Kemudian
masukkan data ke dalam tabel fakultas, caranya sama seperti database PostgreSQL
“INSERT INTO fakultas VALUES (data_id_fak, ‘data_nama_fak’);”. Lalu,
tampilkan data yang ada di tabel fakultas untuk memastikan bahwa data sudah
masuk “SELECT * FROM fakultas”.
3.
Lalu
kita buat tabel mahasiswa yang akan dihubungkan dengan tabel fakultas. Kodenya
“CREATE TABLE mahasiswa (nim_mah integer not null, nama_mah varchar(30),
alamat varchar(30), no_telp varchar(15), id_fak integer not null references
fakultas, primary key(nim_mah, id_fak));”. Jika berhasil membuat tabel,
masukkan datanya dengan command “INSERT INTO mahasiswa VALUES (data_nim_mah,
‘data_nama_mah’, ‘data_alamat’, ‘data_no_telp’, data_id_fak);”. Langsung
coba tampilkan isi tabelnya dengan “SELECT * FROM mahasiswa;”.
4.
Kemudian
untuk menampilkan nim dan nama mahasiswa dari tabel mahasiswa, kodenya “SELECT
nim_mah, nama_mah FROM mahasiswa;”.
5.
Lalu
tampilkan data mahasiswa dengan memunculkannya sesuai nim mahasiswa, kodenya “SELECT
* FROM mahasiswa WHERE nim_mah=13;”.
6.
Selanjutnya
kita panggil data dari nim, nama, dan
nama fakultas dari tabel mahasiswa dan fakultas, caranya “SELECT nim_mah,
nama_mah, nama_fak FROM mahasiswa, fakultas WHERE
mahasiswa.id_fak=fakultas.id_fak;”.
7.
Akan
kita hapus data dari tabel mahasiswa yang mempunyai nim 13. Caranya “DELETE FROM
mahasiswa WHERE nim_mah=13;”.
8.
Kita
rubah/ update data yang sudah ada sebelumnya dengan menulis kode “UPDATE
mahasiswa SET nama_kolom=’data_isi’ WHERE kondisi;”.
9.
Coba
tampilkan data dari tabel mahasiswa dengan mengurutkan besar ke kecil sesusai
data nim mahasiswa, kodenya “SELECT * FROM mahasiswa ORDER by nim_mah DESC;”.
10.
Kemudian
kita tampilkan data dari tabel fakultas dengan ketentuan 2 kolom saja dan
paling kiri adalah nama_fak, kodenya “SELECT nama_fak, id_fak FROM fakultas
ORDER by 2 ASC;”. Urutannya dari kecil ke besar/ Ascending.
11.
Lalu
kita tampilkan kedua tabel menjadi satu tampilan, caranya ketik “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak;”.
12.
Tampilkan
data mahasiswa dan fakultas dari fakultas SAINTEK saja, kodenya “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND
nama_fak=’SAINTEK’;”.
13.
Tampilkan
data mahasiswa dan fakultas dari selain fakultas SAINTEK, kodenya “SELECT *
FROM mahasiswa, fakultas WHERE mahasiswa.id_fak=fakultas.id_fak AND nama_fak!=’SAINTEK’;”.
14.
Selanjutnya
kita hapus data yang berhubungan dengan SAINTEK, baik di tabel mahasiswa maupun
fakultas. Tapi kalau ingin menghapus harus dari tabel mahasiswa dahulu, agar
tidak eror. Kode untuk menghapus data dari tabel mahasiswa adalah “DELETE
FROM mahasiswa WHERE id_fak=1;”. Kemudian hapus juga di tabel fakultas
dengan kode “DELETE FROM fakultas WHERE id_fak=1;”. Lalu tampilkan semua
data yang ada di tabel mahasiswa, yang berhubungan dengan fakultas SAINTEK
pasti sudah terhapus. Kodenya “SLEECT * FROM mahasiswa;’. Tampilkan
semua data tabel fakultas dengan “SELECT * FROM fakultas;”.
c.
Tugas
Rumah
Untuk perbedaan perintah dari tugas
praktikum nomor 1-11 tidak ada, semuanya sama. Hanya saja perintah untuk
menampilkan tabel yang ada di database tersebut berbeda. Pada database
PostgreSQL “\z”, sedangkan dalam MySQL “show tables;”. Kemudian, jika PostgreSQL
saat masuk sudah bisa memilih dan mengaktifkan database yang dipakai, kalau
MySQL harus diaktifkan dahulu setelah login, perintahnya “use nama_database;”.
Kelebihannya, pasti untuk database
PostgreSQL lebih simpel, karena awal masuk langsung masuk database, kecuali
kalau ingin pindah database. Sedangkan MySQL harus memasukkan query lagi untuk
masuk database-nya. Kalau untuk perintah 1-11 di database PostgreSQL maupun
MySQL semuanya sama.
C. Evaluasi
Perbandingan PostgreSQL dan MySQL
Tugas
praktikkum 1-11 semuanya sama, tidak ada perbedaan. Jadi, semua perintah
querynya sama. Hanya saja ada perbedaan saat sebelum membuat tabel, di
PostgreSQL langsung bisa membuatb tabel, karena database langsung aktif.
Sedangkan di MySQL setelah masuk akunya, harus mengoneksikan/ mengaktifkan
database yang ingin dipakai.
D. Kesimpulan,
Kritik, dan Saran
Untuk
pembahasan BAB Praktikum DBD kali ini cukup mudah, karena perintah dasar SQL
dalam PostgreSQL dan MySQL semuanya sama. Jadi, tidak butuh menghafalkan banyak
kode untuk perbandingan dalam penerapan penggunaannya. Sebaiknya terus dilatih
dan dicoba agar terus hafal perintah querynya, meski oerintah dasarnya sama.
E. Daftar
Pustaka
Materi Praktikum Desain Basis Data 2013.pdf
Sholichin, Ahmad. 2010. MySQL Dari Pemula Hingga Mahir. Universitas Budi Luhur : Jakarta.
http://siteblogforu.blogspot.com/2013/09/pengertian-dan-perintah-sql.html
http://id.forums.wordpress.com/topic/perintah-dasar-sql
http://achmatim.net/2009/12/09/pengenalan-perintah-dasar-sql-di-mysql/
Materi Praktikum Desain Basis Data 2013.pdf
Sholichin, Ahmad. 2010. MySQL Dari Pemula Hingga Mahir. Universitas Budi Luhur : Jakarta.
http://siteblogforu.blogspot.com/2013/09/pengertian-dan-perintah-sql.html
http://id.forums.wordpress.com/topic/perintah-dasar-sql
http://achmatim.net/2009/12/09/pengenalan-perintah-dasar-sql-di-mysql/
1 komentar:
sip...
kalau mau menampilkan data tetapi tidak ada forng key bisa ak???misal tabel mahasiswa dan fakultas kmren tetapi tidak ada frnkeynya
+++tampilanny ak enk di bc...
Posting Komentar