Senin, 06 Agustus 2012

QUERY

Pada bagian ini kita akan menerapkan teori-teori query yang telah kita telah singgung sebelumnyanya. Seperti telah dijelaskan, query adalah 'permintaan data'. Dengan query kita dapat menampilkan data-data tertentu dari satu atau lebih tabel, atau melakukan perhitungan pada data di dalam tabel. Namun sebelum mempelajari bagaimana membuat query, kita akan pelajari dulu bagaimana membuat relasi antar tabel agar ketika membuat query menjadi lebih mudah.


11.3.1.Membuat Relasi Antar Tabel.


Pada Gambar 11.8, kita telah mendefinisikan hubungan antar entitas dalam ER Diagram. Gambar ini merupakan dasa dalam membuat relasi antar tabel. Untuk membuat relasi antar tabel, pilih menu Tools kemudian Relationship sehingga akan muncul jendela seperti pada Gambar 11.20. Pada jendela relationships tersebut klik kanan sehingga muncul menu pilihan dan pilih Show Tabel. Setelah muncul jendela seperti Gambar 11.21, kita dapat mulai menentukan tabel mana saja yang akan kita relasikan.


Pada Gambar 11.21, pilih tabel yang akan direlasikan kemudian click tombol Add. Setelah selesai proses pemilihan click tombol Close. Pada kasus yang akan kita terapkan ini keempat tabel itu berhubungan langsung maupun tidak langsung. Sehingga kita memilih seluruh tabel untuk direlasikan. Gambar 11.22 menunjukkan hasil pemilihan tabel pada jendela Relationships. Pada gambar ini yang diperlihatkan adalah struktur dari masing-masing tabel, bukan isinya. Nama kolom yang dicetak tebal menunjukkan kolom tersebut adalah primary key. Kita dapat mengatur posisi tabel dengan cara drag & drop.
Untuk membuat relasi antar tabel, dapat dilakukan dengan memilih primary key pada suatu tabel kemudian seret mouse menuju key dengan nama yang sama pada tabel lainnya (foreign key pada tabel lain). Sebagai contoh pada tabel pembeli, primary key – nya id_pembeli dan pada tabel pesanan, id_pembeli adalah foreign key. Click id_pembeli pada tabel pembeli kemudian seret mouse menuju id_pembeli pada tabel pesanan. Apabila prosedur ini benar dilakukan, maka akan muncul jendela seperti Gambar 11.23. Click pada bagian Enforce Referential Integrity dan click tombol Create. Kita dapat melakukan prosedur ini pada relasi-relasi yang lain. Sehingga pada jendela Relationships akan tampak seperti pada Gambar 11.24.
Gambar 11.24 menunjukkan relasi antar tabel yang dapat kita bandingkan dengan ER Diagram pada Gambar 11.8. Pada relasi antar tabel ini, kita juga menentukan kardinalitas antar tabel. Perhatikan pada garis yang menghubungkan tabel pembeli dengan pesanan. Di ujung yang berada pada tabel pembeli ditandai dengan angka 1 dan di ujung yang ada pada tabel pesanan ditandai dengan notasi 􀂒. Hal ini menunjukkan adanya hubungan oneto-many antara tabel pembeli dengan tabel pesanan. Demikian juga dengan relasi antar tabel yang lain.

11.3.2.Membuat Query


