Perancangan Basis Data Relasional (Lanjutan dengan EER)
By : Hanung N. Prasetyo
Himpunan Entitas Lemah • Himpunan Entitas Lemah tidak memiliki primary key dan selalu bergantung pada entitas lain. • Notasi entitas lemah adalah doble persegi panjang, sedangkan relasinya double diamond. • Diskriminator / key parsial adalah atribut – atribut yg dpt membedakan entitas – entitas yang terdapat di himpunan entitas lemah. • Primary key pada Himpunan Entitas lemah ada 2 yaitu primary key dari entitas kuat yg berelasi dan diskriminator / key parsialnya.
Himpunan Entitas Lemah … • Diskriminator digambarkan sebagai garis bawah yang terputus-putus. Nama penerima tunjangan
#nip
Pegawai jabatan
Nomor penerima tunjangan
nama mempunyai
Tunjangan Besar tunjangan
Primary key untuk entitas lemah tunjangan adalah nip dan nomor penerima tunjangan
Himpunan Entitas Lemah • Entitas lemah digambarkan sebagai entitas yang tidak bisa berdiri sendiri, entitas tsb harus bergantung pada entitas lain. • Cth di slide depan menjelaskan bahwa orang yang menerima tunjangan tidak akan ada jika tidak ada pegawai.
Spesialisasi • Merupakan proses desain top-down; dengan mendesain subgrouping didalam himpunan entitas yang berbeda dari himpunan entitas • Subgrouping ini menjadi himpunan entitas yang levelnya lebih rendah dan memiliki atribut yang tidak dimiliki pada level atasnya. • Di notasikan dengan segi tiga berlabel IS A • Sifat dari spesialisasi adalah inheritan atribut yaitu atribut pada level tinggi akan di turunkan pada level di bawahnya.
Spesialisasi … nama
#Id_pegawai
Pegawai Gaji Per Bulan Besar tunjangan
Pegawai Tetap
Upah Per Jam IS A
Jumlah Jam Kerja
Pegawai Honorer
Generalisasi • Merupakan proses desain bottom-up; mengkombinasikan jumlah himpunan entitas yang digunakan secara bersama-sama • Spesialisasi dan Generalisasi merupakan kebalikan yang sederhana satu sama lain. • IS-A merujuk pada relasi superclass dan subclass
Aggregasi • Agregasi adalah enkapsulasi dari entitas entitas yang berelasi (*n-n). Enkapsulasi di perlukan karena kedua entitas yang berelasi tersebut merupakan 1 kesatuan yang tidak bisa di pisah. • Notasi aggregasi adalah Persegi Panjang yang membungkus entitas-entitas yg berrelasi. Dosen #kd_dosen
mengajar
Mata kuliah
semester Thn ajaran #kd_mata_kuliah mengambil nilai
Mahasiwa
#nim
Aggregasi … • Contoh di atas menggambarkan bahwa Mahasiswa hanya mengambil mata kuliah yang sudah ada dosennya. Mahasiswa tidak bisa mengambil mata kuliah yang tidak ada dosennya. • Efek dari enkapsulasi tsb adalah relasi Dosen Mengajar Mata Kuliah di pandang sebagai 1 entitas. Dosen #kd_dosen
mengajar
Mata kuliah
semester Thn ajaran #kd_mata_kuliah mengambil nilai
Mahasiwa
#nim
Aggregasi … semester
#kd_dosen
Thn ajaran
#kd_mata_kuliah
Dosen Mengajar Mata Kuliah mengambil nilai
Mahasiwa
#nim
Relasi Dosen mengajar Mata Kuliah di pandang sebagai 1 Entitas dengan Atributnya yaitu Atributnya relasi
Ringkasan Notasi Simbol di ER
Ringkasan Notasi Simbol di ER
Penurunan Skema ER ke Tabel • Dari diagram ER dapat langsung di turunkan menjadi sekumpulan tabel dengan aturan seperti berikut : – Setiap Entitas menjadi 1 Tabel – Setiap atribut entitas menjadi kolom di tabel – Kardinalitas relasi akan menentukan jumlah tabel yang terbentuk
Representasi Himpunan Entitas sebagai Tabel • Himpunan Strong Entity diturunkan ke dalam tabel dengan atribut yang sama. • Cth Entitas Mahasiswa -> Tabel Mahasiswa
Atribut Komposit dan Multivalued • Atribut komposit akan dipecah membuat atribut terpisah untuk masing komponennya.
dengan masing
– Cth atribut nama Pada Tabel mahasiwa, di pecah menjadi 2 kolom yaitu nama depan dan nama belakang.
• Atribut multivalued mengharuskan untuk di pecah menjadi 2 Tabel. Atribut multivalued M dari entitas E direpesentasikan oleh tabel terpisah EM.
Contoh penerapan Atribut Multivalued Tabel asli di pecah
Merepresentasikan Himpunan Entitas Lemah • Himpunan Weak Entiy akan menjadi tabel tersendiri yang didalamnya ada kolom primary key yang merupakan identifikasi dari strong entity. Tabel Pegawai
Diskriminator
Tabel Tunjangan
Merepresentasikan Relasi (* pd kardinalitas n to n ) • Relasi dari Himpunan Banyak ke Banyak direpresentasikan kedalam Tabel tersendiri dengan primary key dari 2 Entitas menjadi atribut di Tabel Relasi. kota nama
#nim alamat
#kd_kuliah
Mahasiswa ipk
sks
nilai mengambili
MataKuliah
prodi umur
Nama mtkul
dosen
Merepresentasikan Relasi (* pd kardinalitas n to n ) Tabel Mahasiwa
Tabel Mata Kuliah
Tabel Mengambil
Hubungan Kardinalitas dengan Banyaknya Tabel Yg Terbentuk • 1 ke 1
-> Pilih 1 primary key di 1 Entitas untuk mjd foreign key bagi Entitas Lain.
• 1 ke N dan N ke 1 -> Primary key Tabel berkardinalitas sedikit mjd foreign key pada Tabel berkardinalitas banyak.
• N ke N -> Relasi menjadi Tabel dengan Primary key pada 2 Entitas menjadi foreign key di tabel relasi.
Representasi Spesialisasi dalam Tabel (IS-A) • Metoda 1 – Bentuklah tabel untuk level entitas yg lebih tinggi – Bentuklah tabel untuk level entitas yg lebih rendah (* dengan memasukkan primary key pada level yg lebih tinggi) Tabel Pegawai
Tabel Pegawai Tetap Tabel Pegawai Honorer
Representasi Spesialisasi dalam Tabel (IS-A) • Metoda 2 – Bentuklah tabel untuk tiap himpunan entitas dengan semua atribut lokal dan turunan. – Bisa jadi tabel pada level tinggi tidak perlu di simpan jika spesialisasi adalah total. Jika diperlukan bisa dibuat view yang menggabungkan tabel tabel spesialisasi. Tabel Pegawai Tetap
Tabel Pegawai Honorer
Representasi Agregasi Pada Tabel • Untuk merepresentasikan agregasi, buatlah tabel yang terdiri dari : – Foreign key dari himpunan entitas yang berhubungan – Setiap atribut deskriptif – Atribut baru untuk primary key di tabel relasi
Representasi Agregasi Pada Tabel …
Dosen #kd_dosen nilai
mengajar
Mata kuliah
semester Thn ajaran #kd_mata_kuliah mengambil
Mahasiwa
#nim
Representasi Agregasi Pada Tabel … Tabel Dosen
Tabel Mata Kuliah
Tabel Dosen Mengajar Mata Kuliah
Berikan primary key baru pada tabel relasi Dosen Mangajar Mt Kul
Representasi Agregasi Pada Tabel … Tabel Mahasiswa
Tabel Mahasiswa Mengambil Mtkul
Studi Kasus ERD TABEL , DIAGRAM RELATIONSHIP & SKEMA RELASI
ERD TABEL ???
Skema Relasi “PT Bajaj Riang Gembira”:
KARYAWAN (IdKaryawan, Nama, Jalan, Kota, KodePos) KARYAWAN_TETAP (NIP, Gaji, @IdKaryawan, @KodeDivis) KARYAWAN_KONTRAK (NoKontrak, Honor, @IdKaryawan) BAJAJ (NoPol, Warna, Tahun) DIVISI (KodeDivisi, NamaDivisi, GajiDasar) PELATIHAN (KodePelatihan, NamaPelatihan, LamaPelatihan) INSTITUSI (IDInstitusi, NamaInstitusi, Alamat) TELEPON (telepon, @IDInstitusi) PENERIMA_TUNJANGAN (Nama, TglLahir, @NIP) MENGIKUTI (@NIP, @Kode_Pelatihan) MENGEMUDIKAN (@NoKontrak, @NoPol) MENGADAKAN (@KodePelatihan, @@IDInstitusi)
DIAGRAM RELASIONSHIP
SHOWTIME OF QU-DA
BadNews Corp adalah distributor majalah yang menyalurkan majalah yang diterbitkan oleh penerbit-penerbit terkemuka kapada para pelanggan. Sejauh ini BadNews Corp sudah bekerja sama dengan penerbit dalam dan luar negeri. Tiap penerbit dapat menerbitkan beberapa majalah sekaligus, misalnya saja Femina Group yang menerbitkan majalah Reader’s Digest, Men’s Health dan Femina. Tukimin, seorang eksekutif muda di sebuah bank memilih untuk berlanggan majalah Reader’s Digest, Men’s Health dan Trust sedangkan Tuminah yang bekerja sebagai karyawati perusahaan IT memilih berlangganan majalah Chip, Kartini dan Intisari. Tukimin dan Tuminah mendaftarkan diri sebagai pelanggan ke BadNews Corp. Mereka mengisi formulir pendaftaran kemudian setiap bulan mereka akan menerima majalah yang mereka pesan. Majalah-majalah ini diantarkan oleh Richard, Jessica, George dan David. Mereka berempat adalah karyawan BadNews Corp, Richard bertugas mengantar majalah khusus wanita, Jessica bertugas mengantar majalah khusus pria, George bertugas mengantar majalah politik, ekonomi dan hukum sedangkan David bertugas mengantar majalah komputer, hiburan dan umum. Mr. Ngatimin, manajer Divisi Sirkulasi BadNews Corp meminta anda untuk merancang database untuk Divisi Sirkulasi. Asumsikan bahwa database anda belum menangani pembayaran langganan majalah.
Terima Kasih