История создания баз данных

 

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

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

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

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

Введем некоторые начальные понятия.

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

Физическое описание данных это способы представление информации на машинных носителях.

Логическое описание данных это представление информации с точки зрения пользователя.

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

Физическая независимость данных – возможность изменения физического размещения данных без изменения их логической структуры и прикладных программ.

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

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

Концепция БД сложилась в конце 60-х годов прошлого столетия и с тех пор постоянно развивалась. Известный специалист в области БД Д.Мартин [1] рассматривает несколько этапов в развитии технологии обработки данных.

Первый этап сложился к началу 60-х годов прошлого века и характеризуется следующими признаками:

· информация преимущественно хранится в последовательных файлах на магнитных лентах;

· физическая структура данных строго соответствует логической;

· в качестве архива хранятся несколько копий файлов;

· файлы предназначены для единственной программы;

· программист планирует не только логическую, но и физическую организацию данных;

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

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

Второй этап относится к середине 60-х годов и имеет следующие особенности:

· появились внешние устройства прямого доступа, позволившие осуществить произвольный доступ к записям (прямой, индексно-последовательный);

· вошли в употребление процедуры поиска записи по ключевому полю (обычно одному);

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

Несмотря на очевидный прогресс, сохранились многие недостатки первого этапа.

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

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

Четвертый этап датируется второй половиной 70-х годов. На этом этапе были реализованы в той или иной степени следующие основные характеристики СУБД:

· логическая и физическая независимость данных;

· удобство развтия БД;

· безопасность, секретность, целостность данных;

· поиск информации по различным запросам;

· языковые средства для администратора, прикладного программиста, пользователя-непрофессионала.

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

С начала 70-х годов после публикаций Э.Кодда начались активные исследования реляционной модели данных. Основу реляционной СУБД составляют таблицы. Вплоть до 80-х годов реляционные СУБД считались перспективными, но трудными для реализации.

Опыт использования первых СУБД позволил выделить такие важные требования к ним, как:

· естественное представление различных структур данных;

· производительность;

· минимальные затраты на создание и поддержку БД;

· разнообразие возможностей поиска, в том числе незапланированных заранее;

· простота и дружественность;

· наличие непроцедурных языков пользователя (что получить, а не как).

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

Новый этап в развитии СУБД наступил при появлениии персональных компьютеров. На этом этапе на передний план вышли такие особенности СУБД, как:

· дружественность и удобство работы пользователя (развитые диалоги, меню, оконный интерфейс, контекстная помощь);

· упрощение громоздких схем СУБД за счет частичной реализации ряда свойств;

· почти полный переход на реляционные СУБД;

· ориентация не только на программиста, но и на пользователя-непрофессионала;

· наличие средств автоматизации программирования в виде генераторов форм, меню, отчетов, запросов.

Новые СУБД распространялись вместе с персональными компьютерами ограмными тиражами. Так для СУБД dBase III Plus компании Ashton-Tate в 1986 году было зарегистрировано более 2 миллионов продаж. Вообще, СУБД линии dBase оказались одними из самых популярных. Язык программирования xBase, лежащий в их основе, стал классикой жанра. Не случайно ряд СУБД также использовали диалекты этого языка. В России особо популярными стали СУБД FoxBase+ и впоследствии FoxPro компании Fox Software, обладающие новыми возможностями по сравнению с dBase и непритязательные к техническим характеристикам компьютера. Позднее компания Fox Software была поглощена компанией MicroSoft, и соответствующие продукты выходили уже под ее маркой. Распространение получили такие СУБД как Paradox фирмы Borland, Access фирмы MicroSoft, сетевая СУБД dB Vista фирмы Raima Incorporation и многие другие. В России появились русифицированные версии некоторых из этих продуктов.

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

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

Клиент-серверные СУБД снижают трафик в сети. Клиент отправляет запрос к БД, который обрабатывается на сервере, возвращая полученный результат. Клиент-серверные СУБД могут масштабироваться до сотен и тысяч рабочих мест. Всеобщее распространение, подкрепленное стандартами, получил язык запросов SQL (Structured Query Language). Запрос к серверу формируется, как правило, на языке SQL, поэтому клиент-серверные СУБД стали называть SQL-серверами. Наиболее широко известны такие SQL-сервера как SQL Server, DB2, Oracle, Informix, Ingres, InterBase, MySQL.

Наконец, появились трехзвенные СУБД, в которых используется промежуточное звено – сервер приложений, являющийся посредником между клиентом и сервером БД. Сервер приложений призван полностью избавить клиента от забот по управлению данными. В результате получается “облегченный” клиент, не требующий больших ресурсов.

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

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