CREATE TABLE IF NOT EXISTS estudiante_domicilio (
    id_domicilio BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
    id_estudiante INT UNSIGNED NOT NULL,
    anio SMALLINT UNSIGNED NOT NULL,
    codigo_ubigeo VARCHAR(6) NULL,
    departamento_codigo CHAR(2) NULL,
    provincia_codigo CHAR(2) NULL,
    distrito_codigo CHAR(2) NULL,
    lugar VARCHAR(80) NULL,
    telefono VARCHAR(20) NULL,
    direccion VARCHAR(160) NULL,
    estado TINYINT(1) NOT NULL DEFAULT 1,
    creado_en TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    actualizado_en TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id_domicilio),
    UNIQUE KEY uq_estudiante_domicilio_anio (id_estudiante, anio),
    KEY idx_estudiante_domicilio_estudiante (id_estudiante),
    KEY idx_estudiante_domicilio_ubigeo (codigo_ubigeo)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
