Vous êtes sur la page 1sur 13

Ingeniera del software Noviembre, 2004

Modelo de datos
Javier Recuenco Calvo Soraya Retamosa Santos Pablo Rodrguez Fernndez Ana Mara Bautista Miguel

Departamento de Informtica y Automtica Universidad de Salamanca

Descripcin del proyecto


Se quiere desarrollar un sistema software para la gestin de una escuela infantil, donde se deben contemplar los siguientes aspectos. 1. Gestin de los nios Se debe contemplar el mantenimiento de los datos de los nios. De cada nio se necesita conocer los siguientes datos: nombre, primer apellido, segundo apellido y fecha de nacimiento del nio; NIF, nombre, apellidos y ocupacin del padre; NIF, nombre, apellidos y ocupacin de la madre; en el caso de haber un responsable del nio que no sea ni el padre ni la madre se necesitar su NIF, nombre, apellidos, ocupacin, relacin con el nio y opcionalmente una cuenta de banco; domicilio habitual donde resida el nio; lista de telfonos de contacto (cada uno de los cuales ir acompaado de un comentario que explique a quin se localiza y en dnde); horario de asistencia a la escuela; tarifa mensual base; lista de incidencias sociales relacionadas con el nio; lista de enfermedades contradas; lista de vacunas; otros comentarios sobre el nio. Un nio est activo mientras que se le pueda facturar un mes. Puede estar en estado de baja temporal si por una causa justificada no ir a la escuela durante un perodo de tiempo, perodo en el que no se le facturar. Cuando un nio abandona la escuela infantil pasar a estar en estado de baja. Se desea controlar los perodos de tiempo en los que el nio ha estado activo (incluyendo los perodos de baja temporal). Los nios, as como las entidades relacionadas con l se podrn dar de alta y modificar en cualquier momento, pero slo se podrn borrar si no se ha hecho efectiva su incorporacin a la escuela infantil. 2. Gestin de las aulas Se debe contemplar el mantenimiento de las caractersticas de las aulas de la escuela infantil; para lo cual se recogen de cada una de ellas su denominacin nica dentro de la escuela, sus metros cuadrados, su capacidad mxima de nios, una descripcin de los principales elementos que se encuentran en ella. Cada uno de los nios tiene asignada un aula donde normalmente pasar la jornada diaria. Cada aula tiene asignado un educador responsable que se ocupa de la gestin diaria de las necesidades del aula. 3. Gestin de los educadores Se debe contemplar el mantenimiento de los datos de los educadores que trabajan en la escuela. De cada educador se necesita conocer los siguientes datos: NIF, nombre, apellidos, domicilio, lista de telfonos de contacto (cada uno de los cuales ir acompaado de un comentario que explique a quin se localiza y en dnde), cargo dentro de la escuela infantil, ttulo, horario de trabajo, aula donde realiza su labor y comentarios.

El educador estar activo mientras est trabajando, en el momento que deje de desempear una labor en la escuela pasar a estar en estado de baja. Los educadores se podrn dar de alta y modificar en cualquier momento, pero no se darn de baja a no ser que no se hayan incorporado nunca a la escuela infantil. Se desea controlar los perodos de tiempo que el educador ha estado trabajando en la escuela infantil junto al cargo que desempeaba. 4. Gestin del material educativo Se denomina material educativo a los vdeos, cintas de audio y libros infantiles que se tienen en la escuela. De cada uno de ellos se desea conocer sus datos significativos (ttulo, formato, comentarios), pero adems como pueden existir varios ejemplares de cada uno de ellos se desea controlar el aula en que se localiza, el estado en que se encuentra (perfecto, deteriorado). El material educativo puede darse de alta, modificarse y darse de baja en cualquier momento. 5. Facturacin Mensualmente se generarn los recibos de todos los nios activos, que se entregarn al responsable del nio. Cada recibo que se emita tendr una cabecera con el nombre de la escuela, el mes, el ao y el nmero del recibo. El nmero del recibo se iniciar a 1 cada mes de enero. Despus presentar el nombre y apellidos del nio, la tarifa base, los complementos que se cobran ese mes (si los hubiera) acompaados de una breve descripcin de los mismos, y el total a pagar. Cuando se hace efectivo el recibo, se debe registrar que ese recibo ha sido pagado. Los complementos son generalizados (gastos de material...) y se aplican un determinado nmero de veces al ao, quedando al arbitrio del director de la escuela cuando aplicarlos y su cuanta. Estos complementos se aplican a todos los nios a excepcin de aqullos que de forma explcita se ha decido que no se ven afectados por estos complementos. El resto de complementos que pudieran surgir se trataran de forma personalizada modificando la cuota base de cada nio. Los recibos que estn marcados como no abonados pueden modificarse o incluso borrarse. Se pueden emitir recibos de forma individual o por rangos de nmeros.

