CREATE TABLE "Подразделение" (
id_подразделения INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
название VARCHAR(100) NOT NULL,
описание VARCHAR(500)
);
CREATE TABLE "Сотрудник" (
id_сотрудника INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
ФИО VARCHAR(150) NOT NULL,
должность VARCHAR(100),
id_подразделения INTEGER REFERENCES "Подразделение"(id_подразделения)
);
CREATE TABLE "Тип_документа" (
id_типа INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
наименование VARCHAR(100) NOT NULL,
описание VARCHAR(500)
);
CREATE TABLE "Статус" (
id_статуса INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
наименование VARCHAR(50) NOT NULL,
описание VARCHAR(300)
);
CREATE TABLE "Документ" (
id_документа INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
название VARCHAR(200) NOT NULL,
дата_создания DATE,
содержание TEXT,
id_типа INTEGER REFERENCES "Тип_документа"(id_типа),
id_статуса INTEGER REFERENCES "Статус"(id_статуса),
id_автора INTEGER REFERENCES "Сотрудник"(id_сотрудника)
);
CREATE TABLE "Задача" (
id_задачи INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
описание VARCHAR(500) NOT NULL,
дата_создания DATE,
срок_исполнения DATE,
id_документа INTEGER REFERENCES "Документ"(id_документа),
id_исполнителя INTEGER REFERENCES "Сотрудник"(id_сотрудника)
);
CREATE TABLE "История_движения" (
id_записи INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
дата TIMESTAMP,
действие VARCHAR(250),
id_документа INTEGER REFERENCES "Документ"(id_документа),
id_сотрудника INTEGER REFERENCES "Сотрудник"(id_сотрудника)
);