Back to IF3140 Sistem Basis Data

OperasiCostBanyaknya Tuple
10012222
5001100
45030600
849133
0 (Pipelined)133
Total51881133 (Tuple final)

Penjelasan:

  1. Untuk seleksi pelanggan berumur lebih dari atau sama dengan 21, karena pencarian didasarkan pada umur, dapat dianggap pencarian dilakukan dengan metode A1 (Linear Scan)
    • Pemindaian dilakukan dengan 
    • Tuple:
      • Total ada 24 - 7 + 1 = 18 variasi umur.
      • Kondisi umur >= 21 mencakup umur 21, 22, 23, 24 (4 variasi).
      • Karena distribusi seragam, estimasi tuple:  tuple.
  2. Untuk seleksi buku dengan atribut penulis bernilai ‘Andrea Hirata’, tidak ada indeks yang berlaku (karena memang penulis tidak unik). Kembali digunakan metode A1 (Linear Scan)
    • Pemindaian dilakukan dengan 
    • Tuple:
      • Total ada 500 variasi penulis
      • Hanya akan diambil 1 penulis
      • Karena distribusi seragam, estimasi tuple:  tuple.
  3. Untuk join buku dan peminjaman, dapat digunakan Hash Join (data tidak terurut dan banyak, serta equi-joins)
    • Cost: Menggunakan formula dasar Hash Join: .
      • Blok Hasil #2:  blok.
      • Cost =  blok.
    • Banyaknya Tuple:
      • Kita mencari berapa kali 100 buku (Hasil #2) dipinjam.
      • Rata-rata peminjaman per buku =   kali.
      • Estimasi tuple = 100 buku * 6 = 600 tuple.
  4. Join hasil Pelanggan dengan Hasil Join Sebelumnya ((Hasil #1) ⋈ (Hasil #3)) dapat menggunakan Hash Join lagi. Hasil join sebelumnya (Hasil #3) lebih kecil dalam jumlah blok, sehingga akan menjadi build input.
    • Cost:
      • Blok Hasil #1:   blok.
      • Blok Hasil #3 (berdasarkan asumsi soal): tuples per block peminjaman = 300.000 / 15.000 = 20. Ukuran tuple hasil join 2x lipat, jadi tuples per block hasil3 = 10. Maka  blok
    • Cost =  blok.
    • Banyaknya Tuple:
      • Dari 600 peminjaman di Hasil #3, kita ingin tahu berapa yang dilakukan oleh pelanggan berumur >= 21.
      • Fraksi pelanggan berumur >= 21 adalah 4/18.
      • Estimasi tuple = 600 * (4 / 18) ≈ 133 tuple.
  5. Proyeksi Nama
    • Karena asumsi mekanisme evaluasi adalah pipeline, hasil dari join terakhir (Hasil #4) langsung dialirkan ke operasi proyeksi tanpa disimpan ke disk.
    • Cost: 0 (biayanya sudah termasuk dalam operasi join sebelumnya).
    • Banyaknya Tuple: Operasi proyeksi tidak mengubah jumlah tuple, hanya kolomnya 133 tuple.