Diagrama Entidad-Relacin

num_cuenta cod_recibo Recibo (1,n) se_aaden (0,n) Complemento num_complemento

Cuenta_bancaria (1,1)

(0,n) num_incidencia paga cod_nio (1,1) (0,n) (1,1) Nio (0,n) (1,1) (1,n) llena genera Incidencia

asignada f echa_ini padece f echa_f in f echa recibe

(1,n) (0,n) (0,n)

ID presenta

a_cargo_de

(1,n) (0,n) (0,n) (0,n) Responsable Enf ermedad Vacuna nombre Ausencia (0,n) nombre f echa_f in f echa_ini

cod_responsable

telf _responsables (0,n) num_telef ono Telf ono (0,n) telf _personal tipo (0,n) (0,n)

cod_personal

Personal (1,1) ISA 1 (0,1)

desempea f echa_f in

(1,n)

Cargo

f echa_ini

es_responsable (1,1)

(0,1) (0,1) Aula num_aula

cod_docente

Docente (0,1) trabaja_en (0,n)

(1,1)

nombre

Material

(1,1)

dispone_de

(1,n)

Ejemplar

(0,n)

contiene

cod_ejemplar

Descripcin de las Entidades y Relaciones


Entidades regulares Nio (cod_nio, nombre, ape_1, ape_2, estado, fecha_nac, horario, tarifa_base, domicilio) Cuenta_bancaria (num_cuenta, nombre_banco, direccin_entidad) Vacuna (nombre) Enfermedad (nombre, sntomas) Responsable (cod_responsable, NIF, nombre, ape_1, ape_2, ocupacin, parentesco) Complemento (num_complemento, descripcin, cuanta, tipo) Recibo (cod_recibo, mes, ao, num_recibo) Incidencia (num_incidencia, fecha, comentarios) Telfono (num_telfono, comentarios) Personal (cod_personal, NIF, nombre, ape_1, ape_2, domicilio, horario, comentarios) Docente (cod_docente, ttulo) Cargo (tipo, descripcin) Aula (num_aula, capacidad, dimensiones) Material (nombre, formato, comentario) Ejemplar (cod_ejemplar, estado) Entidades dbiles Ausencias (fecha_ini, fecha_fin, justificacin)

Relaciones CUENTA_BANCARIA NIO NIO NIO RECIBO INCIDENCIA NIO NIO NIO RESPONSABLE PERSONAL PERSONAL DOCENTE DOCENTE MATERIAL AULA NIO PERSONAL asignada padece recibe paga se_aaden suma genera llenan a_cargo_de telf_responsables telf_personal desempea responsable trabaja_en dispone_de contiene presenta ISA NIO ENFERMEDAD VACUNA RECIBO COMPLEMENTO RECIBO INDICENCIA AULA RESPONSABLE TELEFONO TELEFONO CARGO AULA AULA EJEMPLAR EJEMPLAR AUSENCIA DOCENTE 1:N N:N N:N 1:N N:N N:1 1:N N:1 N:N N:N N:N N:N 1:1 1:N 1:N 1:N 1:N

Modelo Relacional
Nios
cod_nio nombre ape_1 ape_2 estado fecha_nac horario tarifa_base domicilio num_aula num_cuenta

Claves ajenas: - num_aula referencia a Aulas. Al borrar: Valor por defecto Al actualizar: En cascada Posibilidad de valores nulos: S - num_cuenta referencia a Cuenta_bancaria. Al borrar: Restringido Al actualizar: En cascada Posibilidad de valores nulos: No Cuenta_bancaria num_cuenta nombre_banco Vacunas nombre Enfermedades nombre sntomas Responsables cod_responsable NIF Complementos num_complemento

