temporal database

27
TEMPORAL DATABASE OLEH : FIRMAN JAYA, S.Pt, M.Kom

Upload: independent

Post on 29-Mar-2023

1 views

Category:

Documents


0 download

TRANSCRIPT

TEMPORAL DATABASE

OLEH :FIRMAN JAYA, S.Pt, M.Kom

Why is Time Important?• Metodologi perancangan basis data saat ini tidak menyediakan sarana konstruksi aplikasi basis data yang menelusuri perubahan data di setiap objek pada setiap waktu.

• Padahal, dibutuhkan kemampuan untuk mengacu sejarah objek untuk:

• menelusuri event-event yang terjadi untuk melihat trend dan menemukan penyimpangan yang menyebabkan munculnya masalah

• membantu pemahaman kejadian yang lampau, sehingga dapat mencegah kemunculan kembali masalah yang sama

• Pendekatan saat ini adalah dengan memanfaatkan file history dan log, yang membutuhkan penanganan khusus melalui program aplikasi yang pembangunannya memakan waktu dan susah untuk digunakan. Yang lebih penting adalah kebutuhan analisis dapat berubah di masa yang akan datang.

• Akibatnya, akan sulit untuk:• memvalidasi perubahan data terhadap waktu• menuliskan query dengan SQL standar untuk mengambil informasi yang memiliki sejarah

Histori dalam Sistem Konvensional

Interval keberlakuan data dapat dicatat menggunakan dua atribut dengan tipe data DATE yang merupakan tipe standar pada SQL92. Atribut pertama menunjukkan awal keberlakuan sedangkan atribut kedua menunjukkan akhir keberlakuan•Contoh, didefinisikan relasi:

• Employee(Name, Salary, Title, DateofBirth, Start DATE, Stop DATE)

Histori dalam Sistem Konvensional

•Tampilkan daftar nama dan gaji pegawai saat ini (asumsi: data current dinyatakan dengan nilai Stop yang masih NULL)

•Tampilkan daftar nama dan gaji pegawai per tanggal ‘15-Mei-2001’

•Tampilkan sejarah gaji setiap pegawai, Karena sejarah, maka tanggal awal berlaku dan akhir berlaku harus ditampilkan. Ingat, informasi gaji yang sama bisa terdapat di lebih dari satu record

Unsur waktu di dalam model data

• Level atribut• sebagai tipe data waktu, berikut operator komparasi• dimiliki oleh hampir semua basis data komersial

• Level constraint dan trigger• temporal constraints mendeskripsikan ketergantungan data jangka panjang yang harus dipenuhi agar evolusi basis data diterima

• temporal triggers menetapkan sejumlah aksi yang harus dilakukan terhadap basis data pada waktu tertentu

• Level objek• memelihara sejarah (history) setiap objek dan entitas yang disimpan,

• memungkinkan penelusuran (query) terhadap sejarah tersebut• waktu diberikan dalam bentuk timestamps yang diasosiasikan dengan data pada saat dimasukkan ke basis data dan pada saat dimanipulasi (seperti delete dan update)

Catatan: setiap level memiliki kompleksitas yang meningkat

Manajemen Waktu• waktu absolut:

• timestamp diasosiasikan dengan setiap data• model waktu statis yang difokuskan pada masing-masing keadaan (state) dan lamanya

• digunakan oleh DBMSs

• = process modelling [Bolour and Dekeyser, 1983]

• waktu relatif:• setiap data diketahui keterkaitannya dengan data lain (misalnya diketahui sebelum atau sesudah data yang lain).

• model waktu dinamis yang difokuskan pada transisi antar keadaan dengan constraints dinamis

• digunakan oleh AISs:• pengurutan relatif dari facts (A before B, C overlaps D)• basis bagi temporal reasoning systems• contoh: medical systems

• = time modelling [Bolour and Dekeyser, 1983]

Representasi Waktu•Beberapa aspek yang perlu diperhitungkan:•struktur: pengorganisasian internal

• Model konseptual• dense time:

•himpunan waktu yang kontinu•selalu terdapat sebuah instan waktu di antara dua instan waktu •dapat diasosiasikan dengan bilangan real.

• discrete time:• himpunan waktu yang tidak kontinu • setiap point waktu memiliki sebuah successor• dapat diasosiasikan dengan bilangan integer.• unit waktu terkecil yang dapat diterapkan disebut chronon

(bukan titik, melainkan segmen garis)

Agreement: the set of time is a linear order=> untuk dua waktu yang tidak sama, berlaku t1 before t2 atau

t2 before t1Hal ini merupakan properti waktu yang paling mendasar.

• struktur (cont.):• Model struktural (hasil kerja awal pada temporal logic)

• model linier: waktu berubah dari masa lalu ke masa datang secara terurut

• model bercabang (possible futures model): waktu berubah linier dari masa lalu hingga masa kini, kemudian dibagi menjadi sejumlah garis waktu, masing-masing menggambarkan suatu urutan kejadian yang dapat terjadi

=> pencabangan lebih lanjut dimungkinkan

