Back to IF3140 Sistem Basis Data

Topic

Questions/Cues

  • Bagaimana cara menangani record berukuran tetap?

  • Apa itu “free list”?

  • Bagaimana cara menangani record berukuran variabel?

  • Apa itu Slotted Page Structure?

Organisasi File: Record Berukuran Tetap

Untuk record berukuran tetap (fixed-length), pendekatan paling sederhana adalah menyimpan record ke-i mulai dari byte ke n * i, di mana n adalah ukuran setiap record. Namun, ini bisa menyebabkan record terpotong di antara blok. Modifikasi yang umum adalah tidak mengizinkan record melintasi batas blok.

Saat menghapus record, ada beberapa alternatif:

  • Menggeser Record: Memindahkan semua record setelahnya untuk menutupi celah.

  • Menimpa Record: Memindahkan record terakhir untuk mengisi posisi yang dihapus.

  • Menggunakan Free List: Tidak memindahkan record sama sekali, tetapi menandai ruang kosong dan menghubungkannya dalam sebuah linked list yang disebut free list. Header file akan menyimpan penunjuk ke record kosong pertama.

Organisasi File: Record Berukuran Variabel

Record berukuran variabel (variable-length) muncul karena beberapa alasan, seperti penggunaan tipe data varchar atau adanya beberapa tipe record dalam satu file. Salah satu metode untuk menanganinya adalah dengan menyimpan atribut berukuran variabel di akhir record, dengan penunjuk (offset, length) di bagian depan. Nilai NULL sering kali direpresentasikan menggunakan null bitmap.

Slotted Page Structure

Slotted Page Structure adalah metode yang sangat efisien untuk mengelola record berukuran variabel di dalam sebuah blok. Setiap blok memiliki header yang berisi:

  • Jumlah entri record.

  • Penunjuk ke akhir ruang kosong di dalam blok.

  • Sebuah “direktori” entri yang masing-masing berisi lokasi dan ukuran dari setiap record.

Dengan struktur ini, record dapat dipindahkan di dalam blok (misalnya untuk menjaga agar tidak ada ruang kosong di tengah) tanpa merusak pointer dari luar, karena pointer eksternal akan menunjuk ke entri di header, bukan ke lokasi fisik record.

Metode Organisasi File Lainnya

Selain penanganan record, ada beberapa metode organisasi file secara keseluruhan:

  • Heap File: Record ditempatkan di mana saja ada ruang kosong, tanpa urutan tertentu. Efisien untuk memuat data dalam jumlah besar, tetapi lambat untuk pencarian selektif.

  • Sequential File: Record diurutkan berdasarkan nilai dari sebuah search key. Sangat baik untuk pemrosesan sekuensial, tetapi sulit untuk menangani penyisipan data.

  • Multitable Clustering: Menyimpan beberapa tabel yang saling terkait (misal, department dan instructor-nya) dalam satu file yang sama untuk meminimalkan I/O saat melakukan JOIN.

Summary

Organisasi file membahas cara menyusun record di dalam blok. Untuk record berukuran tetap, penghapusan dapat ditangani dengan menggeser record atau menggunakan free list. Untuk record berukuran variabel, metode Slotted Page Structure menjadi solusi efisien dengan menggunakan header di setiap blok untuk mengelola lokasi record. Secara keseluruhan, file dapat diorganisir sebagai Heap (tidak terurut), Sequential (terurut), atau bahkan Multitable Clustering untuk menyimpan beberapa tabel terkait secara fisik berdekatan.