Saya seorang pemula dalam membuat basis data ... Saya harus membuatnya untuk aplikasi web rekrutmen saya.
Aplikasi saya perlu menjadwalkan pemutaran, ujian dan wawancara pelamar dan menyimpan hasil dalam database ..
Skema basis data saya adalah sebagai berikut:
Masalah saya adalah saya termasuk applicant_id
di tabel lain ... misalnya ujian, wawancara, jenis ujian.
Apakah saya melanggar aturan normalisasi? Jika saya melakukannya, apa yang Anda rekomendasikan untuk meningkatkan desain saya?
normalization
database-design
pemula
sumber
sumber
Jawaban:
Ada beberapa hal yang perlu dipertimbangkan selain normalisasi. Misalnya, Anda memiliki kolom untuk AGE. Apakah Anda akan memperbarui itu setiap tahun? Bagaimana Anda tahu kapan harus melakukan itu? Hal yang sama berlaku untuk pengalaman bertahun-tahun.
Ada beberapa kolom yang mungkin akan memiliki beberapa nilai untuk setiap pelamar: Sekolah, Kursus, dll.
Anda mungkin juga ingin memeriksa opsionalitas Anda pada hubungan tersebut. Saat ini pelamar harus memiliki ujian terkait, tetapi ujian tidak harus memiliki pelamar yang terkait dengannya. Saya menduga itu terbalik dengan cara kerja di kehidupan nyata. Anda memiliki masalah serupa dengan semua hubungan lainnya.
Akan membantu jika Anda membacakan hubungan setelah Anda membuatnya.
sumber
Saya kira Anda benar-benar membutuhkan hubungan banyak ke banyak antara tabel Pemohon Anda dan tabel utama lainnya (Penyaringan dan Ujian terutama). Bahwa jika Anda ingin skrining berisi lebih dari satu pelamar (dan situasi serupa untuk tabel lainnya).
Saya akan melihat wawancara dengan satu kandidat, tetapi ujian atau sesi penyaringan dengan lebih dari satu kandidat. Dalam hal ini Anda akan membutuhkan tabel relasi yang akan menautkan Penyaringan dengan Pemohon.
Lihat di sini tentang hubungan Many-To-Many.
sumber