Senin, 20 Oktober 2014

Praktikum Desain Basis Data V -> Agregasi SQL dan View

1. Dasar Teori
1.1 AGREGATE OPERATOR
       Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel atau query. Macam-macam fungsi agregasi dalam SQL adalah sebagai berikut : 
a. AVG(ekspresi)
    Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data numerik. Berikut ini query dari AVG:
   select avg(jumlah_id) from nama_tabel;
b. COUNT(x)
    Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah barisnya. Berikut ini query dari COUNT:

   select count(*) from nama_tabel;
c. MAX(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik. Berikut ini query dari MAX:

    select max(jumlah_id) from nama_tabel;
d. MIN(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik. Berikut ini query dari MIN:

   select min(jumlah_id) from nama_tabel;

1.2 GROUP BY
      Group By merupakan fungsi yang digunakan untuk melakukan pengelompokan dari perintah SELECT. Group by seringkali diperlukan untuk menjalankan agregate menjadi sebuah kelompok dari hasil Query. Disebut juga dapat digunakan bersama dengan fungsi kelompok untuk mengambil data dikelompokkan sesuai dengan satu atau lebih kolom. Adapun bentuk umum klausa GROUP BY sebagai berikut: SELECT nama_kolom, aggregate_function (nama_kolom) 
FROM nama_tabel WHERE nama_kolom operator nilai GROUP BY nama_kolom

1.3 HAVING
      Pemakaian HAVING digunakan untuk menyaring data berdasarkan fungsi kelompok. Hal ini mirip dengan kondisi Where tetapi digunakan dengan fungsi kelompok, fungsi kelompok tidak dapat digunakan dalam mana klausul tetapi dapat digunakan dalam klausa having.

Bentuk umum HAVING: SELECT nama_kolom, aggregate_function (nama_kolom)
FROM nama_tabel
WHERE nama_kolom operator nilai GROUP BY nama_kolom HAVING aggregate_function (nama_kolom) Nilai operator

1.4 CASE
      Kata Where menggunakan perbandingan untuk mengontrol pemilihan data, sedangkan case perbandingan dalam bentuk output kolom. Jadi intinya penggunaan Case akan membentuk output sendiri berupa sebuah kolom baru dengan data dari operasi yang didalamnya. Berikut contoh query penggunaan case, penentuan umur jika umurnya dibawah 1986-01-01 dianggap dewasa dan lebih dari itu dianggap remaja :
select txt_namadepan, txt_namaakhir, dt_tgllahir, case when dt_tgllahir < '1986-01-01' then 'dewasa' else 'balita' end as umur from pegawai ;


1.5 VIEW
      Definisi view adalah hasil (result) dari sebuah Query terhadap relasi- relasi dasar (atau relasi real). Hasil (view) ini tidak disimpan dalam database seperti relasi dasar. Sebuah view adalah sebuah jendela dinamik, dalam artian bahwa ia mencerminkan semua update yang dilakukan terhadap database. Disamping pemakaiannya di dalam skema external, view juga berguna untuk menjamin data- security dengan cara yang sederhana. Dengan memilih subset dari database, view dapat menyembunyikan beberapa data.
Jika user mengakses database melalui view, mereka tak dapat melihat atau memanipulasi hidden-data, dengan demikian data akan menjadi secure.
Perhatikan bahwa dalam sistem DBMS terdistribusi, sebuah view dapat diturunkan dari relasi-relasi terdistribusi. Akses ke sebuah view akan memerlukan eksekusi dari query terdistribusi yang berhubungan dengan definisi view tersebut. Berikut query pada VIEW:
create view nama_tabel_view as query;
Catatan : Query diatas merupakan query untuk menampilkan data menggunakan query sql select.
Berikut adalah tabel contoh kasus penggunaan VIEW :


Kita akan membuat view dari tabel diatas dengan ketentuan harga dikumpulkan berdasarkan nama pelanggannya. Sebagai Berikut :
create view total_pelanggan as select pelanggan, sum (hargaorder) from pesanan group by pelanggan;
Untuk bisa melihat hasil, kita bisa menggunakan query select :
select * from total_pelanggan;
Maka, hasilnya yaitu :

 
 
2. Hasil Praktikum
2.1  Tugas Praktikum

Nim : 12
Nama : edi
Alamat : malang
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
Fakultas : PSIKOLOGI

1. Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan. 


Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.


2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.

3. Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut:



4. Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.

5. Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

6. Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.


3. Tugas Rumah
3.1 Laporan praktikum menggunakan DBMS mysql
Tugas Praktikum

Nim : 12
Nama : edi
Alamat : malang
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
Fakultas : PSIKOLOGI

1. Dari tabel mahasiswa yang telah dibuat tambahkan 3 data lagi , tambahkan kolom gender kemudian update datanya dan tampilkan banyaknya data mahasiswa yang telah di inputkan.

Kemudian cari nim atau id mahasiswa yang paling kecil, paling besar dan rata-ratanya.

2. Tampilkan rata-rata id atau nim mahasiswa yang data nimnya lebih dari 12.

3. Tampilkan jumlah mahasiswa berdasarkan fakultas. Sehingga hasilnya seperti berikut:


4. Tampilkan seperti nomor 3 dengan persyaratan jumlah mahasiswa yang lebih dari sama dengan 2 saja yang ditampilkan.

5. Tampilkan data mahasiswa dengan persyaratan, jika jenis kelaminnya “L” maka tertulis laki-laki dan bila “P” maka tertulis perempuan.

6. Buatlah view untuk query penampilan data mahasiswa, fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.


3.2 Evaluasi perbedaan kelebihan dan kemudahan dari postgreSQL dan MySQL

Berikut contoh perbedaan pada PostgreSQL dan MySQL:
PostgreSQL

MySQL


4. Kesimpulan dan Saran
4.1 Kesimpulan
      Pada praktikum kali ini, kita belajar tentang Macam-macam fungsi agregasi dalam SQL adalah sebagai berikut :
  • Count : fungsi ini digunakan untuk mendapatkan nilai banyaknya record dari query.
  • Sum : fungsi ini digunakan untuk mendapatkan nilai total suatu atribut bertipekan numeric dari query.
  • Avg : fungsi ini digunakan untuk mendapatkan nilai rata-rata suatu atribut bertipe numeric hasil query.
  • Max : fungsi ini digunakan untuk mendapatkan nilai terbesar dari suatu atribut hasil query
  • Min : fungsi ini digunakan untuk mendapatkan nilai terkecil dari suatu atribut hasil query.
    Group By digunakan untuk melakukan pengelompokan data, Having digunakan untuk menentukan kondisi bagi klausa Group By, Case yang akan membentuk output tersendiri berupa sebuah kolom baru dengan data dari operasi yang di dalamnya, View merupakan suatu relasi virtual yang tidak perlu ada database tetapi dapat diproduksi atas permintaan oleh pemakai tertentu, pada ketika permintaan.

4.2 Saran dan Manfaat Bagi Pembaca
      Dengan melakukan dua kali percobaan, membuat kita tahu bahwa pada praktikum kali ini semua query pada postgreSQL dan MySQL sama. Semoga pembaca dapat mengikutinya dirumah. Sekian :) 

Daftar Pustaka
- Modul Praktikum Desain Basis Data 
- Sanjaya, Ridwan. 2005. Pengolahan Database MySQL dengan Java 2. Yogyakarta: Andi
- Nugroho, Bunafit. 2005. Administrasi Database MySQL. Yogyakarta:Graha Ilmu
- http://ahmadfitriboy.trigunadharma.ac.id/wp-content/uploads/2012/06/CHAPTER6.pdf
- http://mas-anto.com/wp-content/uploads/2013/10/tutorial_sql_mysql.pdf
- http://honeyzharratih.blogspot.com/2011/03/penggunaan-like-having-dan-group-by.html 
- http://fairuzelsaid.wordpress.com/2012/06/10/sql-klausa-group-by/
- http://www.haritsthinkso.com/2009/12/pengertian-view-pada-database.html



 

Minggu, 12 Oktober 2014

Praktikum Desain Basis Data IV -> Pengenalan Operator Dasar

1. Dasar Teori
1.1. Pada saat pengoperasian MySQL, kita perlu menggunakan perintah-perintah SQL. Perintah atau statement SQL tersebut secara garis besar dibagi dalam 2 kelompok yaitu : Data Manipulation Language (DML) dan Data Definition Language (DDL).

Yang termasuk dalam DML adalah :
• SELECT – untuk mengekstrak atau memilih data dari sebuah database
• UPDATE – untuk mengupdate data dari sebuah database
• DELETE – untuk menghapus data dari sebuah database
• INSERT – untuk memasukkan data baru ke dalam sebuah database

Sedangkan DDL yang paling penting adalah :
• CREATE DATABASE – untuk membuat sebuah database baru
• ALTER TABLE – untuk menambah, menghapus atau memodifikasi kolom dari tabel yang sudah ada
• CREATE TABLE – untuk membuat tabel baru
• DROP TABLE – untuk menghapus sebuah tabel
• CREATE INDEX – untuk membuat index (kunci pencarian)
• DROP INDEX – untuk menghapus index

    Perintah atau statement SQL bersifat tidak case sensitive, dengan kata lain perintah yang anda tulis dalam huruf kapital maupun huruf kecil akan di terjemahkan sama. Kemudian di setiap akhir dari perintah tersebut harus diberi tanda semi colon atau ; sehingga perintah akan dijalankan untuk setiap statement atau perintah tersebut.
Perlu diketahui bahwa database dapat terdiri dari beberapa tabel dan di setiap tabel dapat terdiri dari beberapa kolom dan beberapa data. Untuk lebih lengkapnya tentang DML dan DDL dapat dilihat disisni

1.2 PERINTAH DASAR DALAM MYSQL
a. AS
    AS biasa digunakan untuk menampilkan label kolom dengan nama lain sehingga yang akan muncul dalam hasil query bukan nama asli kolom, tetapi nama yang mungkin lebih sesuai dan mudah dimengerti. AS digunakan setelah nama kolom yang akan diganti yang kemudian diikuti dengan nama penggantinya. 
Berikut struktur querynya : select namakolom as namakolompengganti from namatabel;

b. AND dan OR
Pada bagian sebelumnya kita menggunakan anak kalimat atau sintaks WHERE hanya pada konteks yang sederhana. Berikut ini kita akan mencoba menggunakan WHERE untuk konteks yang lebih kompleks lagi, anak kalimat where yang kompleks akan bekerja dengan baik dengan menggunakan kata AND dan OR.  
Berikut struktur SQL untuk penampilan data :
select * from namatabel where namakolom = ‘pencarian 1’ and namakolom = ‘pencarian 2’;
Atau
select * from namatabel where namakolom = ‘pencarian 1’ or namakolom = ‘pencarian 2’;

c. BETWEEN
    Fungsi BETWEEN dalam SQL Server merupakan pernyataan kejadian diantara dua kriteria. Fungsi tersebut bisa digunakan untuk field yang bertipe number. BETWEEN digunakan untuk menentukan lebar nilai dari nilai terendah dan nilai tertinggi.
Logika operator BETWEEN sebagai berikut :
1. Nilai a dalam formula “a BETWEEN x AND y” indentik dengan “a >= x AND a <= y“
2. “a NOT BETWEEN x AND y “ identik dengan “a < x OR a > y” 
Berikut Struktur yang digunakan :
select * from nama_tabel where nama_kolom between ‘nilai_awal’ and ‘nilai_akhir’;

d. IN dan NOT IN
    Operator IN pada MySQL merupakan operator yang memungkinkan kita untuk memilih data menggunakan perintah SELECT dimana nilai yang dijadikan sebagai persyaratan dapat lebih dari satu nilai. Jadi operator ini akan melengkapi persyaratan WHERE.
Berikut Struktur yang digunakan
Select * from nama_tabel where nama_kolom in (kata_kunci1, kata_kunci2, kata_kunci13, kata_kunci14);

e. LIKE
    Operator LIKE pada MySQL akan kita gunakan pada saat membuat syarat pencarian atau pemilihan sebuah entry atau data sesuai dengan keinginan kita. Jadi operator LIKE akan menempel pada perintah SELECT bersyarat. Dalam MySQL, LIKE lebih condong menyerupai dan menyerupai berarti hanya mirip-mirip atau tidak sama persis seperti pada saat kita memilih entry atau data menggunakan WHERE namakolom=’datakolom’.
Misal :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
1 Bambang Pemuda 123 Bekasi Jawa Barat
2 Agung Sudirman 57 Bandung Jawa Barat
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah
 
Berikut aplikasi penggunaan LIKE pada MySQL :
• Mencari Mahasiswa yang berasal dari kota yang berawalan dengan huruf s. Pencarian kita kunci menggunakan ‘s%’ dimana % mewakili sembarang huruf setelah huruf s.
SELECT * FROM Mahasiswa
WHERE Kota LIKE ‘s%’
Maka hasilnya adalah :
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
3 Satria Majapahit 57 Solo Jawa Tengah
4 Tony Kelud 17 Semarang Jawa Tengah

• Mencari mahasiswa yang berasal dari kota yang mengandung kata ara. Pencarian kita kunci menggunakan ‘%ara%’ dimana % mewakili sembarang huruf sebelum dan sesudah kata ara.
SELECT * FROM Mahasiswa
WHERE Kota LIKE ‘%ara%’
Maka hasilnya adalah:
Tabel Mahasiswa
ID Nama Alamat Kota Propinsi
4 Tony Kelud 17 Semarang Jawa Tengah


Berikut struktur SQL untuk pencarian data menggunakan LIKE :
select * from nama_tabel where nama_kolom like ‘operator’;

f. REGEXP
   Regular Expression atau Regex, kepanjangan dari regular expression, berfungsi sama dengan operator like, namun lebih disempurnakan lagi. Dapat juga diartikan sebuah teknik atau cara untuk mencari persamaan - presamaan string atau data dan memanipulasinya. Biasanya lebih sering digunakan untuk string.
Dalam pengoperasiannya, operator ini menggunakan kode-kode tambahan seperti dibawah ini :

Berikut struktur MySQL untuk pencarian data menggunakan REGEXP :
Select * from nama_tabel where nama_kolom regexp ‘operator_regexp dan patern’;

g. DISTINCT
    DISTINCT sering kali diperlukan untuk mengembalikan hasil dari sebuah query dengan tidak terdapat duplikasi, artinya pada hasil outputnya tidak terjadi kesamaan data meskipun pada data sesungguhnya sangat mungkin banyak duplikasi..
Hal ini juga berlaku jika data yang ada dalam bentuk angka. Berikut struktur perintah dasar SQL :
select distinct nama_kolom from nama_tabel;
 
h. LIMIT
LIMIT dan OFFSET digunakan untuk membatasi jumlah output dari query berdasarkan jumlah row bukan karena kondisi seperti WHERE. Bisa dikatakan LIMIT adalah untuk menentukan jumlah baris yang akan ditampilkan yang dihitung dari baris pertama, sedangkan OFFSET digunakan untuk menghilangkan baris sesuai dengan jumlah yang diberikan pada OFFSET. Berikut struktur perintah dasar SQL :
select * from nama_tabel limit 2;
Atau
select * from nama_tabel offset 2;

i. UNION, INTERSECT dan EXCEPT
a. UNION
    UNION merupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama. Dapat juga berarti perintah Union ini digunakan untuk menggabungkan 2 atau lebih hasil dari perintah SELECT pada MySQL.

b. INTERSECT
    INTERSECT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax : SELECT * FROM namatabel1 INTERSECT SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator INTERSECT namun sebagai gantinya dapat menggunakan operator IN seperti contoh 1 pada bagian Nested Queries.

c. EXCEPT / Set Difference
    EXCEPT merupakan operator yang digunakan untuk memperoleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
Syntax : SELECT * FROM namatabel1 EXCEPT SELECT * FROM namatabel2
Pada MySQL tidak terdapat operator EXCEPT namun sebagai gantinya dapat menggunakan operator NOT IN seperti contoh 2 pada bagian Nested Queries.

 Ketiganya digambarkan seperti ini:

2. Hasil Praktikum
2.1 Menggunakan PostgreSQL
      Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.


 1. Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.

2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki

3. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.
--> Menampilkan mahasiswa nomor 16-18, dan yang bukan nomor 16-18 menggunakan BETWEEN
 --> Menampilkan mahasiswa nomor 16-18, dan yang bukan nomor 16-18 tanpa menggunakan BETWEEN

4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.

5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.

6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.

7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.

8. Tampilkan data mahasiswa 3 baris saja.

9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal

10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam

b. Tabel organ_luar


 Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT



  

3. Tugas Rumah
3.1 Menggunakan MySQL
      Persiapan praktek : Gunakan tabel mahasiswa dan fakultas pada pertemuan 3. Tambahkan kolom gender di tabel mahasiswa kemudian update data mahasiswa. Insert data mahasiswa hingga 7 baris.

1. Berdasarkan tabel sebelumnya yaitu bab 3, tampilkan data mahasiswa dengan nama dari kolomnya berubah menjadi nomor_identitas, nama, alamat,nama_fakultas tanpa harus merubah nama kolom secara permanen.


2. Tampilkan nama mahasiswa fakultas saintek yang berjenis kelamin laki-laki. Kemudian nama mahasiswa fakultas saintek atau berjenis kelamin laki-laki

3. Suatu tabel mahasiswa terdapat 7 baris data mahasiswa. Tampilkan data mahasiswa dari nomor 3 sampai dengan 5, kemudian tampilkan juga data mahasiswa yang bukan dari nomor 3 sampai dengan 5 menggunakan between dan tanpa menggunakan between.

4. Tampilkan mahasiswa dengan nomor 2,3,5 menggunakan operator IN.

5. Tampilkan semua data mahasiswa yang namanya mempunyai awalan huruf “a”.

6. Tampilkan semua data mahasiswa yang namanya mempunyai akhiran “a” dan huruf ke-3 dari nama tersebut terdapat huruf “n”.

7. Tampilkan nomor fakultas di tabel mahasiswa dengan nomor harus tidak ada yang sama dari baris pertama sampai akhir.

8. Tampilkan data mahasiswa 3 baris saja.

9. Tampilkan data mahasiswa dengan ciri-ciri memiliki nama awalan a kemudian kata selanjutnya boleh r atau boleh t atau boleh d. misalkan yang memenuhi kriteria ciri tersebut seperti adi, atik, arif, adam dll.
*Boleh dengan awalan dan ciri yang lain namun karakteristiknya harus sesuai soal

10. Buatlah tabel dengan nama organ_dalam dan organ_luar sebagai berikut :
a. Tabel organ_dalam
b. Tabel organ_luar


Tampilkan data dari kedua tabel tersebut menggunakan UNION, EXCEPT dan INTERSECT 




3.2 Evaluasi dari DBMS MySQL dan PostgreSQL
 
4. Kesimpulan dan Saran
 4.1 Kesimpulan
     Pada praktikum kali ini, kita sudah banyak belajar operasi-operasi dasar pada SQL yaitu AS untuk memberi nama kolom dengan nama lain, AND dan OR, BETWEEN untuk menentukan lebar nilai, IN untuk pencocockan, LIKE untuk mewakili salah satu huruf atau lebih huruf,  REGEXP untuk mencari persamaan data dan memanipulasi, DISTINCT untuk mengembalikan hasil sebuah query, LIMIT untuk membatasi jumlah output, UNION untuk menggabungkan hasil dua buah query menjadi satu kolom, EXCEPT untuk menampilkan hanya query pertama, dan INTERSECT untuk menampilkan seluruh isi data yang memiliki kesamaan diantara kesamaan diantara hasil kedua query tersebut.

4.2 Saran dan Manfaat Bagi Pembaca
      Setelah melakukan dua kali percobaan, maka akan terlihat bahwa pada PostgreSQL dan MySQL tidak semua sama. Pada praktikum kali ini, perbedaan terlihat pada operasi REGREXP, EXCEPT, dan INTERSECT. Semoga postingan kali ini membantu pembaca agar dapat belajar database dengan mudah dan menyenangkan.


Daftar Pustaka
-  Modul Praktikum Desain Basis Data 
- Sanjaya, Ridwan. 2005. Pengolahan Database MySQL dengan Java 2. Yogyakarta: Andi
- Nugroho, Bunafit. 2005. Administrasi Database MySQL. Yogyakarta:Graha Ilmu
-  http://yulisoraya.wordpress.com/2011/01/13/perintah-dasar-sql/
- http://ustnahuswatun.blogspot.com/2013/11/perintah-dasar-pada-mysql.html