Back to IF2240 Basis Data

Topic

Questions/Cues

  • Apa konsep dasar Model Object-Oriented?
  • Apa itu Model Object-Relational?
  • Apa karakteristik Model Semi-Structured (XML)?
  • Bagaimana struktur Model Hierarkis?
  • Apa perbedaan utama Model Network dengan Model Hierarkis?

Model Object-Oriented

  • Konsep: Model ini merupakan adaptasi dari paradigma pemrograman berorientasi objek (seperti pada bahasa C++ atau Java) ke dalam dunia basis data. Ide utamanya adalah enkapsulasi, di mana data dan kode (prosedur) yang mengoperasikannya dibungkus menjadi satu kesatuan unit yang disebut objek.

  • Komponen Objek: Setiap objek memiliki:

    • Sekumpulan variabel: Untuk menyimpan data atau state dari objek tersebut.
    • Sekumpulan message: Operasi yang dapat direspons oleh objek.
    • Sekumpulan method: Blok kode yang mengimplementasikan sebuah message. Method inilah yang akan dieksekusi ketika objek menerima message yang sesuai.

Model Object-Relational

  • Konsep: Model ini adalah sebuah model hibrida. Ia mempertahankan dasar-dasar dari Model Relasional yang sudah kuat (seperti struktur tabel dan akses data deklaratif melalui SQL), namun memperluasnya dengan menyertakan konsep-konsep dari Model Object-Oriented.

  • Fitur Tambahan:

    • Tipe Data yang Lebih Kaya: Mendukung tipe data kompleks, termasuk tipe koleksi seperti set, multiset, dan array.
    • Inheritance (Pewarisan): Memungkinkan pembuatan subtype dan subtable, yang mewarisi properti dari tipe atau tabel induknya.

Model Semi-Structured (Contoh: XML)

  • Konsep: Model ini dirancang untuk data yang tidak cocok dengan struktur tabel yang kaku, tetapi masih memiliki struktur internal. XML (eXtensible Markup Language) adalah contoh utamanya, di mana pengguna bisa mendefinisikan tag sendiri untuk menciptakan struktur bersarang.

  • Karakteristik Utama:

    • Self-describing: Tag di dalam data menjelaskan makna dari data itu sendiri.
    • Tidak Memerlukan Skema Awal: Berbeda dengan model relasional, data bisa disimpan tanpa harus mendefinisikan strukturnya secara kaku terlebih dahulu.
    • Fleksibel: Entitas dalam kelompok yang sama bisa memiliki atribut yang berbeda, dan tipe datanya pun bisa bervariasi.

Model Hierarkis (Hierarchical Model)

  • Konsep: Model ini mengorganisir data dalam bentuk struktur pohon (tree). Ini adalah salah satu model basis data paling awal yang populer di era mainframe.

  • Struktur: Terdiri dari record types (sebagai node/kotak) dan links (sebagai garis). Aturan utamanya sangat ketat: setiap record anak (child) hanya boleh memiliki satu record induk (parent). Ini menciptakan hubungan satu-ke-banyak (one-to-many) yang jelas.

  • Ilustrasi ASCII:

           A (Parent)
          / | \
         /  |  \
        B1  B2  Bn (Children)
       / \
      /   \
     C1   Cm (Grandchildren)
    

Model Jaringan (Network Model)

  • Konsep: Model ini adalah evolusi dari model hierarkis. Ia juga menggunakan records dan links, namun mengizinkan struktur data yang lebih kompleks seperti graf (graph).

  • Perbedaan Utama dari Hierarkis: Fleksibilitasnya. Dalam model jaringan, sebuah record anak dapat memiliki lebih dari satu record induk. Ini memungkinkan pemodelan hubungan banyak-ke-banyak (many-to-many) secara lebih alami dan efisien dibandingkan model hierarkis.

  • Ilustrasi ASCII:

     (Parent 1)      (Parent 2)
          \            /
           \          /
          (Child Record)
    

    Sebuah ‘Child Record’ bisa terhubung ke ‘Parent 1’ dan ‘Parent 2’ secara bersamaan.

Summary

Selain model Relasional dan E-R yang umum, terdapat model lain untuk kebutuhan spesifik. Model Object-Oriented menggabungkan data dan operasi dalam satu unit (objek). Model Hierarkis menyusun data dalam struktur pohon yang kaku (satu induk per anak), sementara Model Jaringan yang lebih fleksibel mengizinkan struktur graf (banyak induk per anak). Terakhir, Model Semi-Terstruktur seperti XML menawarkan fleksibilitas tinggi untuk data yang tidak memiliki skema tetap, di mana data mendeskripsikan dirinya sendiri melalui tag.