direccin_entidad

nombre

ape_1

ape_2

ocupacin

parentesco

descripcin

cuanta

categora

Ausencias cod_nio fecha_ini fecha_fin justificacin Claves ajenas: - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Recibe cod_nio nombre fecha Claves ajenas: - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada

Posibilidad de valores nulos: No - nombre referencia a Vacunas. Al borrar: Restringido Al actualizar: En cascada Posibilidad de valores nulos: No Padece cod_nio nombre fecha_ini

fecha_fin

Claves ajenas: - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - nombre referencia a Enfermedades. Al borrar: Restringido Al actualizar: En cascada Posibilidad de valores nulos: No Recibos cod_recibo

mes

ao

num_recibo cod_nio

Claves ajenas: - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Se_aaden num_complemento cod_recibo Claves ajenas: - num_complemento referencia a Complementos. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - cod_recibo referencia a Recibos. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Incidencias num_incidencia

fecha

comentarios

cod_recibo

cod_nio

Claves ajenas: - cod_recibo referencia a Recibos. Al borrar: En cascada

Al actualizar: En cascada Posibilidad de valores nulos: No - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No A_cargo_de cod_nio cod_responsable Claves ajenas: - cod_nio referencia a Nios. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - cod_responsable referencia a Responsables. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Telfonos num_telfono

comentarios

Telf_responsables cod_responsable num_telfono Claves ajenas: - cod_responsable referencia a Responsables. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - num_telfono referencia a Telfonos. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Personal cod_personal NIF nombre ape_1 ape_2 domicilio horario comentarios Telf_personal cod_personal num_telfono Claves ajenas: - num_telfono referencia a Telfonos. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No

- cod_personal referencia a Personal. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Docente cod_docente cod_personal ttulo - cod_personal referencia a Personal. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Desempea cod_personal tipo fecha_ini

fecha_fin

Claves ajenas: - cod_personal referencia a Personal. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - tipo referencia a Cargo. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No Cargo tipo Descripcin Aulas num_aula

num_nios

dimensiones

ttulo

Claves ajenas: - titulo referencia a Docente. Al borrar: Restringido Al actualizar: En cascada Posibilidad de valores nulos: No Material nombre formato Ejemplares cod_ejemplar

comentario

estado

num_aula

nombre

Claves ajenas: - num_aula referencia a Aulas. Al borrar: Valor por defecto Al actualizar: En cascada

Posibilidad de valores nulos: No - nombre referencia a Material. Al borrar: Restringido Al actualizar: En cascada Posibilidad de valores nulos: No Trabaja_en cod_docente num_aula Claves ajenas: - cod_docente referencia a Docente. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No - num_aula referencia a Aula. Al borrar: En cascada Al actualizar: En cascada Posibilidad de valores nulos: No

Descripcin de las relaciones ms interesantes


Primeramente comentar que se ha adoptado por aadir un atributo cdigo en todas aquellas entidades que carecen de un identificador caracterstico y propio. De este modo, aadiendo a las entidades un cdigo que identifique de forma nica cada uno de sus elementos se simplifica la eleccin de las claves primarias. Se tiene entonces que cod_nio, cod_ejemplar, cod_recibo, cod_personal, cod_docente y cod_responsable son claves primarias de las entidades NIO, EJEMPLAR, RECIBO, PERSONAL, DOCENTE y RESPONSABLE. Por otra parte, los atributos de fecha en las relaciones padece (ENFERMEDAD) y recibe (VACUNA) relativas a los nios permiten mantener el historial clnico de cada nio. Se tienen tambin atributos de fecha en la relacin desempea (CARGO) relativa a los trabajadores del colegio (PERSONAL) para controlas sus perodos laborales.

- NIO genera INCIDENCIA La entidad INCIDENCIA se crea para poder controlar los posibles accidentes o incidencias sociales que ocasione o sufra un nio.
Incidencia

Nio

(1,1)

genera

(0,n)

