CREATE TABLE Devices (
    deviceId int generated always as identity,
    imei int unique not null,
    prodDate date not null,
    hwVerId int not null,
    jigId int not null,
    primary key(deviceId),

    constraint fk_hwversion foreign key(hwVerId) references HwVersions(hwVerId),

    constraint fk_jig foreign key(jigId) references Jigs(jigId)
);

CREATE TABLE Logs (
    logId int generated always as identity,
    name text not null,
    description text,
    logDate date,
    deviceId int,
    primary key(logId),

    constraint fk_device foreign key(deviceId) references Devices(deviceId) on delete cascade,
);

CREATE TABLE HwVersions (
    hwVerId int generated always as identity,
    name text not null,
    primary key(hwVerId)
);

CREATE TABLE Pictures (
    pictureId int generated always as identity,
    name text,
    description text,
    pictureFile bytea not null,
    logId int not null,
    primary key(pictureId),

    constraint fk_log foreign key(logId) references Logs(logId) on delete cascade
);

CREATE TABLE Jigs (
    jigId int generated always as identity,
    name text,
    description text,
    primary key(jigId)
);

CREATE TABLE Users (
    userid int generated always as identity,
    name text not null unique,
    passw text,
    primary key(userid)
);