В начало

БД StroyBrigadi

 

            Постановка: необходимо создать базу данных в СУБД «Interbase 6.5» для учета численности сотрудников и контроля строительных работ и выполнить запрос на перевод людей из одной бригады в другую.

            Для работы с СУБД запускаем «IBConsole», открываем локальный сервер и создаем в дереве объектов, на ветке «Databases» новую базу данных.

Рис. 1. Создание новой БД

 

            Далее переходим на ветку «Tables». Для создания таблицы «VidRabot» запускаем утилиту «Interactive SQL». Пишем и выполняем SQL-запрос.

CREATE TABLE VidiRabot(

VidRaboti VARCHAR(50) NOT NULL,

PRIMARY KEY(VidRaboti));

COMMIT;

            Заполнить таблицу «VidiRabot» значениями можно в свойствах таблицы на закладке «Data».

Рис. 1. Свойства таблицы «VidRabot», закладка «Data»

Рис. 2. Свойства таблицы «VidRabot», закладка «Data»

 

            Аналогично создаем таблицу «Brigadiri».

CREATE TABLE Brigadiri(

FIO VARCHAR(50) NOT NULL,

Telefon VARCHAR(10),

VidRabot VARCHAR(50),

PRIMARY KEY(FIO),

FOREIGN KEY(VidRabot) REFERENCES VidiRabot(VidRaboti));

COMMIT;

 

            Заполняем только что созданную таблицу «Brigadiri».

Рис. 3. Заполненная таблица «Brigadiri»

 

            Также создаем таблицу «Brigadi».

CREATE TABLE Brigadi(

NomerBrigadi INTEGER NOT NULL,

Brigadir VARCHAR(50),

PRIMARY KEY(NomerBrigadi),

FOREIGN KEY(Brigadir) REFERENCES Brigadiri(FIO));

COMMIT;

            Ниже показана заполненная таблица.

Рис. 4. Таблица «Brigadi»

 

            Далее создаем таблицу «Rabotniki».

CREATE TABLE Rabotniki(

TabelniyNomer INTEGER NOT NULL,

FIO VARCHAR(50),

GodRojdeniya CHAR(4),

Razryad SMALLINT,

Brigada INTEGER,

PRIMARY KEY(TabelniyNomer),

FOREIGN KEY(Brigada) REFERENCES Brigadi(NomerBrigadi));

COMMIT;

 

            Заполняем таблицу более-менее достоверными данными.

Рис. 5. Заполненная таблица «Rabotniki»

Рис. 5. Заполненная таблица «Rabotniki»

           

            Для перевода людей из одной бригады в другую надо выполнить запрос типа:

UPDATE Rabotniki

SET Brigada='10'

WHERE Brigada='20';

COMMIT;

            Ниже показан результат. Ранее Гальцова ГА и Демидов В были в 20 бригаде, но мы это исправили, теперь они в бригаде № 10.

Рис. 6. Результат перевода сотрудников из 20 в 10 бригаду