Soy un novato en la creación de bases de datos ... Necesito crearlo para mi aplicación web de reclutamiento.
Mi solicitud necesita programar evaluaciones, exámenes y entrevistas de los solicitantes y guardar el resultado en la base de datos.
El esquema de mi base de datos es el siguiente:
Mi problema es que incluí applicant_id
en otras tablas ... por ejemplo, examen, entrevista, tipo de examen.
¿Estoy violando alguna regla de normalización? Si lo hago, ¿qué me recomiendan para mejorar mi diseño?
normalization
database-design
novato
fuente
fuente
Respuestas:
Hay pocas cosas a considerar aparte de la normalización. Por ejemplo, tiene una columna para EDAD. ¿Vas a actualizar eso cada año? ¿Cómo sabrá cuándo hacer eso? Lo mismo ocurre con años de experiencia.
Hay algunas columnas que probablemente tendrán múltiples valores para cada solicitante: escuela, curso, etc.
También es posible que desee verificar su opcionalidad en esas relaciones. En este momento, un solicitante debe tener un examen relacionado, pero un examen no tiene que tener un solicitante asociado. Supongo que eso es al revés de cómo funcionan las cosas en la vida real. Tienes problemas similares con todas las demás relaciones.
Ayuda si lee las relaciones después de crearlas.
fuente
Supongo que realmente necesita una relación de muchos a muchos entre su tabla de Solicitante y las otras tablas principales (Principalmente Screening and Exam). Eso si tuviera una evaluación que contenga más de un solicitante (y la situación similar para las otras tablas).
Vería una entrevista con un solo candidato, pero un examen o sesión de evaluación con más de un candidato. En este caso, necesitará una tabla de relaciones que vinculará la evaluación con el solicitante.
Vea aquí sobre las relaciones de muchos a muchos.
fuente