Данные, предметная область, база данных

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

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

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

Для того, чтобы данные можно было использовать для решения практических задач их нужно научиться хранить. Понятие «база данных» с этой точки зрения можно определить как средство (инструмент) для хранения и последующего использования данных.

Примерами баз данных могут быть самые разные средства для хранения данных (рисунок 1.1).

Рисунок 1.1 – Примеры баз данных

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

1.2 Появление компьютерных баз данных

Базы данных как область использования вычислительной техники возникла несколько поз­же первой, связанной с вычислениями. Это связано с тем, основной функцией баз данных является хранение больших объемов информации, а на заре вычислительной техники возможно­сти компьютеров по хранению информации были очень ограниченными. Гово­рить о надежном и долговременном хранении информации можно только при наличии запоминающих устройств, сохраняющих информацию после выключения электрического питания. Оперативная (основная) память компьютеров этим свойством обычно не обладает. В первых компьютерах использовались два вида устройств внешней памяти — магнитные ленты и барабаны. Емкость магнитных лент была достаточно велика, но по своей физической природе они обеспечива­ли последовательный доступ к данным. Магнитные же барабаны (они ближе всего к современным магнитным дискам с фиксированными головками) давали возможность произвольного доступа к данным, но имели ограниченный объем хранимой информации.

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

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

С появлением магнитных дисков началась история систем управления данными во внешней памяти. До этого каждая прикладная программа, которой требова­лось хранить данные во внешней памяти, сама определяла расположение каж­дой порции данных на магнитной ленте или барабане и выполняла обмены между оперативной памятью и устройствами внешней памяти с помощью про­граммно-аппаратных средств низкого уровня (машинных команд или вызовов соответствующих программ операционной системы). Такой режим работы не позволяет или очень затрудняет поддержание на одном внешнем носителе не­скольких архивов долговременно хранимой информации. Кроме того, каждой прикладной программе приходилось решать проблемы именования частей дан­ных и структуризации данных во внешней памяти.

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

Пользователи видят файл как ли­нейную последовательность записей и могут выполнить над ним ряд стандарт­ных операций:

создать файл (требуемого типа и размера);

открыть ранее созданный файл;

прочитать из файла некоторую запись (текущую, следующую, предыдущую, первую, последнюю);

записать в файл на место текущей записи новую, добавить новую запись в конец файла.

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

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

Далее, поскольку файловые системы являются общим хранилищем файлов, при­надлежащих, вообще говоря, разным пользователям, системы управления файла­ми должны обеспечивать авторизацию доступа к файлам. В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользовате­лю данной вычислительной системы для каждого существующего файла указы­ваются действия, которые разрешены или запрещены данному пользователю. В большинстве современных систем управления файлами применяется подход к защите файлов, впервые реализованный в ОС UNIX. В этой ОС каждому за­регистрированному пользователю соответствует пара целочисленных идентифи­каторов: идентификатор группы, к которой относится этот пользователь, и его собственный идентификатор в группе. При каждом файле хранится полный идентификатор пользователя, который создал этот файл, и фиксируется, какие действия с файлом может производить его создатель, какие действия с файлом доступны для других пользователей той же группы и что могут делать с файлом пользователи других групп. Администрирование режимом доступа к файлу в основном выполняется его создателем-владельцем. Для множества файлов, от­ражающих информационную модель одной предметной области, такой децентра­лизованный принцип управления доступом вызывал дополнительные трудности. И отсутствие централизованных методов управления доступом к информации послужило еще одной причиной разработки специальных программ для работы с БД.

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: