Las dos tablas tienen que tener un campo en comun, supongamos:
Empresas
idEmpresa PK
NombreEmpresa
...
Empleados
idEmpleado PK
idEmpresa FK
NombreEmpleado
...
Tenemos una tabla Empresas donde guardamos los datos identificativos de un grupo de empresas, en otra tabla Empleados tenemos los datos de usa serie de empledos, uno de esos datos tendrá que ser la empresa que les emplea, con solo guardar el IdEmpresa en la tabla Empleado ya podemos saber para que empresa trabaja. Si ademas queremos restringir la entrada de empleados a los de las empresas previamente introducidas en la tabla empresas definimos un FK, clave foranea, que nos relacione las tablas. Tambien podemos definir que pasa cuando se elimine una empresa que tenga empleados, se puede impedir la eliminación o se pueden eliminar los empleados (eliminación en casdacada).
Del help de mysql
reference_definition:
REFERENCES tbl_name (index_col_name,...)
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE]
[ON DELETE reference_option]
[ON UPDATE reference_option]
reference_option:
RESTRICT | CASCADE | SET NULL | NO ACTION
Código sql:
Ver originalCREATE TABLE Empresas
(
idEmpresa INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
NombreEmpresa VARCHAR(45) NOT NULL
)
TYPE = INNODB;
CREATE TABLE Empleados
(
idEmpleado INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
idEmpresa INT NOT NULL,
NombreEmpleado VARCHAR(45) NOT NULL,
FOREIGN KEY (idEmpresa) REFERENCES Empresas (idEmpresa)
ON DELETE CASCADE
)
TYPE = INNODB;
Quim