BAB III
PERINTAH
DASAR SQL
A.
Dasar
Teori
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));
·
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 :
·
alter table
barang add constraint
relasi_barang foreign key
(id_mac)
references macam_barang (id_mac)
on update no
action on delete
no
action;
b.
Memasukkan Data
Sebuah data dapat
dimasukkan ke dalam tabel
menggunakan perintah INSERT.
Namun hal yang
perlu diperhatikan yaitu
struktur tabel yang
akan digunakan untuk
memasukkan data.
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.
c.
Menampilkan data
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.
Tugas
Praktikum
1. Gunakan tabel mahasiswa, tambahkan kolom yang diperlukan kemudian masukkan 3 data mahasiswa sebagai berikut :
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
No.telp : 0813347565675
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
No.telp : 082576568798
Fakultas : PSIKOLOGI
2. Tampilkan data mahasiswa berupa nim dan nama.
3. Tampilkan
data mahasiswa berdasarkan
nim salah satu
mahasiswa. Sehingga yang
muncul hanya salah satu data mahasiswa.
4. Tampilkan
data mahasiswa dan fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
5. Hapus data mahasiswa yang memiliki nim : 13
6. Ubah data berupa alamat : solo dan no.telp :
0857688788 yang memiliki nim 12
7. Tampilkan
data mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa. Kemudian tampilkan
data fakultas urutkan secara ascending berdasarkan kolom ke-2.
8. Tampilkan seluruh data mahasiswa beserta
seluruh data fakultasnya.
9. Tampilkan seluruh mahasiswa yang berada di
fakultas “SAINTEK”.
10. Tampilkan seluruh mahasiswa yang tidak berada
di fakultas “SAINTEK”.
11. Hapus data fakultas “SAINTEK”.
Tugas Rumah
1. Buat laporan, Tampilkan perintah-perintah SQL menggunakan DBMS MYSQL
beserta hasilnya di blog anda. Perintahnya sesuai dengan tugas praktikum
1 -11.
2. Jelaskan evaluasi
dari DBMS MySQL
dan PostgreSQL dalam
blog anda berdasarkan tugas praktikum
1-11. (evaluasi meliputi
perbedaan atau kesamaan,
kelebihan atau kekurangan, tambahan
dari penulis)
B.
Hasil
Percobaan
Sebelum
kita mengoperasikan perintah dasar pada SQL, kita akan mencoba membuat table,
paling tidak ada dua table yang nantinya
kita akan mencoba untuk merelasikannya. Sekarang kita ibaratkan membuat table A
dan A’ dengan query dasar seperti berikut :
·
create table A
(Id_A integer not null, nama_A varchar
(20), primary key (Id_A));
·
create table A’
(nim_A’ integer not null, nama_A’ varchar (20), id_A’ integer
not null references A, primary key (nim_A’, id_A’));
Atau ketika
kita lupa memberikan references pada
tabel macam barang kita dapat
memberikan query sebagai berikut :
·
alter table
A’ add constraint
A’ foreign key
(id_A’)
references A (id_A)
on update no
action on delete
no
action;
Oke, yuk
sekarang kita buat table Fakultas dan Mahasiswa + kita relasikan kedua table
tersebut J.
Contoh :
a.
Pada
MySQL
Setelah kita
masuk mysql (mysql –u root -p) dan menggunakan database yang kita
inginkan dengan (use nama_database). Karena tadi kita sudah tau bagaimana cara
membuat table dan merelasikannya, sekarang kita akan menerapkan perintah dasar
pada SQL. J
1.
Untuk memasukkan
data pada table yang sudah kita buat kita bisa menggunakan query dasar sebagai
berikut :
INSERT INTO
nama_table VALUES (1, ‘data1’, ‘data2’, true);
Contoh :
2.
Untuk
menampilkan data mahasiswa berupa nim dan nama, kita bisa menggunaan query
dasar SQL sebagai berikut :
SELECT nim_mah,
nama_mah from mahasiswa;
Contoh :
3.
Untuk
menampilkan data mahasiswa beerdasarkan nim salah satu mahasiswa, sehingga yang
muncul hanya salah satu data mahasiswa, kita bisa menggunakan query dasar
sebagai berikut :
SELECT * FROM
mahasiswa where nim_mah=key;
Contoh :
4.
Untuk
menampilkan data mahasiswa dan fakultas. Berdasarkan nim, nama_mah, dan
nama_fakultas, kita bisa menggunakan
query dasar sebagai berikut :
SELECT nim_mah,
nama_mah, nama_fak FROM mahasiswa, fakultas where mahasiswa.id_fak=fakultas.id_fak;
Contoh :
5.
Untuk menghapus
data mahasiswa yang memiliki nim = 13, kita bisa menggunakan query dasar
sebagai berikut :
DELETE FROM
nama_table where nama_kolom=key;
Contoh :
6.
Untuk mengubah
data dengan syarat, kita bisa menggunakan query dasar sebagai berikut :
UPDATE nama_table
set nama_kolom = isi_data where nama_kolom = key;
Contoh :
7.
Untuk
menampilkan data dari yang terkecil ke terbesar atau sebaliknya dengan syarat
tertentu, kita bisa menggunakan query dasar sebagai berikut :
Untuk
pengurutan secara descending :
SELECT * from
nama_table ORDER by nama_kolom desc;
Untuk
pengurutan secara ascending :
SELECT * from
nama_table ORDER by nama_kolom asc;
Contoh :
8.
Untuk
menampilkan seluruh data dari kedua table yang sudah kita relasikan kita bisa
menggunakan query dasar sebagai berikut :
SELECT * FROM
nama_table1, nama_table2 where nama_table1.nama_kolom= nama_table2.nama_kolom;
Contoh :
9.
Untuk
menampilkan seluruh mahasiswa SAINTEK dari table yang sudah kita relasikan,
dengan syarat tertentu, kita bisa menggunakan query dasar sebagai berikut :
SELECT nama_kolom FROM nama_table1, nama_table2 where
nama_table1.nama_kolom=nama_table2.nama_kolom AND nama_kolom=key;
Contoh :
10.
Untuk menampilka
seluruh mahasiswa yang tidak berada di SAINTEK, kita bisa menggunakan query
dasar sebagai berikut :
SELECT nama_kolom FROM nama_table1, nama_table2 where nama_table1.nama_kolom=nama_table2.nama_kolom AND nama_kolom!=key;
Contoh :
11.
Untuk menghapus
data fakultas SAINTEK
Delete from
nama_table where nama_kolom=key;
Contoh :
Gimana, gampang kan menjalankan perintah dasar SQLnya :) yuk
sekarang kita coba pada PostgreeSQL…!
b.
Pada
Postgree SQL
Sama
seperti sebelumnya, kita coba dulu untuk membuat table beserta relasinya,
contoh :
1.
Untuk
memasukkan data pada table yang sudah kita buat kita bisa menggunakan query
dasar sebagai berikut :
INSERT INTO
nama_table VALUES (1, ‘data1’, ‘data2’, true);
2.
Untuk
menampilkan data mahasiswa berupa nim dan nama, kita bisa menggunaan query
dasar SQL sebagai berikut :
SELECT nim_mah,
nama_mah from mahasiswa;
Contoh :
3.
Untuk
menampilkan data mahasiswa berdasarkan nim salah satu mahasiswa, sehingga yang
muncul hanya salah satu data mahasiswa, kita bisa menggunakan query dasar
sebagai berikut :
SELECT * FROM
mahasiswa where nim_mah=key;
Contoh :
4.
Untuk
menampilkan data mahasiswa dan fakultas. Berdasarkan nim, nama_mah, dan
nama_fakultas, kita bisa menggunakan
query dasar sebagai berikut :
SELECT nim_mah,
nama_mah, nama_fak FROM mahasiswa, fakultas where
mahasiswa.id_fak=fakultas.id_fak;
Contoh :
5.
Untuk menghapus
data mahasiswa yang memiliki nim : 13, kita bisa menggunakan query dasar
sebagai berikut :
DELETE FROM
nama_table where nama_kolom=key;
Contoh :
6.
Untuk mengubah
data dengan syarat, kita bisa mnggunakan
query dasar sebagai berikut :
UPDATE
nama_table set nama_kolom = isis_data where nama_kolom = key;
Contoh :
7.
Untuk
menampilkan data dari yang terkecil ke terbesar atau sebaliknya dengan syarat
tertentu, kita bisa menggunakan query dasar sebagai berikut :
Untuk
pengurutan secara descending :
SELECT * from
nama_table ORDER by nama_kolom desc;
Untuk
pengurutan secara ascending :
SELECT * from
nama_table ORDER by nama_kolom asc;
Contoh :
8.
Untuk
menampilkan seluruh data dari kedua table yang sudah kita relasikan kita bisa
menggunakan query dasar sebagai berikut :
SELECT * FROM
nama_table1, nama_table2 where nama_table1.nama_kolom= nama_table2.nama_kolom;
Contoh :
9.
Untuk
menampilkan seluruh mahasiswa SAINTEK dari table yang sudah kita relasikan,
dengan syarat tertentu, kita bisa menggunakan query dasar sebagai berikut :
SELECT nama_kolom FROM nama_table1, nama_table2 where nama_table1.nama_kolom=nama_table2.nama_kolom AND nama_kolom=key;
SELECT nama_kolom FROM nama_table1, nama_table2 where nama_table1.nama_kolom=nama_table2.nama_kolom AND nama_kolom=key;
Contoh :
10.
Untuk
menampilka seluruh mahasiswa yang tidak berada di SAINTEK, kita bisa
menggunakan query dasar sebagai berikut :
SELECT nama_kolom FROM nama_table1, nama_table2 where nama_table1.nama_kolom=nama_table2.nama_kolom
AND nama_kolom!=key;
Contoh :
11.
Untuk menghapus
data fakultas SAINTEK
Delete from
nama_table where nama_kolom=key;
Contoh :
C.
Perbedaan
pada MySQL dan PostgreeSQL
Sebenarnya
pada BAB ini (Perintah Dasar SQL), antara MySQL dan PostgreeSQL tidak ada
perbedaan dalam perintah dasar SQLnya, hanya saja untuk mengaplikasikan
perintah dasar SQL pada keduanya yang berbeda. Pada MySQL kita harus masuk dulu
ke salah satu database yang nantinya akan kita gunakan untuk membuat table dan
menerapkan perintah dasar SQL, sedangkan pada postgreeSQL tidak demikian,
karena kita langsung bisa mencreate table dan menerapkan perintah daasar SQL
yang sudah kita pelajari.
D.
Kesimpulan,
kritik & saran
Dari
data yang sudah ada dan dari beberapa penjelasan yang sudah say abaca, dapat
ditarik kesimpulan bahwa untuk perintah dasar SQL yang ada pada MySQL dan
PostgreeSQL adalah sama, hanya saja untuk mengoperasikannya pada MySQL kita
harus memilih dan menggunakan database yang akan kita gunakan untuk percobaan
perintah dasar SQL, sedangkan pada PostgreeSQL kita tidak usah melakukannya,
karena kita langsung bisa mencreate table dan menerapkan perintah dasar SQL
yang sudah kita pelajari.
E.
Daftar Pustaka
Bugroho,
Bunafit, Administrasi Database MySQL pada server Linux dan Windows, Penerbit
Graha Ilmu, 2005.
Modul
Praktikum Desain Basis Data 2014
Tugas
EVALUASI
Keduanya juga memiliki kesamaan dalam hal
perintah dasar SQLnya, dari tugas praktikum nomor 1-11 dapat kita ketahui
bersama bahwa tidak ada perbedaan perintah dasar SQL antara MySQL dengan
PostgreeSQL, hanya saja perintah untuk menampilkan tabel yang ada di database
tersebut berbeda. Pada database PostgreeSQL kita bisa menggunakan “\z”,
sedangkan dalam MySQL “show tables;”. Kemudian,
jika PostgreeSQL saat masuk sudah bisa memilih dan mengaktifkan database yang
dipakai, kalau MySQL harus diaktifkan dahulu setelah login, perintahnya “use
nama_database;”.
Kelebihannya, untuk database PostgreSQL lebih
simpel, karena awal penguperasiannya langsung masuk database, kecuali kalau ingin pindah database.
Sedangkan MySQL harus memasukkan query lagi untuk masuk database-nya.
1 comments:
sipp...sudah bagus tapi...
-> tanda petik yang dipakai ' or " ???
-> yakin waktu masuk posgres tidak memilih database yang akan dipakai ???
-> materi masih ada yang kurang
perbaiki...
Posting Komentar