ERD To Table
Buat yang belajar basis data 2 (sama kayak aku) mungkin contekan ini berguna, hehe.
Disediakan satu soal cerita tentang perusahaan, disuruh identifikasi entitas, atribut, relasi, de-el-el. Hingga menjadi sebuah diagram ERD lengkap. Mari kita simak soal berikut :
Dari soal tersebut dapat disusun sebuah diagram ERD lengkap sebagai berikut :
catatan : model ERD yang digunakan sesuai model yang sering dipakai dosen.
Setelah itu, diagram diatas diubah menjadi tabel. Langkah seperti ini yang benar, sehingga perancang tidak pusing karena bukan hanya entitas saja yang dijadikan tabel, namun relasi juga bisa.
Pengubahannya menjadi tabel sebagai berikut :
- Tabel Penulis (kodePenulis , namaPenulis, tpLahir, tgLahir, alamat (jalan,no,kota,provinsi) , noTelp, email)
- Tabel Buku (kodeKatalog, noBuku, judul, edisi, penerbit, tahun, noRak(FK), katID(FK))
- Tabel Penulis Buku ( kodePB, penulisKe, kodePenulis(FK), kodeCabang(FK) )
- Tabel Anggota ( kodeAnggota, namaAnggota, tpLahir, tgLahir, alamat (jalan,no,kota,provinsi), noTelp, email)
- Table AnggotaBuku (kodeAB , tgPinjam, tgKembali, denda, , kodeKatalog(FK), kodeAnggota (FK))
- Tabel Rak (noRak, lokasi)
- Table Kategori (katID, katDeskripsi)
cc catatan : yang bergaris bawah merupakan Primary Key.
kalo kata dosennya nya sih kayak gini :
Review Tugas ERD - Tabel Perpustakaan:
#1
Setiap entitas menjadi tabel dan relasi many-to-many juga menjadi table, well done --tim bekerja dengan baik untuk ini.
Masalah muncul karena ternyata bbrp tim mencantumkan atribut yang sama di dua tabel yang berbeda.
Atribut cukup sekali saja disimpan di salah satu tabel --> disimpan di tabel yang berasal dari entitas. Contoh:
Penulis (kodePenulis, namaPenulis, tgLahir, ...)
PenulisBuku (kodePB, kodePenulis, kodeKatalog, penulisKe)
Kita tidak perlu mencantumkan namaPenulis di tabel PenulisBuku. Relasi Menulis kita terjemahkan dengan menempatkan kodePenulis di tabel PenulisBuku sebagai Foreign Key. Ini sudah cukup untuk mengambil data diri penulis dari tabel Penulis menggunakan query.
Hal serupa juga terjadi di tabel Peminjaman yang diterjemahkan dari relasi Meminjam antara entitas Buku dengan Anggota.
#2
Atribut relasi menjadi atribut (field) tabel relasi tersebut. Relasi Meminjam yang diterjemahkan menjadi tabel Peminjaman memiliki field kodePeminjaman, kodeAnggota, kodeKatalog, tgPinjam, tgKembali, denda.
kodePeminjaman merupakan Primary Key tabel, sedangkan kodeKatalog dan kodeAnggota merupakan Foreign Key untuk menyatakan relasi Meminjam. Field tgPinjam, tgKembali, dan denda merupakan field yang diambil dari atribut relasi Meminjam.
#3
Sehingga tabel-tabel yang diperoleh dari transformasi ERD tersebut adalah:
1. Penulis (kodePenulis, namaPenulis, tgLahir, tgLahir, alJalan, alNo, alKota, alPropinsi, noTelp, email)
2. Buku (kodeKatalog, noBuku, judul, edisi, penerbit, tahun)
3. Anggota (kodeAnggota, namaAnggota, tpLahir, tgLahir, alJalan, alNo, alKota, alPropinsi, noTelp, email)
4. Rak (noRak, lokasi)
5. Kategori (katID, katDeskripsi)
6. PenulisBuku (kodePB, kodePenulis, kodeKatalog, penulisKe)
7. Peminjaman (kodePeminjaman, kodeAnggota, kodeKatalog, noBuku, tgPinjam, tgKembali, denda)
dan yang bener tu yang itu :)
kalo kata dosennya nya sih kayak gini :
Review Tugas ERD - Tabel Perpustakaan:
#1
Setiap entitas menjadi tabel dan relasi many-to-many juga menjadi table, well done --tim bekerja dengan baik untuk ini.
Masalah muncul karena ternyata bbrp tim mencantumkan atribut yang sama di dua tabel yang berbeda.
Atribut cukup sekali saja disimpan di salah satu tabel --> disimpan di tabel yang berasal dari entitas. Contoh:
Penulis (kodePenulis, namaPenulis, tgLahir, ...)
PenulisBuku (kodePB, kodePenulis, kodeKatalog, penulisKe)
Kita tidak perlu mencantumkan namaPenulis di tabel PenulisBuku. Relasi Menulis kita terjemahkan dengan menempatkan kodePenulis di tabel PenulisBuku sebagai Foreign Key. Ini sudah cukup untuk mengambil data diri penulis dari tabel Penulis menggunakan query.
Hal serupa juga terjadi di tabel Peminjaman yang diterjemahkan dari relasi Meminjam antara entitas Buku dengan Anggota.
#2
Atribut relasi menjadi atribut (field) tabel relasi tersebut. Relasi Meminjam yang diterjemahkan menjadi tabel Peminjaman memiliki field kodePeminjaman, kodeAnggota, kodeKatalog, tgPinjam, tgKembali, denda.
kodePeminjaman merupakan Primary Key tabel, sedangkan kodeKatalog dan kodeAnggota merupakan Foreign Key untuk menyatakan relasi Meminjam. Field tgPinjam, tgKembali, dan denda merupakan field yang diambil dari atribut relasi Meminjam.
#3
Sehingga tabel-tabel yang diperoleh dari transformasi ERD tersebut adalah:
1. Penulis (kodePenulis, namaPenulis, tgLahir, tgLahir, alJalan, alNo, alKota, alPropinsi, noTelp, email)
2. Buku (kodeKatalog, noBuku, judul, edisi, penerbit, tahun)
3. Anggota (kodeAnggota, namaAnggota, tpLahir, tgLahir, alJalan, alNo, alKota, alPropinsi, noTelp, email)
4. Rak (noRak, lokasi)
5. Kategori (katID, katDeskripsi)
6. PenulisBuku (kodePB, kodePenulis, kodeKatalog, penulisKe)
7. Peminjaman (kodePeminjaman, kodeAnggota, kodeKatalog, noBuku, tgPinjam, tgKembali, denda)
dan yang bener tu yang itu :)
Tags:
database

