Database Design
3-1
Mengidentifikasi Hubungan
Tujuan
• Pelajaran ini akan membahas tujuan berikut:
−Menginterpretasikan dan menjelaskan opsionalitas hubungan
−Menginterpretasikan dan menjelaskan kardinalitas hubungan
−Mengaitkan (menghubungkan atau menggabungkan) entitas dengan menerapkan aturan kardinalitas dan opsionalitas
Tujuan
• Dapat mengidentifikasi hubungan antara entitas memudahkan untuk memahami hubungan antara bagian data yang berbeda
• Hubungan membantu Anda melihat bagaimana bagian sistem yang berbeda saling memengaruhi
• Misalnya, entitas SISWA dan KURSUS saling terkait satu sama lain
• Untuk membentuk bisnis secara akurat, hubungan
antara entitas sama pentingnya seperti entitas itu
sendiri
Hubungan dalam Keluarga
• Hubungan adalah cara ketika dua atau tiga orang atau barang saling terhubung
• Hubungan keluarga mengategorikan hubungan antara orang, misalnya ibu, ayah, bibi, dan sepupu
• Nama hubungan memberi tahu kita bagaimana
anggota keluarga terhubung
Hubungan dalam Model Data
• Hubungan:
−Mewakili signifikansi atau kepentingan bisnis
−Menunjukkan bagaimana entitas saling terkait satu sama lain
−Ada hanya di antara entitas (atau satu entitas dan entitas itu sendiri)
−Dua arah
−Diberi nama di kedua ujungnya
−Memiliki opsionalitas
−Memiliki kardinalitas
Apa itu Opsionalitas dalam Hubungan?
• Hubungan dapat berbentuk wajib atau opsional
• Pertimbangkan dua entitas KARYAWAN dan PEKERJAAN
• Berdasarkan yang Anda ketahui tentang instance
entitas, Anda dapat menentukan opsionalitas dengan menjawab dua pertanyaan:
−Apakah setiap keryawan memiliki pekerjaan?
• Dengan kata lain, apakah ini termasuk hubungan wajib atau opsional bagi seorang karyawan?
−Apakah setiap pekerjaan harus ditugaskan ke seorang karyawan?
• Dengan kata lain, apakah ini termasuk hubungan wajib atau opsional bagi sebuah pekerjaan?
Apa itu Kardinalitas dalam Hubungan?
• Kardinalitas mempertimbangkan jumlah dari sesuatu
• Dalam hubungan, akan ditentukan tingkat entitas mana yang saling terkait dengan menjawab pertanyaan,
“Berapa banyak?”
• Contoh:
−Berapa banyak pekerjaan yang dapat dikerjakan seorang karyawan? Satu pekerjaan saja? Atau lebih dari satu
pekerjaan?
−Berapa banyak karyawan dapat mengerjakan satu pekerjaan tertentu? Satu karyawan saja? Atau lebih dari satu karyawan?
• Catatan: Kardinalitas hubungan hanya jawaban apakah angka tersebut tunggal atau jamak; hal ini tidak menjawab angka jamak tertentu
Opsionalitas dan Kardinalitas
• Contoh:
−Setiap KARYAWAN harus mengerjakan satu dan hanya satu PEKERJAAN
−Setiap PEKERJAAN dapat dikerjakan oleh satu atau lebih KARYAWAN
−Setiap PRODUK harus diklasifikasikan oleh satu dan hanya satu TIPE PRODUK
−Setiap TIPE PRODUK dapat mengklasifikasikan satu PRODUK atau lebih
Hubungan
• Setiap KURSI dapat dijual di satu PENUMPANG atau lebih
• Setiap PENUMPANG dapat membeli satu KURSI
• KURSI dijual ke satu PENUMPANG (atau PENUMPANG – sehingga
kelebihan pemesanan)
• PENUMPANG membeli atau pesan KURSI
SEAT
PASSENGER
Skenario Bisnis 1
• Apakah hubungan dalam skenario bisnis berikut?
−“Di restoran kami, pelanggan berjalan menuju meja pesanan dan memesan
−Pelanggan dapat memesan untuk diri sendiri, atau untuk mereka sendiri dan orang lain
−Misalnya, seorang ibu memesan untuknya sendiri dan anaknya
−Kami menganggap ibu tersebut sebagai pelanggan yang
memiliki pesanan dan bertanggung jawab atas pembayaran
−Selama periode waktu tertentu, pelanggan dapat memesan sebanyak yang pelangan mau”
Skenario Bisnis 1
• PELANGGAN membuat PESANAN:
−opsionalitas dan kardinalitas
• Optionalitas = Harus atau dapat?
• Setiap PESANAN harus
dilakukan oleh satu orang (dan hanya satu)
PELANGGAN
• Setiap PELANGGAN harus memesan satu
atau lebih PESANAN
Pesanan No. 10 - Sepiring sayuran - Jus jerukLinda Mel
Krishna
PELANGGAN
Pesanan No. 77 - Hamburger - Salad
- Buah potong
PESANAN
Pesanan No. 102 - pai apel
Pesanan No. 100 - Kentang goreng - Soda ukuran besar
Skenario Bisnis 1
• Kardinalitas = Seberapa banyak?
• Setiap PESANAN harus dilakukan oleh satu dan hanya satu
PELANGGAN
• Setiap PELANGGAN harus membuat satu atau lebih dari satu PESANAN
Pesanan No. 10 - Sepiring sayuran - Jus jeruk
Linda Mel
Krishna
PELANGGAN
Pesanan No. 77 - Hamburger - Salad
- Buah potong
PESANAN
Pesanan No. 102 - pai apel
Pesanan No. 100 - Kentang goreng - Soda ukuran besar
Skenario Bisnis 2
• Hubungan dapat menggabungkan satu entitas ke hubungan tersebut
• Periksa skenario berikut:
−“Kita perlu melacak karyawan kita dan manajernya. Setiap karyawan memiliki satu manajer, termasuk direktur manajer yang mengatur dirinya sendiri. Setiap manajer dapat
mengelola beberap karyawan”
Skenario Bisnis 2
• Karena manajer juga karyawan, keduanya termasuk dalam entitas yang sama: KARYAWAN
HUBUNGAN
Setiap KARYAWAN dapat dikelola oleh satu dan hanya satu KARYAWAN
Setiap KARYAWAN dapat mengelola satu atau lebih KARYAWAN
Terminologi
• Istilah-istilah penting yang digunakan dalam pelajaran ini di antaranya:
−Kardinalitas
−Opsionalitas
−Hubungan
Rangkuman
• Dalam pelajaran ini, Anda seharusnya sudah belajar cara:
−Menginterpretasikan dan menjelaskan opsionalitas hubungan
−Menginterpretasikan dan menjelaskan kardinalitas hubungan
−Mengaitkan (menghubungkan atau menggabungkan) entitas dengan menerapkan aturan kardinalitas dan opsionalitas