База данных лицея (postgreSQL)

Марк5 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
21.12.2022

Нужно сделать базу, состоящую из 8 таблиц, а именно классный руководитель(id,Имя Фамилия Отчество), специальности(id,Наименование специальности), районы(id,наименование района), 11 класс,10 класс,9 класс,8 класс и выпускники (информация по этим таблицам будет ниже)

Сделать тригеры, которые будут перемещать учеников в следующий класс/выпускники (по столбцу перешёл/выпустился)

И тригер на перевёлся, при установки галочки(true) удалить человека со списка

Ниже наброски

CREATE TABLE kl_11

(

ID INT,

Имя VARCHAR(60),

Фамилия VARCHAR(60),

Отчество VARCHAR(60),

Поступил DATE,

    Выпустился DATE,

Классный_руководитель VARCHAR(60),

Код_специальности INT,

Код_района INT,

Населённый_пункт VARCHAR(60),

Олимпиады VARCHAR(1000),

Конференции VARCHAR(1000),

Конкурсы_и_соревнования VARCHAR(1000),

PRIMARY KEY (ID, Код_района, Классный_руководитель, Код_специальности)

);

CREATE TABLE kl_11

(

ID INT,

Имя VARCHAR(60),

Фамилия VARCHAR(60),

Отчество VARCHAR(60),

Поступил DATE,

Классный_руководитель VARCHAR(60),

Код_специальности INT,

Код_района INT,

Населённый_пункт VARCHAR(60),

Олимпиады VARCHAR(1000),

Конференции VARCHAR(1000),

Конкурсы_и_соревнования VARCHAR(1000),

PRIMARY KEY (ID, Код_района, Классный_руководитель, Код_специальности)

);

CREATE TABLE Raion

(

Код_района INT,

Наименование_района VARCHAR(150)

PRIMARY KEY (Код_района)

);

CREATE TABLE kl_8

(

ID INT,

Имя VARCHAR(60),

Фамилия VARCHAR(60),

Отчество VARCHAR(60),

Поступил DATE,

Классный_руководитель VARCHAR(60),

Код_района INT,

Населённый_пункт VARCHAR(60),

Олимпиады VARCHAR(1000),

Конференции VARCHAR(1000),

Конкурсы_и_соревнования VARCHAR(1000),

Перевёлся BOOLEAN,

Перешёл BOOLEAN,

PRIMARY KEY (ID, Код_района, Классный_руководитель)

);

CREATE TABLE kl_9

(

ID INT,

Имя VARCHAR(60),

Фамилия VARCHAR(60),

Отчество VARCHAR(60),

Поступил DATE,

Классный_руководитель VARCHAR(60),

Код_района INT,

Населённый_пункт VARCHAR(60),

Олимпиады VARCHAR(1000),

Конференции VARCHAR(1000),

Конкурсы_и_соревнования VARCHAR(1000),

Перевёлся BOOLEAN,

Перешёл BOOLEAN,

PRIMARY KEY (ID, Код_района, Классный_руководитель)

);

CREATE TABLE specialnost

(

Код_специальности INT,

Наименование VARCHAR(100),

PRIMARY KEY (Код_специальности)

);

CREATE TABLE rukovoditel

(

Код_руководителя INT,

Имя VARCHAR(100),

Фамииля VARCHAR(100),

Отчество VARCHAR(100),

Дата_рождения DATE,

PRIMARY KEY (Код_руководителя)

);

CREATE TABLE vipusk

(

ID INT,

Имя VARCHAR(60),

Фамилия VARCHAR(60),

Отчество VARCHAR(60),

Поступил DATE,

Выпустился DATE,

Статус_выпуска VARCHAR(100),

ПССП BOOLEAN,

ПБСП BOOLEAN,

Год_поступления_в_вуз INT,

Наименование_коледжа VARCHAR(120),

Классный_руководитель VARCHAR(60),

Код_специальности INT,

Код_района INT,

Населённый_пункт VARCHAR(60),

Олимпиады VARCHAR(1000),

Конференции VARCHAR(1000),

Конкурсы_и_соревнования VARCHAR(1000),

PRIMARY KEY (ID, Код_района, Классный_руководитель, Код_специальности)

);

Заявки фрилансеров