-- 1. Tabla TipoDocumento
CREATE TABLE TipoDocumento (
    IdTipoDoc INTEGER PRIMARY KEY AUTOINCREMENT,
    Nombre VARCHAR(50) NOT NULL UNIQUE
);

-- 2. Tabla RangoMilitar
CREATE TABLE RangoMilitar (
    IdRango INTEGER PRIMARY KEY AUTOINCREMENT,
    NombreRango VARCHAR(50) NOT NULL UNIQUE,
    NivelAutoridad INTEGER NOT NULL
);

-- 3. Tabla UnidadMilitar
CREATE TABLE UnidadMilitar (
    IdUnidad INTEGER PRIMARY KEY AUTOINCREMENT,
    NombreUnidad VARCHAR(100) NOT NULL,
    Ubicacion VARCHAR(100) NOT NULL
);

-- 4. Tabla PersonalMilitar
CREATE TABLE PersonalMilitar (
    IdPersonal INTEGER PRIMARY KEY AUTOINCREMENT,
    IdTipoDoc INTEGER NOT NULL,
    NumeroDocumento VARCHAR(20) NOT NULL,
    Nombre VARCHAR(100) NOT NULL,
    Apellido VARCHAR(100) NOT NULL,
    IdRango INTEGER NOT NULL,
    IdUnidad INTEGER NOT NULL,
    FechaIngreso DATE DEFAULT CURRENT_DATE,

    CONSTRAINT FK_Personal_TipoDoc FOREIGN KEY (IdTipoDoc) REFERENCES TipoDocumento(IdTipoDoc) ON DELETE NO ACTION ON UPDATE CASCADE,
    CONSTRAINT FK_Personal_Rango FOREIGN KEY (IdRango) REFERENCES RangoMilitar(IdRango) ON DELETE NO ACTION ON UPDATE CASCADE,
    CONSTRAINT FK_Personal_Unidad FOREIGN KEY (IdUnidad) REFERENCES UnidadMilitar(IdUnidad) ON DELETE NO ACTION ON UPDATE CASCADE,
    CONSTRAINT UQ_IdentificacionMilitar UNIQUE (IdTipoDoc, NumeroDocumento)
);

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: