help con una bbdd oracle 9i :_(

bbra
30 de Marzo del 2005
hola!!
stoy volviendome loka con un script de oracle. tengo unas tablas q he creado pero no se como solucionar las cuestiones q se me plantean. son estas: 1. una familia puede tener varios hijos en el centro.
2. Las comunicaciones a los padres se envían a cada familia. No una comunicación a cada hijo.
3. Las comunicaciones se deben realizar al tutor del hijo/alumno.
4. Se debe saber el domicilio del alumno, domicilio de los tutores, teléfonos fijos y móviles de los alumnos y sus tutores y teléfono de contacto de urgencia.
5. Cada alumno puede obtener diversos servicios del centro.
6. Cada servicio facturado a un alumno puede tener una cuenta de cargo diferente, eso supone tener en cuenta la información de las sucursales bancarias.
7. En cada momento se ha de saber el estado de un recibo (devuelto o pagado).
8. Los recibos se pueden cobrar por banco o en efectivo.
9. Se debe poder modificar, dar de alta, y de baja alumnos, servicios y servicios de alumnos.
10. Todos los alumnos tienen como mínimo un recibo. El de su enseñanza reglada.
11. Cuando se da de alta a un alumno, hay que comprobar la existencia de sus tutores y familia (si tiene un hermano ya matriculado) para evitar duplicaciones de tutores y familiares.
12. Se necesita obtener los siguientes listados:
• Alumnos por curso.
• Servicios por alumno.
• Familias.
13. Los listados pueden verse en pantalla o impresos.
14. Sólo se pueden seleccionar los servicios y cursos que existen en el colegio, de modo que el sistema no permitirá que el alumno realice una actividad que no existe en el colegio.
15. El día 27 se generan los recibos que hayan de cobrarse a fín de mes.
16. El banco envía un listado con los recibos cobrados y los devueltos.
17. El día 5 de cada mes se debe saber los recibos que han sido devueltos. Con cada recibo devuelto se envía una carta a la dirección del alumno para que pague en la dirección del colegio el recibo.

ACLARACIONES:
El tutor o tutores de un alumno puede que no sean sus progenitores biológicos.
Los servicios prestados por el colegio son:
Transporte
Comedor
Idiomas
Música
Estudio
Tutoría
Gabinete Psicológico
Piscina
Deportes
MIS TABLAS SON ESTAS:
CREATE TABLE cuentas

(
Num_cuenta varchar2(20) not null,
DNI_tutor varchar2(9) not null,
PRIMARY KEY (Num_cuenta),
CONSTRAINT fk_cuentas_familia FOREIGN KEY (DNI_tutor)
REFERENCES familia (DNI_tutor)
)
/


CREATE TABLE familia
(
DNI_tutor varchar2(9) not null,
Direccion varchar2(40) not null,
Móvil_tutor varchar2(9),
Fijo_tutor varchar2(9),
Nombre_cónyuge varchar2(30),
Direccion_cónyuge varchar2(40),
Fijo_cónyuge varchar2(9),
PRIMARY KEY (DNI_tutor),
)
/


CREATE TABLE recibo
(
Cod_recibo varchar2(20) not null,
Fch_recibo varchar2(9) not null,
Descripcion varchar2(20) not null,
Estado varchar2(2) not null,
Forma_pago varchar2(10) not null,
DNI_tutor varchar2(9) not null,
PRIMARY KEY (Cod_recibo),
CONSTRAINT fk_recibo_familia FOREIGN KEY (DNI_tutor)
REFERENCES familia (DNI_tutor)
)
/







CREATE TABLE alumno
(
DNI_alumno varchar2(9) not null,
Nombre varchar2(30) not null,
Direccion varchar2(40) not null,
Tlf_movil varchar2(9) not null,
Tlf_fijo varchar2(9) not null,
Tlf_urgencia varchar2(9) not null,
DNI_tutor varchar2(9) not null,
PRIMARY KEY (DNI_alumno),
CONSTRAINT fk_alumno_familia FOREIGN KEY (DNI_tutor)
REFERENCES familia (DNI_tutor)
)
/


CREATE TABLE servicios
(
Cod_servicio varchar2(2) not null,
Nombre_serv(30) not null,
Importe integer not null,
PRIMARY KEY (Cod_servicio),
)
/


CREATE TABLE ser_alum
(
Cod_servicio varchar2(2) not null,
DNI_alumno varchar2(9) not null,
PRIMARY KEY (Cod_servicio, DNI_alumno),
CONSTRAINT fk_ser_alum_servicios FOREIGN KEY (Cod_servicio)
REFERENCES servicios(Cod_servicio)
CONSTRAINT fk_ser_alum_alumno FOREIGN KEY (DNI_alumno)
REFERENCES alumno (DNI_alumno)
)
/

ya se q es imposible q alguien me conteste pero estoy desesperada.
gracias por la pagina, me gusta mucho.