Microsoft Access menyediakan fasilitas query yang sangat baik dan memudahkan pengguna. Selain karena berbasis GUI juga prosedurnya tidak terlalu rumit. Berikut contoh-contoh membuat query di Microsoft Access.
o Query pada satu tabel
Query pada satu tabel hanya akan melibatkan satu tabel saja. Misalkan kita akan melakukan query pada tabel buku. Prosedur yang ditempuh adalah sebagai berikut:
1. Pada jendela Database pilih Query lalu klik dua kali Create Query In Design View. Sehingga akan muncul jendela seperti pada Gambar
11.25. Pilih tabel buku pada jendela Show Tabel, kemudian click Add dan kemudian Close. Jendela Show Table akan tertutup dan kita dapat mulai melakukan query.
2. Pada jendela Query bagian bawah (lihat Gambar 11.25), ada beberapa hal penting yang harus diketahui dan berguna dalam query yaitu Field : Nama Field yang ingn ditampilkan
Tabel : Nama Tabel dari Filed tersebut
Sort : Mengurutkan Data hasil query
Show : Mengatur Field ditampikan atau tidak
Criteria : Syarat dari data yang ingin ditampilkan
3. Contoh query yang pertama adalah bagaimana menampilkan semua data, misalnya:
Tampilkan semua data yang ada di tabel buku.
Untuk menampilkan seluruh data pada tabel buku, pada Field, click tombol panah ke bawah pilih buku.* (lihat Gambar 11.26). Kita dapat mengeksekusi query dengan memilih menu Query kemudian click Run, atau click langsung tombol tanda seru ( ) yang ada di toolbar. Hasil query dapat dilihat pada Gambar 11.26. Simpan query dengan nama yang diinginkan (misalnya: query_buku_semua_data) kemudian tutup jendela Query.
4. Contoh query yang kedua adalah memilih kolom mana saja yang akan ditampilkan, misalnya :
Tampilkan semua nama pengarang dan judul buku yang dikarangnya Query ini tidak menampilkan seluruh data tetapi hanya data dari kolom pengarang dan judul buku saja. Pada Gambar 11.27 terlihat bagaimana query dilakukan. Tabel buku tetap dipilih dari jendela Show Table, kemudian di jendela Query, pada bagian Field dipilih field pengarang dan judul. Hasil eksekusi query adalah daftar nama seluruh pengarang dan buku yang dikarangnya.
5. Contoh query yang ketiga adalah bagaimana membuat tampilan data urut sesuai yang dikehendaki, misalnya:
Tampilkan semua judul buku dan harganya dengan urutan harga yang paling mahal lebih dahulu Query ini juga tidak menampilkan seluruh data tetapi hanya data dari
judul buku dan harga saja. Namun urutan tampilan dirubah. Pada Gambar 11.28 terlihat bagaimana query dilakukan. Tabel buku tetap dipilih dari jendela Show Tabel, kemudian di jendela Query, pada bagian Field dipilih field judul dan harga. Pada bagian Sort, pada kolom yang sama dengan harga, kita gunakan opsi Descending untuk mengurutkan dari besar ke kecil. Hasil eksekusi query adalah daftar seluruh judul buku dan harganya dengan urutan judul buku yang berharga paling mahal di atas.. Bandingkan urutan baris pada hasil dengan hasil query pada Gambar 11.26.
6. Contoh query yang ketiga adalah bagaimana memilih baris-baris mana saja yang akan ditampilkan, misalnya:
Tampilkan semua judul buku yang pengarangnya adalah Harry Redknapp.
Query ini juga hanya berhubungan dengan data dari field judul buku dan pengarang saja. Namun tidak seluruh judul, tetapi hanya judul buku yang ditulis ‘Harry Redknapp’. Pada Gambar 11.28 terlihat bagaimana query dilakukan. Tabel buku tetap dipilih dari jendela Show Tabel, kemudian di jendela Query, pada bagian Field dipilih field nama pengarang dan judul. Pada bagian criteria, kita masukkan criteria yang kita maksudkan, yaitu = ‘Harry Redknapp’. Hasil eksekusi query adalah daftar seluruh judul buku yang ditulis ‘Harry Redknapp’.
7. Contoh query yang ketiga adalah bagaimana kita menggunakan operator pada kriteria, misalnya:
Tampilkan semua judul buku yang pengarangnya adalah Harry
Redknapp dan Arsene Wenger.
Seperti pada no 6, query ini juga hanya berhubungan dengan data dari field judul dan pengarang saja. Namun tidak seluruh judul, tetapi hanya judul buku yang ditulis secara bersama oleh ‘Harry Redknapp dan Arsene Wenger’. Pada Gambar 11.30 terlihat bagaimana query dilakukan.
Gunakan cara yang sama seperti pada no 6, hanya pada bagian criteria, kita masukkan criteria yang kita maksudkan, yaitu = ‘Harry Redknapp’ and ‘Arsene Wenger’. Hasil eksekusi menunjukkan tidak ada satu recordpun yang memenuhi. Hal ini karena memang tidak ada buku yang ditulis secara bersama oleh ‘Harry Redknapp’ dan ‘Arsene Wenger’. Bagaimana kalau kita ganti and dengan or? Perhatikan pada Gambar 11.31. Ada 3 record yang sesuai.
o Query pada lebih dari satu tabel
Query pada lebih dari satu tabel, relasi antar tabel yang telah kita buat sebelumnya akan menjadi sangat penting. Karena relasi ini akan menentukan bagaimana hasil dari query. Prosedur untuk membuat query sama seperti membuat query satu tabel, namun tabel yang dipilih pada jendela Show Tabel tidak lagi satu, tetapi mungkin dua, tiga atau lebih, sesuai dengan kebutuhan. Berikut ini beberapa contoh query dengan lebih dari satu tabel.
1. Contoh query yang pertama adalah query yang melibatkan dua tabel, misalnya:
Tampilkan nama dan alamat pembeli yang jumlah pembeliannya lebih dari 100000.
Pada query ini kita membutuhkan tabel pembeli karena kolom nama dan alamat pembeli ada pada tabel pembeli. Kita juga membutuhkan tabel pesanan karena kolom jumlah pembelian ada pada tabel ini. Dari relasi antar tabel pada Gambar 11.24, kita tahu bahwa ada relasi antara tabel pembeli dan tabel pesanan dengan kardinalitas one-to-many. Prosedur membuat query akan seperti berikut:
Pada jendela Database pilih Query lalu klik dua kali Create Query In Design View. Sehingga akan muncul jendela Show Tabel. Pilih tabel pembeli dan pesanan pada jendela Show Table (Gambar 11.32), kemudian click Add dan kemudian Close. Jendela Show Table akan tertutup dan kita dapat mulai melakukan query.
Ketika kita memilih tabel pembeli dan pesanan seperti tampak pada Gambar 11.33, secara otomatis Microsoft Access akan menampilkan garis relasi antara kedua tabel tersebut. Apabila kita belum membuat relasi, maka garis relasi tidak akan muncul. Pada Gambar 11.33 terlihat pada bagian Field untuk kolom nama dan alamat, Tabel nya adalah pembeli. Sedangkan pada jumlah_pembelian, tabelnya adalah pesanan. Selain itu pada kolom jumlah_pembelian, kita juga membuat criteria, yaitu yang lebih besar dari 100000. Hasil eksekusi query menunjukkan ada dua orang pembeli yang jumlah_pembeliannya lebih dari 100000.
2. Contoh query yang kedua adalah query yang melibatkan tiga tabel, misalnya:
Tampilkan judul buku dan pengarangnya yang dibeli pada tanggal 22 Juli 2007 atau 25 Juli 2007.
Pada query ini kita membutuhkan tabel buku karena kolom judul dan pengarang ada pada tabel buku. Kita juga membutuhkan tabel pesanan karena kolom tanggal pembelian ada pada tabel ini. Namun dari relasi antar tabel pada Gambar 11.24, kita tahu bahwa tabel pesanan dan tabel buku tidak ada relasi langsung. Tabel pesanan berhubungan langsung dengan tabel item_pesanan dan tabel item_pesanan berhubungan langsung dengan tabel buku. Semua relasinya berkardinalitas one-tomany.
Sehingga pembuatan query akan seperti berikut:
Pilih tabel buku, item_pesanan dan pesanan pada jendela Show Tabel. Kemudian click Add dan kemudian Close. Seperti tampak pada Gambar
3. Contoh query yang ketiga adalah query yang melibatkan semua tabel pada basis data penjualan buku, misalnya:
Tampilkan nama dan alamat pembeli yang membeli buku dengan judul
Teori Sepakbola Modern.
Pada query ini kita membutuhkan tabel pembeli karena kolom nama dan alamat ada pada tabel pembeli. Kita juga membutuhkan tabel buku karena kolom judul hanya ada pada tabel ini. Dari relasi antar tabel pada Gambar 11.24, kita tahu bahwa tabel pembeli dan tabel buku tidak ada relasi langsung, namun harus melalui tabel pesanan dan tabel item_pesanan. Oleh karena itu kita membutuhkan keempat tabel tersebut dalam query ini. Pada Gambar 11.35 terlihat bagaimana query ini harus dibuat. Hasil eksekusi query ini menghasilkan tiga record seperti terlihat

Tidak ada komentar:

Posting Komentar