En caso que se produzca una incidencia que genere una prdida material al colegio se cargar en la cuenta bancaria del nio, pero se considerar como un complemento de tipo particular en el recibo del mes en que ocurriera dicha incidencia.

- NIO presenta AUSENCIA Se ha separado AUSENCIA en una entidad aparte para controlas los perodos de baja de los nios, anotando tambin su justificacin. Es una entidad dbil puesto que su existencia e identificacin est totalmente ligada al propio nio. Conjuntamente con este registro de bajas justificada se tiene un atributo de estado en la entidad NIO. Dicho atributo, como su propio nombre indica, seala el estado actual del nio: activo o inactivo.

Nio

(1,1)

ID presenta

(0,n)

Ausencias

- CUENTA_BANCARIA asignada_a NIO En la entidad CUENTA_BANCARIA se almacenarn todos los datos relativos a las cuentas a las que se mandarn las facturas de cada nio. Si bien sern los responsables de cada nio los que paguen sus facturas, se ha decidido asociar directamente CUENTA a NIO por simplicidad en el modelo. Se podra haber considerado incluir toda la informacin bancaria en forma de meros atributos de la entidad NIO, pero de haberlo hecho de esa forma se habra perdido la normalizacin de cara al modelo relacional.

Cuenta_bancaria

(1,1) asignada_a

(1,n)

Nio

- PERSONAL ISA DOCENTE


Personal (1,1) ISA

(0,1) Docente

Se ha hecho esta especializacin, de PERSONAL a DOCENTE, para poder distinguir del conjunto de trabajadores de la institucin aquellos que, en particular, se dedican a la docencia. Es decir, estarn almacenados datos personales, telfonos y cargos desempeados (tambin durante qu fechas) de todos los empleados del centro (secretarios, personal de mantenimiento, profesores, etc.), pero slo sern los profesores los que estn relacionados con las aulas, como se ver a continuacin.

- DOCENTE es_responsable AULA - DOCENTE trabaja_en AULA Se tiene que un AULA siempre debe estar a cargo de un responsable. Y ese responsable debe ser miembro del personal DOCENTE del centro.
(0,1) Aula (0,1) Trabaja_en (0,n)

es_responsable (1,1) Docente

Por otro lado, se considera la posibilidad de que haya DOCENTES que no estn impartiendo clase en ningn AULA (por estar de baja, por ejemplo) y la posibilidad de que haya aulas en las que nadie imparta clase (biblioteca, sala de audiovisuales, etc.)

- MATERIAL dispone_de EJEMPLARES - AULA contiene EJEMPLARES


Aula
(1,1)

Contiene
(0,n) (1,1) (1,n)

Se destaca esta relacin porque es necesario diferenciar en dos entidades el concepto abstracto MATERIAL de sus realidades fsicas EJEMPLARES. La realidad fsica (EJEMPLAR) es la que se encontrar en las AULAS.

Material

Dispone_de

Ejemplares

- RECIBOS se_aaden COMPLEMENTOS La entidad COMPLEMENTOS representa los extras que se sumarn al coste total asociado al recibo del nio en el mes correspondiente.
(0,n) (1,n)

Complementos

se_aaden

Recibos

Un complemento se puede aplicar a un recibo de un nio de manera particular (por ejemplo, si el nio rompe un cristal u ocasiona cualquier otro tipo de prdida material). Tambin estn los complementos generalizados que se aplicarn en comn a todos los recibos. Todo esto se controlar mediante el atributo tipo en la entidad COMPLEMENTOS.

- RESPONSABLES telf_responsables TELEFONOS - PERSONAL telf_personal TELEFONOS


Responsable
(0,n)

telf_responsable
(0,n)

Se ha modelado TELEFONOS como entidad con el fin de poder mantener un listn telefnico, tanto de los RESPONSABLES de los nios como del PERSONAL de la escuela. Para dar una mayor flexibilidad al sistema se ha modelado como relaciones N:N (podra darse el caso, por ejemplo, de que 2 profesores vivieran juntos y tuvieran el mismo telfono fijo).

Telefono
(0,n)

telf_personal

(0,n)

Personal

Vous aimerez peut-être aussi