Model basis data
Pada dasarnya Anda membutuhkan many-to-many
hubungan antara Penulis dan Publikasi, karena satu penulis dapat menulis banyak publikasi, dan satu publikasi dapat ditulis oleh lebih dari satu penulis.
Ini mengharuskan Anda memiliki 3 tabel.
- Penulis - info umum tentang setiap penulis (tanpa publikasi_id)
- Publikasi - info umum tentang setiap publikasi (tanpa author_id)
- Publikasi Penulis - kolom
author_id
danpublication_id
yang merupakan referensi ke tabelAuthor
danPublication
.
Dengan cara ini Anda tidak mengikat penulis tertentu ke publikasi, tetapi Anda dapat memiliki lebih banyak dari mereka, dan hal yang sama sebaliknya.
Catatan tambahan
Jika Anda ingin membedakan peran penulis dalam publikasi tertentu, Anda juga dapat menambahkan beberapa kolom seperti id_role
yang akan menjadi referensi ke tabel kamus yang menyatakan semua kemungkinan peran untuk seorang penulis. Dengan cara ini Anda dapat membedakan antara penulis utama, rekan penulis, dll. Dengan cara ini Anda juga dapat menyimpan informasi tentang orang yang menangani terjemahan buku, tetapi mungkin Anda harus mengubah penamaan Author
untuk sesuatu yang kurang spesifik.
Urutan penampilan
Anda dapat memastikan urutan yang tepat dari penulis Anda dengan menambahkan kolom di AuthorPublication
yang akan Anda tingkatkan secara terpisah untuk setiap Publication
. Dengan cara ini Anda dapat mempertahankan pemesanan sesuai kebutuhan.