Database Design
8-1
Data Historis Pemodelan
Tujuan
•Pelajaran ini akan membahas tujuan berikut:
−Mengidentifikasi kebutuhan untuk melacak data yang berubah seiring waktu
−Membangun model ERD yang menggabungkan elemen "data dari waktu ke waktu”
−Mengidentifikasi UID suatu entitas yang menyimpan data historis; menjelaskan dan membenarkan pilihan UID
Tujuan
• Berapa tinggi badan Anda saat berusia 5 tahun? Berapa tinggi badan Anda saat berusia 10 tahun? Berapa tinggi badan Anda saat ini?
• Jika orang tua Anda menuliskan ini ketika Anda masih muda, mereka melacak data historis
• Sebagian besar bisnis perlu melacak beberapa data historis
• Ini membantu mereka menemukan tren dan pola yang merupakan dasar untuk inovasi bisnis atau perbaikan proses
• Misalnya, riwayat penyewaan film berguna untuk toko video, ini memberi tahu manajer film mana yang populer dan yang harus dipindahkan ke rak belakang
Model Data dari Waktu ke Waktu
•kapan diperlukan untuk memodelkan data dari waktu ke waktu?
•Tanyakan klien Anda:
−Apakah jejak audit diperlukan?
−Dapatkah nilai atribut berubah dari waktu ke waktu?
−Dapatkah hubungan berubah dari waktu ke waktu?
−Apakah Anda memerlukan untuk memproduksi laporan dari data lama?
−Apakah Anda perlu menyimpan versi data yang sebelumnya?
Jika demikian, untuk berapa lama?
Contoh Data Dari Waktu Ke Waktu
•Organisasi perlu menyimpan data tentang gaji karyawan
•Semua karyawan dibayar setiap minggu
•Awalnya, entitas KARYAWAN berikut yang dimodelkan
•Persyaratan tambahan saat ini menentukan bahwa organisasi perlu menyimpan catatan sejarah tentang bagaimana dan kapan gaji karyawan telah berubah selama pekerjaan mereka EMPLOYEE
# Id* First name
* Last name
* Weekly salary amount
* Salary start date
Model Perubahan Gaji
•Untuk memodelkan perubahan gaji dari waktu ke waktu, tambah entitas RIWAYAT GAJI
•UID dari entitas RIWAYAT GAJI terkait dengan id KARYAWAN dan tanggal mulai gaji
for
having
SALARY HISTORY
# Salary start date o Salary end date
* Weekly salary amount
EMPLOYEE
# Id* First name
* Last name
Model Sewa dari Waktu ke Waktu
•Toko perhiasan menyewakan perhiasan (kalung, gelang, dan sebagainya) kepada bintang film untuk
acara-acara khusus, seperti upacara penghargaan atau pemutaran perdana film
•Mereka ingin melacak riwayat sewa sebuah perhiasan
•Model ER berikut hanya akan melacak penyewa saat ini dari satu perhiasan
•Bagaimana Anda merevisi hubungan untuk melacak riwayat?
rented by
renting
JEWELRY PIECE
# Code
* Description
* Rental rate
* Insured value
MOVIE STAR
# Id* First name
* Last name
Menyelesaikan M:M
•Hubungan antara PERHIASAN dan
BINTANG FILM harus direvisi ke M:M, yang kemudian diselesaikan dengan entitas
persimpangan RIWAYAT SEWA
•Kemudian kita perlu
menentukan UID RIWAYAT SEWA
Hubungan M:M diselesaikan dengan entitas persimpangan rented by
renting
JEWELRY PIECE
# Code
* Description
* Rental rate
* Insured value
MOVIE STAR
# Id* First name
* Last name
MOVIE STAR
# Id* First name
* Last name
JEWELRY PIECE
# Code
* Description
* Rental rate
* Insured value
for
on
for
on
RENTAL HISTORY
* Rental date
* Date returned
Menentukan UID
•Opsi 1: Hubungan yang dilarang
−Menggambar Hubungan yang dilarang tidak sesuai dengan UID di sini, karena hal ini tidak memungkinkan BINTANG FILM untuk menyewa PERHIASAN yang sama di tanggal yang
berbeda
MOVIE STAR
# Id* First name
* Last name
JEWELRY PIECE
# Code
* Description
* Rental rate
* Insured value
for
on
for
on
RENTAL HISTORY
* Rental date
* Date returned
Menentukan UID
•Opsi 2: Hubungan yang dilarang dan Tanggal Sewa.
−Menambahkan tanggal sewa ke UID akan memungkinkan BINTANG FILM untuk menyewa PERHIASAN yang sama pada tanggal yang berbeda, tetapi juga akan mengizinkan BINTANG FILM yang berbeda untuk
menyewa PERHIASAN yang sama pada tanggal yang sama!
MOVIE STAR
# Id* First name
* Last name
JEWELRY PIECE
# Code
* Description
* Rental rate
for
on
for
on
RENTAL HISTORY
# Rental date
* Date returned
Menentukan UID
•Opsi 3: Hubungan yang dilarang antara BINTANG FILM dan RIWAYAT SEWA dengan Tanggal Sewa
−Model ini tidak akan mengizinkan BINTANG FILM yang sama menyewa lebih dari satu PERHIASAN pada hari yang diberikan
MOVIE STAR
# Id* First name
* Last name
JEWELRY PIECE
# Code
* Description
* Rental rate
* Insured value
for
on
for
on
RENTAL HISTORY
# Rental date
* Date returned
Menentukan UID
•Opsi 4: Hubungan yang dilarang antara PERHIASAN dan RIWAYAT SEWA dengan Tanggal Sewa
−Model ini mengatakan bahwa PERHIASAN dapat disewa hanya satu kali pada tanggal yang sama
MOVIE STAR
# Id* First name
* Last name
JEWELRY PIECE
# Code
* Description
* Rental rate
for
on
for
on
RENTAL HISTORY
# Rental date
* Date returned
Terminologi
•Istilah-istilah penting yang digunakan dalam pelajaran ini di antaranya:
−Jejak audit
−Data historis
Rangkuman
•Dalam pelajaran ini, Anda seharusnya sudah belajar cara:
−Mengidentifikasi kebutuhan untuk melacak data yang berubah seiring waktu
−Membangun model ERD yang menggabungkan elemen "data dari waktu ke waktu”
−Mengidentifikasi UID suatu entitas yang menyimpan data historis; menjelaskan dan membenarkan pilihan UID