Con mucho gusto Drknow
Vamos a tomar una tabla personas, una tabla empleados y una tabla clientes. Empleados y clientes serán hijas de personas ya que tienen atributos en común.
//creamos las tablas.
Código sql:
Ver originalCREATE TABLE personas(cedula INTEGER PRIMARY KEY, nombre text, direccion text, telefono text);
CREATE TABLE cliente(cod_per INTEGER, profesion text, FOREIGN KEY (cod_per) REFERENCES personas(cedula));
CREATE TABLE empleado(cod_per INTEGER, fecha_ingreso DATE,cargo text,sueldo FLOAT, FOREIGN KEY (cod_per) REFERENCES personas(cedula));
//Ingresamos 2 personas, una será empleado otra cliente.
Código sql:
Ver originalINSERT INTO personas VALUES(132,'daniel orozco','cra 16 # 3-90','8890203');
INSERT INTO personas VALUES(133,'ana maria','cra 17 # 2-97','8798201');
//ingresamos empleado
Código sql:
Ver originalINSERT INTO empleado VALUES(133,'2008-01-01','asesor',1200); //ana maria es empleada
//ingresamos cliente
Código sql:
Ver originalINSERT INTO cliente VALUES(132,'Ingeniero'); //daniel ahora es cliente
Si queremos tener toda la información de empleado sería con:
Código sql:
Ver originalSELECT personas.*,fecha_ingreso,cargo,sueldo FROM personas INNER JOIN empleado ON personas.cedula = empleado.cod_per;
Para el ingreso de los datos, podrias hacer uso de un procedimiento almacenado, que te ingrese el empleado en la tabla persona y en la tabla empleado en un solo llamado.
Espero haberte aclarado tus dudas.