Minggu, 06 Oktober 2019

BAB 16 DATABASE TERINTEGRASI

DATABASE TERINTEGRASI

Database terintegrasi adalah konsep dimana merupakan penggabungan database atau penyatuan database yang dapat saling berhubungan satu sama lain. Pada saat melakukan integrasi database, data dalam sebuah sistem tidak boleh hilang. Integrasi database membutuhkan skema yang mengambil semua aplikasi klien ke dalam laporan. Skema yang dihasilkan akan lebih umum, lebih kompleks atau keduanya. Database biasanya dikendalikan oleh kelompok yang terpisah untuk aplikasi dan perubahan database yang lebih kompleks karena harus dinegosiasikan antara kelompok database dan berbagai aplikasi.
Keuntungan dari integrasi database adalah dengan berbagi data antara aplikasi tidak lagi memerlukan lapisan tambahan layanan integrasi pada aplikasi. Setiap perubahan data yang dibuat dalam satu aplikasi yang dibuat tersedia untuk semua aplikasi. Pada saat database melakukan integrasi, database-database yang disekitarnya dapat saling berhubungan dengan mudah sesuai dengan keperluannya masing-masing. Contoh dari database terintegrasi adalah terdapat sebuah sistem informasi mahasiswa akademik pada sebuah Universitas yang dimana sistem informasi tersebut hanya merupakan sistem yang berkaitan dengan penilaian saja dan pada sistem informasi tersebut terdapat data-data mahasiswa yang kompleks. Pada suatu saat terdapat bagian kemahasiswaan yang mengurus beasiswa membuat sistem informasi beasiswa secara terpisah, dan bagian kemahasiswaan tersebut memerlukan data-data dari mahasiswa. Sehingga dapat dilakukan integrasi database untuk mendapatkan data-data mahasiswa tersebut dan tidak perlu menuliskan atau membuatkan data-data mahasiswa lagi.

BAB 15 TRANSAKSI

TRANSAKSI

1. Merancang Transaksi dengan ERD
Dalam database perpustakaan, kemungkinan transaksi yang ada adalah transaksi penjualan pupuk. Dimana di dalamnya juga terdapat histori untuk pengelolaan transaksi penjualan tersebut. Berikut diberikan potongan ERD untuk transaksi penjualan produk.
2. Query untuk Transaksi
Transaksi menggunakan query-query yang telah diajarkan sebelumnya. Pada transaksi Anda dapat menggunakan DML, fungsi agregat, set operations, subquery bersarang, join, view, triggers, dan sebagainya.




BAB 14 RANKING

RANKING

1. RANKING
Ranking adalah merupakan advanced aggregation function yang digunakan untuk memberikan indeks bagi nilai-nilai yang telah diurutkan. Misal diminta untuk ditampilkan ranking dari produk berdasarkan stok terbanyak.

BAB 12 TRIGGERS

TRIGGERS

1. TRIGGER
Trigger adalah code procedural yang secara otomatis tereksekusi sebagai respon terhadap event tertentu pada table atau view tertentu pada database. Trigger biasanya digunakan untuk menjaga integrity dari informasi pada database.
Sekarang akan dimasukkan data konsumen baru:
Kita inputkan lagi konsumen lainnya.

BAB 11 FUNGSI DAN PROSEDUR

FUNGSI DAN PROSEDUR

1. FUNGSI
Fungsi (function) pada MySQL sama dengan bahasa pemrograman yang lain. Fungsi mengembalikan suatu nilai, yang berbeda dengan prosedur. Berikut contoh penggunaan fungsi.
2. PROSEDUR
Prosedur (procedure) mirip dengan fungsi, dimana yang membedakan adalah suatu prosedur tidak mengembalikan nilai. Berikut contoh dari prosedur.

BAB 10 ORDERING, GROUPING dan HAVING

ORDERING, GROUPING & HAVING

1. ORDERING
Fungsi ordering digunakan untuk mengurtkan tampilan data berdasarkan atribut tertentu. Misal diminta untuk ditampilkan nama_produk dan no_np yang diurutkan berdasarkan no_np.
Secara default fungsi ordering mengurutkan data secara ascending, yaitu secara alfabetik dari A ke Z, atau secara angka dari yang terkecil ke terbesar. Pengurutan juga bisa dilakukan secara descending. Misalkan diminta untuk menampilkan data produk dan penerbitnya diurutkan berdasarkan stok terbesar.
2. GROUPING
Grouping artinya pengelompokkan, digunakan untuk mengelompokkan data berdasarkan atribut tertentu. Sebagai contoh Anda diminta untuk menampilkan banyaknya produk dan total stok dari produk untuk setiap nota_pembelian. Query yang dapat digunakan adalah:
3. HAVING
Having digunakan untuk menggantikan WHERE dan biasanya digunakan ketika harus dipasangkan dengan fungsi agregat. Sebagai contoh diminta untuk menampilkan data pengarang yang menulis lebih dari tiga produk.

BAB 9 VIEW

VIEW

