Pemodelan Basis Data Entity-Relationship Diagram (contoh kasus) Yusuf Priyandari @Agustus 2010
Tahap Pengembangan Basis Data Model 1 1 2 Topics discussed 3 4 5 6 7 2
Database Design Methodology Topics discussed 3
Studi Kasus THE STAYHOME VIDEO RENTALS 4
1. Identifikasi Entitas Salah satu metode mengidentifikasi entitas adalah memeriksa spesifikasi kebutuhan pengguna. Dari situ akan dapat diidentifikasi kata benda atau frase kata benda yang sering muncul. Perhatikan objek seperti orang, tempat, atau konsep yang memiliki properti. Bagian yang cukup sulit dalam identifikasi entitas adalah ketika entitas tersebut terkait dengan spesifikasi sistem yang diinginkan oleb pengguna. Misal, adanya sistem keamanan/autentifikasi untuk mengakses aplikasi, dapat memunculkan entitas berupa User 5 5
1. Identifikasi Entitas Entitas pada StayHome: KantorCabang * Pegawai Film * ItemFilmUntukDipinjam Anggota * TransaksiPeminjaman Aktor * Director Rangkum entitas dalam tabel untuk memudahkan pengamatan: 6
2. Identifikasi Relasi Relasi diperoleh dari pengamatan terhadap proses bisnis dan hasil analisis kebutuhan sistem. Relasi biasanya dapat diamati dari kata kerja yang menghubungkan suatu entitas dengan entitas lainnya. Umumnya relasi terjadi antar dua entitas, namun jangan lupa kemungkinan adanya relasi unary dan tertiary. Tabel relasi pada StayHome: 7
2. Identifikasi Relasi Relasi awal pada StayHome: 8
2. Identifikasi Relasi Indentifikasi kardinalitas relasi StayHome: 9
3. Identifikasi Atribut Indentifikasi atribut sederhana dan komposit Identifikasi atribut tunggal dan multi atribut Identifikasi atribut turunan 10
3. Identifikasi Atribut Indentifikasi atribut sederhana dan komposit Identifikasi atribut tunggal dan multi atribut Identifikasi atribut turunan 11
4. Menentukan Domain Atribut Tabel Kamus Data 12
5. Menentukan Primary Key 13
5. Menentukan Primary Key Lengkapi Tabel Kamus Data sebelumnya 14
6. Periksa Redudansi Model Periksa : Apakah ada dua nama entitas yang sebenarnya sama? Apakah ada relasi yang sebenarnya telah diwakili oleh relasi lain (doble relasi)? Pertimbangkan adanya atribut yang dipengaruhi oleh waktu, apakah perlu dikembangkan menjadi relasi? Pertimbangkan adanya relasi yang tidak bisa mendukung kejadian di waktu mendatang? 15
7. Periksa Kemampuan Model Mendunkung Transaksi Periksa apakah model mendukung semua transaksi yang telah diidentifikasi sebelumnya. 16
2 Pengumpulan & Analisis Kebutuhan Data entry (Input data) a. Input detail kantor cabang baru. b. Input detail pegawai baru di sebuah cabang. c. Input detail film yang baru disediakan untuk disewa. d. Input detail copy (CD/DVD) untuk sebuah film baru. e. Input detail pendaftaran anggota baru. f. Input detail transaksi peminjaman film oleh anggota. Data update/delete (Pembaruan/penghapusan data) g. Perbarui/hapus detail kantor cabang. h. Perbarui/hapus detail pegawai di sebuah cabang. i. Perbarui/hapus detail film yang disediakan untuk disewa. j. Perbarui/hapus detail copy (CD/DVD) untuk sebuah film. k. Perbarui/hapus detail anggota. l. Perbarui/hapus detail transaksi peminjaman film oleh anggota. 17
2 Pengumpulan & Analisis Kebutuhan Data queries (Menampilkan data). Basis data harus dapat menampilkan sejumlah informasi, diantaranya: m. Daftar detail sebuah kantor cabang di suatu kota tertentu. n. Daftar nama, posisi, dan gaji pegawai di sebuah kantor cabang yang terurut berdasarkan nama. o. Daftar nama manager untuk tiap cabang, yang terurut berdasarkan nomor kantor cabang. p. Daftar judul, kategori, dan status film yang tersedia di suatu kantor cabang, terurut berdasarkan kategori. q. Daftar judul, kategori, dan status film yang tersedia di suatu kantor cabang, terurut berdasarkan judul. r. Daftar judul, kategori, dan status film yang tersedia di suatu kantor cabang untuk film2 yang dibuat oleh director tertentu, terurut berdasarkan judul. 18
2 Pengumpulan & Analisis Kebutuhan Data queries (Menampilkan data). s. Daftar film2 yang saat ini sedang dipinjam oleh seorang anggota tertentu. t. Daftar detail copy (CD/DVD) suatu film tertentu di sebuah cabang. u. Daftar judul semua film berdasarkan kategori tertentu, terurut berdasarkan judul. v. Daftar jumlah film untuk tiap kategori film di tiap cabang, terurut berdasarkan kantor cabang. w. Daftar total biaya sewa film di semua kantor cabang. x. Daftar total jumlah film yang diperankan seorang aktor, terurut berdasarkan nama aktor. y. Daftar jumlah anggota pada tiap cabang yang terdaftar sebelum tahun tertentu, diurutkan berdasarkan nomer cabang. z. Daftar jumlah penyewaan film di setiap cabang, diurutkan berdasarkan nomer cabang. 19
Diskusi 20
Tugas Mandiri Baca buku [1] chapter 8 21