Tengo que diseñar una base de datos para el control del expediente clinico de un hospital, se tienen que registrar el empleado, el dependiente del empleado (madre, esposa,hijos, etc) y el expediente de cada uno.
En cuanto a las tablas de empleado y dependiente, pues las relaciono 1:N, es decir, un empleado puede tener varias personas que dependan de el para el seguro médico (varios hijos o hasta esposas) y hasta ahí no hay problema.
Lo que no se es como relacionar la tabla expediente con empleado y dependiente, al principio pareceria que estas van realcionadas con expediente asi nada mas, pero el problema es que entonces en expediente tendria dos llaves foraneas, una de empleado y la otra de dependiente, entonces cuando realice una alta en la tabla de expediente, no podre saber a quien se refiere y ni modo de aislar la tabla expediente sin unirla.
Aqui les dejo los scripts que realice, para mayor claridad del asunto
Código:
Gracias por todo XD CREATE TABLE empleado ( ficha CHAR(10), a_paterno CHAR(15), a_materno CHAR(15), nombre CHAR(25), genero CHAR(2), fecha_nac DATE, fecha_alta DATE, direccion CHAR(50), telefono CHAR(15), tipo_trabajador CHAR (10), CONSTRAINT pk_empleado PRIMARY KEY (ficha) ); CREATE TABLE dependiente ( ficha CHAR(10), ficha_d CHAR(10), a_paterno CHAR(15), a_materno CHAR(15), nombre CHAR(25), genero CHAR(2), fecha_nac DATE, fecha_alta DATE, direccion CHAR(50), telefono CHAR(15), tipo_dependiente CHAR(2), CONSTRAINT pk_dependiente PRIMARY KEY (ficha_d), CONSTRAINT fk_dependiente FOREIGN KEY (ficha) REFERENCES empleado (ficha) ON DELETE CASCADE ); CREATE TABLE expediente ( ficha CHAR(10), historial CLOB, status CHAR(10), fecha_ultima_consulta DATE, CONSTRAINT fk_expediente FOREIGN KEY (ficha) REFERENCES empleado (ficha) ON DELETE CASCADE, CONSTRAINT fk_expediente2 FOREIGN KEY (ficha) REFERENCIES dependiente (ficha_d) ON DELETE CASCADE, );