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.
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.
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.
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’.
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.
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.
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
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
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