Pull to refresh

Разработка систем управление базами данных в докомпьютерную эпоху

Вводная часть


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

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

Как правило, проектирование БД зависит от целей использования. И чем яснее цель, тем лучше и проще можно разработать проект БД. И еще добавлю, необходимо делать как можно проще. Если в целом не получается просто, необходимо разбить на более простые части.

Сама разработка


Издревле человечество накапливало опыт и знания. До изобретения письменности знания передавались устно. Затем, их стали записывать. С изобретением книгопечатания – издавались книги, собирались библиотеки. В настоящее время знания, данные, опыт можно хранить и хранят в электронных базах данных. БД помогают упорядочить данные, облегчают поиск, и делают работу с данными проще и удобнее.

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

Что бы организовать простейшую базу, не обязательно иметь компьютер, сервер, или подобные электронные устройства. Вполне подойдут для этих целей тетради, бумага, папка и шкафы. Так же этого достаточно, чтобы понять принципы организации и работы как СУБД, так и баз данных.

Далее я на этом примере опишу работу и принципы СУБД.

Организация СУБД подручными средствами


Итак, начнем. Мы собираемся организовать базу данных содержащую подборку выпускаемых газет и журналов. Для чего нам эта база данных? Ну хотя бы для того что бы, в будущем можно было вспомнить как освещались различные события. Для организации БД мы выделяем небольшую комнату в своём доме, и комната абсолютно пустая.

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

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

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

Но затем, заводим шкаф около входа, в котором заводим папку со скоросшивателем, в которую вставляем листы, на которых записан номер стеллажа, и расположение дат по полкам. Стеллажи выстраиваем рядами, над рядами подписаны диапазоны номеров стеллажей. И вот, для поиска нужной даты, уже достаточно найти в папке нужный номер стеллажа и полки, и по диапазону номеров найти нужный ряд, стеллаж и полку.

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

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

Потом, внутри даты отсортировываем прессу по наименованию, издательству, или как-либо ещё. Заводим соответствующие индексы, размещаем их в шкафу около входа.

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

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

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

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

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

При такой реализации СУБД необходимо озаботиться сохранностью данных, так как делать резервные копии данных в этом случае занятие не благодарное, трудоемкое и ресурсоемкое. Для сохранности необходимо реализовать поддержание определенной влажности, освещенности, и температуры в помещении. Но и эти меры не помогут сохранить данные в случае природных катаклизмов или злонамеренных действий людей (поджоги, затопления, разрушение зданий).
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.