Пример переработки обычной таблицы в БД

Одним из типовых подходов к разработке структуры базы данных является разборка уже имеющейся табличной формы представления информации. Такой подход очень удобен и с педагогической точки зрения, так как он понятен и соответствует способу обдумывания большого объема данных.

И это тоже не совсем так, ибо при преобразовании данных использованы дополнительные рассуждения. Обычно же применяется подход с искусственно подобранными примитивными данными, просто удобными для разбора. За счет этого выхолащивается прикладной смысл, работа же с реальной информацией мгновенно выявляет множество вопросов, способы решения которых совершенно неочевидны.

В качестве примера возьмем условный список кадров некоего предприятия. На основе имеющейся информации (фрагмента) предположим, какие сведения могут интересовать другие службы (не отдел кадров), где их взять и в каком виде сохранить.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Подразделение. Здесь мы уже видим, что сотрудники относятся к нескольким повторяющимся подразделениям. Поскольку мы встречаемся с этим первый раз, давайте разберемся с вопросом подробно.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Должности. На первый взгляд идентично подразделениям, но примитивная запись наименования на самом деле достаточно сложна.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Образование. Графа специально заполнена с некоторым намеком.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Приказ. Внимательный просмотр позволит обнаружить, что несколько человек приняты на работу одним приказом (обычно такого не бывает), что уже можно понять без затруднений: нужна таблица приказов.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


В классическом варианте потребовалась бы дополнительная таблица с развернутым штатным расписанием, к которой бы и привязывалось подчинение. А непосредственно к конкретной штатной единице, уже с другой стороны, привязывался конкретный же сотрудник-руководитель.

Вместе с тем, проблема уже решена выше (Таблица связи сотрудник-должность).

Главная таблица

В реальной ситуации, формирование именно ее структуры является первичным, что прослеживается по приведенному выше тексту. Однако, это практически невозможно сделать на сайте или в печатном издании.

В связи с этим, настоятельно рекомендую внимательно ознакомиться с тем, что расположено далее, при необходимости вернувшись к описанию деталей.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Позволю себе предположить, что мизерность структуры этой таблицы окажется неожиданной для многих.

Естественно, что множество вопросов остались нерешенными и даже не озвучены. Например, ситуация увольне­ния.

Схема таблиц

Схема носит условный характер, но позволяет получить общее представление.


Copyright © 1993–2021 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.