Como Crear Relacion 1:N KumbiaPHP Framework

De KumbiaPHP Framework Wiki

Aquí Breve explicación...

Estructura de las Tablas

CREATE TABLE `profesionales` (

 `id` INTEGER(11) NOT NULL AUTO_INCREMENT,
 `apellido` VARCHAR(45) COLLATE utf8_spanish_ci NOT NULL DEFAULT ,
 `nombre` VARCHAR(45) COLLATE utf8_spanish_ci NOT NULL DEFAULT ,
 `documento` VARCHAR(11) COLLATE utf8_spanish_ci DEFAULT NULL,
 `cuit` VARCHAR(11) COLLATE utf8_spanish_ci DEFAULT NULL,
 `matricula` VARCHAR(11) COLLATE utf8_spanish_ci DEFAULT NULL,
 `direccion` VARCHAR(60) COLLATE utf8_spanish_ci DEFAULT NULL,
 `telefono_1` VARCHAR(20) COLLATE utf8_spanish_ci NOT NULL DEFAULT ,
 `telefono_2` VARCHAR(20) COLLATE utf8_spanish_ci DEFAULT NULL,
 `telefono_3` VARCHAR(20) COLLATE utf8_spanish_ci DEFAULT NULL,
 `movil` VARCHAR(20) COLLATE utf8_spanish_ci DEFAULT NULL,
 `email_1` VARCHAR(100) COLLATE utf8_spanish_ci DEFAULT NULL,
 `email_2` VARCHAR(100) COLLATE utf8_spanish_ci DEFAULT NULL,
 `especialidades_id` INTEGER(11) NOT NULL,
 `activo` INTEGER(11) NOT NULL DEFAULT '0',
 PRIMARY KEY (`id`),
 UNIQUE KEY `id` (`id`),
 KEY `fk_profesionales_Especialidades1` (`Especialidades_id`),
 CONSTRAINT `especialidades_id` FOREIGN KEY (`Especialidades_id`) REFERENCES `especialidades` (`id`)

)ENGINE=InnoDB

CREATE TABLE `especialidades` (

 `id` INTEGER(11) NOT NULL AUTO_INCREMENT,
 `nombre` VARCHAR(45) COLLATE utf8_general_ci NOT NULL DEFAULT ,
 `activo` INTEGER(11) DEFAULT NULL,
 PRIMARY KEY (`id`),
 UNIQUE KEY `id` (`id`)

)ENGINE=InnoDB

Descripcion del Modelo

El mnodelo esta compuesto por dos tablas: Profesionales y Especialidades, la tabla 'profesionales' esta diseñada para llevara los datos de todos los profesionales de una empresa interdisciplinaria, estos profesionales pueden ser: medicos, abogados, ingenieros, etc. La tabla 'especialidades' hace referencia a las distintas orientaciones dentro la profesion , por ejemplo:

Profesion: Medico || especialidad: clinico, cardiologo, oftalmologo, etc.
Profesion: Ingeniero || civil, sistemas, contrucciones, electronicos, etc.


Las tablas estan creadas en mysql , y estan relacionadas por el campo 'id' de la tabla especialidades.

Relacion tablas.png