Selasa, 07 Oktober 2014

LAPORAN PRAKTIKUM DESAIN BASIS DATA



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);

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 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; 

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