README
per Victor Carceler
—
darrera modificació
2020-03-25T15:28:13+01:00
README — 2.7 KB
Continguts del fitxer
En este directorio se pueden encontrar los documentos relativos al esquema SQL utilizado. Modelo relacional: v9 Cambios: - Se ha introducido ON DELETE CASCADE para propagar borrado de registros cuando sea necesario. - Ahora teacher.login, subject.name, group.name y term.name son UNIQUE. No se permitirán duplicados ni en INSERT ni UPDATE. Cuando esto ocurra la BBDD retorna el error de violación de campo único y se debe informar al usuario de que ya existe un login, materia, grupo o term con ese nombre. La forma recomendada de trabajar es intentar la inserción o actualización e informar si se produce un error. Esto da menos trabajo que escribir código para ver si existe o no el registro antes de intentar insertarlo/actualizar. - Añadido a grupo la columna teacher_idteacher para representar al tutor del grupo. Esta columna acepta valores nulos y tiene ON CASCADE NULL, para que al eliminar un profesor no se borren aquellos grupos de los que es tutor sino que solo se queden sin tutor. - Actualizo TestData.sql para que los grupos tengan tutor: Profesor 1 tutor grupos 1 y 2. Profesor 2 tutor grupo 3. Grupos 4 y 5 sin tutor. Modelo relacional: v7 Se incluye: - er.mwb fichero con el esquema relacional para MySQL Workbench - amdb.png imagen con el esquema relacional - AttendanceManager.sql definición de tablas - TestData.sql datos de prueba para cargar en MySQL Durante el desarrollo se utilizará la siguiente convención para conectar con MySQL: - Usuario: 'amuser' - Contraseña: 'secreto' - Servidor: '127.0.0.1' - Puerto: '3306' - Base de datos: 'amdb' Estos parámetros están codificados en el fichero DatabaseStorage.java (en el paquete org.iespuigcastellar.attendancemanager.core). En una próxima revisión es necesario añadir soporte para un fichero properties configurable por el usuario. Los datos de prueba incluyen: - Teachers (usuarios): de 'prof1' hasta 'prof5'. Todos los usuarios tienen el login y el password igual. Ejemplo: prof1/prof1, ... - Students: de 'student1' hasta 'student25' - Groups: de 'group1' hasta 'group5' - Subjects: de 'subject1' hasta 'subject5'. Todas las asignaturas las imparte 'prof1'. - Asignación variable de alumnos a los grupos. El grupo 1 es el más concurrido. - Diferentes bloques lectivos repartidos a lo largo de la semana para las materias 1 y 2. Respecto al diagrama entidad relación: El diagrama entidad relación propuesto es mínimo para alcanzar los objetivos de la aplicación reduciendo su complejidad al máximo. No pretende ser un ejemplo de un diagrama genérico ni completo. No se descartan modificaciones al mismo durante el desarrollo del crédito de síntesis.