1. DEFINISI VIEW
Tujuan dari pembuatan view adalah untuk kenyamanan (mempermudah penulisan query), untuk keamanan (menyembunyikan beberapa kolom yang bersifat rahasia), atau dalam beberapa kasus bisa digunakan untuk mempercepat proses menampilkan data (terutama jika kita akan menjalankan query tersebut secara berulang). Misal ingin dibuat dua buah tampilan. Tampilan pertama yaitu menampilkan daftar nota pembelian yang dimiliki oleh konsumen yang bernama Siiti.
2. MEMBANGUN VIEW
Disini akan dibagi menjadi dua sub bab lagi, yaitu view untuk data produk yang dibeli seorang konsumen dan data produk yang tidak dibeli seorang konsumen.
2.1 Kasus 1: View untuk data produk yang dibeli Konsumen
Untuk data produk yang dibeli konsumen, kita dapat membangun view sebagai berikut:
Sedangkan untuk menampilkan view yang sudah dibangun tadi, cukup tuliskan saja nama view nya:
Jika ada penambahan produk yang dibeli oleh seorang konsumen, maka Anda dapat dengan mudah menampilkan daftar produk yang dibeli oleh konsumen dengan menggunakan viewproduk_pupuk.
2.2 Kasus 2: View untuk data produk yang tidak dibeli konsumen
Untuk membangun tampilan ini lebih mudah dengan memanfaatkan viewproduk_notpupuk, dengan query sebagai berikut:
Sedangkan untuk menampilkan view sama seperti di atas.
3. MENGHAPUS VIEW
Untuk menghapus view dapat menggunakan perintah DROP. Sebelum dihapus, view dapat dilihat pada list tabel:
Jika dilakukan penghapusan, maka daftar view pun akan hilang.

JOIN

JOIN

1. NATURAL JOIN
Jika diperhatikan, penulisan query menggunakan SELECT untuk menampilkan data yang berrelasi menggunakan klausa WHERE memerlukan banyak energi. Query yang dituliskan panjang sehingga kemungkinan kesalahan dalam penulisan query pun semakin besar. Sebagai contoh perhatikan query berikut yang menggunakan klausa WHERE:
Sekarang Anda dapat membuat tampilan yang sama dengan query yang lebih singkat, yaitu menggunakan NATURAL JOIN. Seperti yang ditunjukkan pada gambar berikut:
Untuk membuktikan kondisi tersebut, di sini akan diberikan tambahan tabel yaitu tabel admin. Dimana tabel admin berrelasi dengan tabel lainnya dalam hal pengelolaan sehingga database memiliki tabel yang mencatat history pengelolaan data. Lebih jelasnya digambarkan pada ERD berikut:
Perhatikan pada tabel nota_pembelian PK nya berubah menjadi no_np (silakan diubah dengan menggunakan ALTER). Selain itu terdapat juga tambahan entitas yang lain, seperti admin, gudang. Berikut akan ditunjukkan pembuatan tabel petugas.
Sedangkan untuk tabel lainnya hanya akan dicontohkan pembuatan tabel gudang saja. Silakan tabel lainnya juga dibuat dengan cara yang sama.

Kemudian isikan tabel admin dan tabel gudang yang telah dibuat tadi dengan data sebagai berikut (tabel lainnya silakan diisi sendiri):
2. LEFT JOIN dan RIGHT JOIN
Left Join akan menampilkan semua record dari tabel sebelah kiri, dan record dari tabel sebelah kanan yang cocok. Hasilnya akan NULL untuk bagian kanan jika tidak ada kecocokan. Misal diminta untuk ditampilkan tabel kelola_pengarang yang menampilkan juga no HP admin yang mencatat. Query yang tepat jika menggunakan left join adalah sebagai berikut:
Akan tetapi jika posisi kedua tabel yang berhubungan diubah, maka tampilan datanya pun akan memiliki arti yang lain. Yaitu menampilkan pekerjaan setiap admin dalam mengelola data.
Right join adalah join yang serupa dengan left join, hanya saja posisi tabel yang kanan akan ditampilkan semua record nya. Sedangkan tabel yang kiri hanya record yang bersesuaian saja.
3. INNER JOIN
Versi aman dari left join maupun right join adalah inner join. Inner join tidak mementingkan posisi tabel pada query dan fungsinya sama dengan klausa where. Misalkan diperlukan tampilan dari pengelolaan pengarang, dimana menampilkan nama admin dan nama konsumen yang dikelola, query nya adalah sebagai berikut:




SUBQUERY BERSARANG


SUBQUERY BERSARANG

1. SELECT
Berdasarkan kasus yang sudah ada, ada beberapa permasalahan yang mungkin saja agak rumit jika diselesaikan dengan query SQL dasar. Misal Anda diminta untuk menampilkan data pengarang, yang pada tahun 2017 bukunya diterbitkan oleh Erlangga dan pada tahun 2016 bukunya diterbitkan oleh Andi. Untuk menyelesaikan ini Anda dapat menggunakan subquery bersarang:
DISTINCT digunakan untuk jika dalam suatu tampilan data terdapat baris yang duplikat (lebih dari satu baris dengan isi yang sama), maka hanya ditampilkan satu baris data saja.
2. INSERT
Jika Anda diminta untuk memasukkan data baru, dimana memiliki detail sebagai berikut:

Nama Produk: “Pupuk Basah”
Harga Jual : Rp 12.000
Stok : 50
No Nota Pembelian: NULL
Pengarang : Sri Hartati dan Agus Harjoko
Maka Anda dapat menggunakan query bersarang berikut untuk tabel buku:
Sementara untuk tabel nota_pembelian akan menjadi lebih rumit, misal :
3. UPDATE
4. DELETE
Sama seperti kasus sebelumnya, jika diminta untuk menghapus data produk yang diada di nota_pembelian, maka query yang dapat digunakan adalah sebagai berikut:
Jika data produk ada yang dihapus, lalu bagaimana dengan tabel nota_pembelian? Karena sebelumnya membangun tabel nota_pembelian menggunakan ON DELETE CASCADE, maka seharusnya data pada tabel tersebut akan otomatis ikut hilang. Mari kita buktikan, tampilkan data pada tabel produk
Terlihat pada tabel tersebut tidak ada nama_produk = pupuk basah, karena sudah dihapus menggunakan query sebelumnya. Sekarang kita tampilkan tabel nota_pembelian:

MULTIPLE RELATIONS

MULTIPLE RELATIONS

Pada pertemuan sebelumnya, telah dibangun dan diisi tabel produk dan tabel pupuk_rusak.
1.   Pada pertemuan kali ini, kedua tabel tersebut akan dihapus terlebih dahulu karena kedua tabel tersebut tidak dibangun atas dasar database relasional:
2.     Kemudian kita akan rancang database relasional sederhana untuk kasus gudang_logistik:





SET OPERATIONS

SET OPERATIONS

Pada pertemuan ini diperlukan lebih dari satu tabel untuk database gudang_logistik.
1.  Tabel tersebut memiliki karakteristik yang serupa dengan tabel produk. Misal tabel yang dimaksud adalah tabel yang menyimpan data-data pupuk rusak, sehingga memiliki nama pupuk_rusak:
2. Perhatikan pada CREATE TABLE yang dilakukan untuk pupuk_rusak diberikan AUTO_INCREMENT. Dengan demikian pada saat penginputan data baru, idpupuk tidak perlu diisikan karena akan terisi sendiri dengan otomatis dengan nilai yang selalu meningkat (increment). Sekarang Anda bisa mengisi tabel pupuk_rusak dengan data sebagai berikut:
3.  Operasi Union digunakan ketika mendapati kasus diperlukannya penggabungan data dari dua tabel yang memiliki kesesuaian. Format dari operasi ini adalah:
(SELECT …) UNION (SELECT …)
Sebagai contoh diperlukan data yang menggambarkan data seluruh produk, baik yang masih bagus ataupun yang sudah rusak. Dengan demikian diperlukan operasi union antara tabel produk dengan tabel pupuk_rusak:
4.   Operasi Intersect digunakan ketika mendapati kasus diperlukannya irisan data dari dua tabel yang bersesuaian. Pada MySQL tidak terdapat perintah INTERSECT, sehingga dapat digunakan format berikut untuk menggantikannya:
SELECT a FROM b WHERE a IN (SELECT a FROM c);
Sebagai contoh diperlukan data buku yang terdapat pada tabel produk dan juga terdapat pada tabel pupuk_rusak:

FUNGSI AGREGAT

FUNGSI AGREGAT

Pada pertemuan sebelumnya, semua data pada tabel produk telah dihapus. Maka pada pertemuan ini dilakuan pengisian data terlebih dahulu:
1.    Fungsi average adalah mencari rata-rata suatu nilai dari suatu atribut pada suatu tabel. Misal ingin dicari rata-rata hrg_jual pupuk dimana nama produknya adalah pupukbasah:
Anda dapat menggunakan fungsi alias untuk membuat nama kolom lebih mudah dipahami. Fungsi alias adalah ‘AS’:
Bahkan dengan fungsi alias ini Anda dapat membuat atribut yang memiliki spasi:
2.    Fungsi maximum digunakan untuk mencari nilai paling besar/tinggi dari suatu atribut pada suatu tabel. Misal ingin dicari tahu harga paling mahal pada produk:
3.   Fungsi total digunakan untuk mendapatkan jumlah total dari suatu atribut pada suatu tabel. Fungsi ini menggunakan SUM pada query nya. Misal ingin dihitung banyaknya total harga pupuk untuk produk dengan nama produkbasah:
4. Fungsi count digunakan untuk mendapatkan banyaknya data dari suatu tabel. Misal ingin didapatkan berapa banyak jenis produk dengan nama produk organik:


Teknik Hacking Website Sqlmap

Hacking Website Sqlmap A.     Pengertian Hacking Hacking adalah kegiatan memasuki system melalui system operasional lain yang dijal...