Hola y buen día a todos, verán me encuentro diseñando un modelo de base de datos pero resulta que ya llevo atorado algo de tiempo, el problema es este :
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:
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,
);
Gracias por todo XD