• interpretasi: arti, contoh: sebuah tanggal dapat diartikan sebagai tanggal lahir atau tanggal batas akhir pembayaran rekening

• representasi: bagaimana menampilkannya bagi pemakai, contoh: angka (tipe ordinal) atau bentuk penanggalan

• format: bagaimana representasi yang dipilih digunakan untuk mendeskripsikan waktu, contoh: instan waktu atau interval

• granularitas: level kedetilan waktu, contoh: detik, menit, hari, tahun

Dimensi Waktu• Umum:• User-defined time

• semantiknya ditangani secara terpisah dari sistem basis data• digunakan untuk mendefinisikan atribut waktu, seperti tanggal lahir

• Transaction time• berkaitan dengan saat data dimasukkan ke basis data atau dimanipulasi

• = physical time

• Valid time• berkaitan dengan saat keberlakuan data di dunia nyata• aspek multiface dari waktu, dapat waktu akan datang• = logical time

Tambahan• Realisation time/observation time: saat perubahan status teramati• Untuk basis data medis, valid time dibagi dua:

• valid time: saat keputusan dibuat• effective time: saat keputusan dilaksanakan

Format Waktu•Time points•merupakan suatu instan waktu•dapat merepresentasikan dua hal:

1.waktu saat sesuatu terjadi2.waktu saat suatu aksi dimulai

a)waktu saat aksi berhenti secara implisit didefinisikan waktu awal aksi berikutnya

b)pendekatan ini memiliki dua kelemahan:•record-record harus terurut temporal•record-record harus memenuhi prinsip bahwa basis data historis harus menggambarkan sebuah sistem secara lengkap (tanpa gap)

=> jika terdapat gap, harus dibuat dummy values

•Time intervals (paling sering digunakan)1. merepresentasikan suatu durasi waktu, himpunan2. chronon-chronon terurut3. batas bawah merupakan start time dan batas atas merupakan end

time4. terdapat dua representasi interval:

a) closed-ended: interval mencakup start time dan end timecontoh: [5-Jan-91,8-Jun-92]a) open-ended: interval mencakup start time tapi tidak end timecontoh: [5-Jan-91,8-Jun-92)

5. batas atas sering dikaitkan dengan waktu saat ini => bergerak maju (now)

• Temporal elements1. merepresentasikan himpunan chronon-chronon yang merupakan

hasil operasi penggabungan terbatas sejumlah interval yang terpisah

2. menghilangkan kemungkinan munculnya data yang tidak ada kaitan dengan waktu yang sama => coalescing

Contoh:Nam a Department TimeAniMainan Anak [23-Mar-97,15-Dec-97) U [6-May-98,31-Nov-98)AniPengiriman [15-Dec-97,6-May-98)

Granularitas waktu• Kedetilan waktu yang dibutuhkan untuk setiap aplikasi berbeda => granularitas yang berbedaContoh:

• upah berubah per tahun• waktu tukang dihitung per jam• tanggal lahir ditentukan berdasarkan harinya

• Granularitas yang terlalu besar dapat menyebabkan kehilangan informasi, karena memungkinkan perubahan data terjadi di dalam satu chronon

•Granularitas yang terlalu kecil mahal harganya, dan mengimplikasikan presisi yang tidak logis

•Terdapat dua pendekatan:• single database wide granularity, direpresentasikan pada suatu level yang optimum, yaitu chronon

• multiple granularities, dengan ketersediaan fungsi konversi atau perbandingan antar level

Taksonomi Relasi

•Relasi Snapshot•semua data dianggap current pada suatu waktu tertentu, biasanya saat ini

•update menyebabkan data lama dibuang

•Relasi Transaction-Time (= rollback relations)• relasi statis yang mengelola sejarah status basis data di masa lampau

• sejarah dipelihara dengan cara menyimpan setiap transaksi bagi setiap objek yang diindeks berdasar waktu saat transaksi dimulai

• memberi informasi saat data dimasukkan dan dibuang dari basis data

•Relasi Valid-Time (= historical relations)•relasi yang memelihara saat data valid di dunia nyata

•pemeliharaan dilakukan dengan menyimpan semua status masa lampau

•setiap status memiliki timestamp yang menandai awal dan akhirnya data yang diperbaiki akan hilang

•Relasi Bitemporal• kombinasi relasi transaction-time dan relasi valid-time• menyimpan saat data valid di dunia nyata dan saat current di basis data

• umumnya: tidak ada keterkaitan antara valid time dan transaction time

• Jensen dan Snodgrass membuat klasifikasi bagi sebuah subset dari relasi bitemporal, disebut specialisation. Pada subset ini, terdapat keterkaitan antara valid time dengan transaction time

Relasi temporal•Model relasional Codd (1970) memiliki kelemahan karena [Clifford, 1987]• mengabaikan segala bentuk waktu• mengabaikan keterkaitan antara waktu dan informasi

•Relasi yang menyimpan sejarah objeknya dalam dimensi manapun disebut relasi temporal

Temporal Databases• Databases with one or more time dimension(s).• Examples:

1. Various kinds of records:• Credit• Personal• Financial• Judicial• Cadastral (property)

2. Monitoring and measurement results