Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
03_Пособие.doc
Скачиваний:
21
Добавлен:
01.05.2025
Размер:
2 Мб
Скачать
☆

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

Теория баз данных – сравнительно молодая область знаний. Возраст ее составляет немногим более 30 лет.

В 1968 году была введена в эксплуатацию первая промышленная СУБД система IMS фирмы IBM. В 1975 году появился первый стандарт ассоциации по языкам систем обработки данных – Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в теории систем баз данных, которые и до сих пор являются основополагающими для сетевой модели данных.

В дальнейшем в развитие теории баз данных большой вклад был сделан американским математиком Э.Ф. Коддом, который является создателем реляционной модели данных.

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

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и т.д. Базы данных хранились во внешней памяти центральной ЭВМ, пользователями этих баз данных были задачи, запускаемые в основном в пакетном режиме. Программы доступа к БД писались на различных языках и запускались как обычные числовые программы. Эти системы можно было отнести к системам распределенного доступа, потому что база данных была централизованной, хранилась на устройствах внешней памяти одной центральной ЭВМ, а доступ к ней поддерживался от многих пользователей-задач.

Особенности этого этапа развития выражаются в следующем.

  • Все СУБД базируются на мощных мультипрограммных операционных системах (MVS, SVM, RTE, OSRV, RSX, UNIX), поэтому в основном поддерживается работа с централизованной базой данных в режиме распределенного доступа.

  • Функции управления распределением ресурсов в основном осуществляются операционной системой.

  • Поддерживаются языки низкого уровня манипулирования данными, ориентированные на навигационные методы доступа к данным.

  • Значительная роль отводится администрированию данных.

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

  • Проводятся теоретические работы по оптимизации запросов и управлению распределенным доступом к централизованной БД, было введено понятие транзакции.

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

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

Особенности этого этапа следующие.

  • Все СУБД рассчитаны на создание БД в основном с монопольным доступом или для последовательной работы нескольких пользователей.

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

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

  • При наличии высокоуровневых языков манипулирования данными типа реляционной алгебры и SQL в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц.

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

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

  • Сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД. Вполне работоспособные приложения, разработанные, например, на Clipper, работали на PC 286.

  • Яркие представители этого семейства – очень широко использовавшиеся до недавнего времени СУБД dBase (dBaseIII+, dBaseIV), Clipper, FoxPro, Paradox.

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

Особенности данного этапа.

  • Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:

  • структурной целостности – допустимыми являются только данные, представленные в виде отношений реляционной модели;

  • языковой целостности, то есть языков манипулирования данными высокого уровня (в основном SQL);

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

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

  • Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.

  • Потребность в новых реализациях вызвала создание теоретических трудов по оптимизации реализаций распределенных БД и работе с распределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД.

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

Разработка ряда стандартов для языков описания и манипулирования данными (SQL89, SQL92, SQL99) и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open Database Connectivity), предложенный фирмой Microsoft.

  • Начало работ, связанных с концепцией объектно-ориентированных БД.

  • Представителями СУБД, относящихся к третьему этапу, можно считать MS Access 97 и все современные серверы баз данных (Oracle, MS Server, System, Informix, DB2, SQL Base и т.д.).

Четвертый этап развития СУБД характеризуется появлением новой технологии доступа к данным – Интранет. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения. Для работы с удаленной базой данных используется стандартный браузер Интернета, например Microsoft Internet Explorer и Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично работе в Интернет. Загружаемые пользователем HTML-страницы содержат встроенный код, написанный на языке Java, Java-script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя таким образом ту работу, которой в технологии клиент-сервер занимается клиентская программа. Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к базам данных, но и для пользователей локальной сети предприятия. Простые задачи обработки данных, не связанные со сложными алгоритмами, требующими согласованного изменения данных во многих взаимосвязанных объектах, достаточно просто и эффективно могут быть построены по данной архитектуре. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиентского программного обеспечения. Однако алгоритмически сложные задачи рекомендуется реализовывать в архитектуре клиент-сервер с разработкой специального клиентского программного обеспечения. У каждого из вышеперечисленных подходов к работе с данными есть свои достоинства и свои недостатки, которые и определяют область применения того или иного метода, и в настоящее время все подходы широко используются.

Заключение

Современные базы данных являются основой многочисленных информационных систем. Информация, накопленная в них, является чрезвычайно ценным материалом. В связи с этим интенсивно развиваются методы обработки баз данных, позволяющие извлечь из них дополнительные знания, обобщить имеющуюся информацию и обработать ее дополнительными способами. Базы данных в данной концепции выступают как хранилища информации. Это направление называется «Хранилища данных» (Data Warehouse).

Для работы с «Хранилищами данных» наиболее значимым становится так называемый интеллектуальный анализ данных (ИАД), или data mining – это процесс выявления значимых корреляций, образцов и тенденций в больших объемах данных. Роль ИАД возрастает, так как высоки темпы роста объемов накопленной информации в современных хранилищах данных. ИАД вошел в десятку важнейших информационных технологий. ИАД активно используют как крупные корпорации, так и более мелкие фирмы, которые серьезно относятся к вопросам анализа и прогнозирования своей деятельности. На рынке программных продуктов стали появляться соответствующие инструментальные средства.

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

В бизнес-приложениях наибольший интерес представляет интеграция методов интеллектуального анализа данных с технологией оперативной аналитической обработки данных (On-Line Analytical Processing, OLAP). OLAP использует многомерное представление агрегированных данных для быстрого доступа к важной информации и дальнейшего ее анализа.

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

В основе концепции оперативной аналитической обработки (OLAP) лежит многомерное представление данных. Термин OLAP ввел Кодд (E. F. Codd) в 1993 году. В своей статье он рассмотрел недостатки реляционной модели данных, в первую очередь невозможность «объединять, просматривать и анализировать данные с точки зрения множественности измерений, то есть самым понятным для корпоративных аналитиков способом». Кодд определил общие требования к системам OLAP, расширяющим функциональность реляционных СУБД и включающим многомерный анализ как одну из своих характеристик.

Следует заметить, что Кодд обозначает термином OLAP многомерный способ представления данных исключительно на концептуальном уровне. Используемые им термины – «Многомерное концептуальное представление» (“Multidimensional conceptual view”), «Множественные измерения данных» (“Multiple data dimensions”), «Сервер OLAP» (“OLAP server”) – не определяют физического механизма хранения данных. По Кодду, многомерное концептуальное представление (multi-dimensional conceptual view) является наиболее естественным взглядом управляющего персонала на объект управления. Оно представляет собой множественную перспективу, состоящую из нескольких независимых измерений, вдоль которых могут быть проанализированы определенные совокупности данных. Одновременный анализ по нескольким измерениям данных определяется как многомерный анализ. Каждое измерение включает направления консолидации данных, состоящие из серии последовательных уровней обобщения, где каждый вышестоящий уровень соответствует большей степени агрегации данных по соответствующему измерению. Так, измерение Исполнитель может определяться направлением консолидации, состоящим из уровней обобщения «предприятие-подразделение-отдел-служащий». Измерение Время может включать два направления консолидации – «год-квартал-месяц-день» и «неделя-день», поскольку счет времени по месяцам и по неделям несовместим. В этом случае становится возможным произвольный выбор желаемого уровня детализации информации по каждому из измерений. Операция спуска (drilling down) соответствует движению от высших ступеней консолидации к низшим; напротив, операция подъема (rolling up) означает движение от низших уровней к высшим.

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

В сфере моделирования данных наиболее активно развиваются объектно-ориентированные базы данных. Предметная область моделируется как множество классов взаимодействующих объектов. Каждый объект характеризуется набором свойств, которые являются его характеристиками, и набором методов работы с этим объектом. Работать с объектом можно только с использованием его методов. Атрибуты объекта могут принимать определенное множество допустимых значений, набор конкретных значений атрибутов объекта определяет его состояние. Используя методы работы с объектом, можно изменять значение его атрибутов и тем самым изменять состояние самого объекта. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования). Допускается наличие примитивных предопределенных классов, объекты-экземпляры которых не имеют атрибутов: целые, строки и т.д. Класс, объекты которого могут служить значениями атрибута объектов другого класса, называется доменом этого атрибута.

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

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

Возникло направление, которое предполагает возможность хранения объектов внутри реляционной БД. Необходимость работы с объектами потребовала расширения стандарта языка SQL. Частично это уже сделано в новом стандарте SQL3.

Многие фирмы–разработчики коммерческих СУБД обратились к объектным технологиям и доработали свои СУБД. Например, фирмы IBM и Oracle добавили объектную надстройку над реляционным ядром системы (продукты DB2 и ORACLE). Фирма Informix приобрела объектно-ориентированную СУБД Illustra и встроила ее в свою СУБД.

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

Еще одним из перспективных направлений развития баз данных является направление, связанное с объединением технологии экспертных систем и баз данных и развитие так называемых дедуктивных баз данных. Эти базы основаны на выявлении новых знаний из баз данных не путем реализации запросов или осуществления аналитической обработки, а путем использования правил вывода и построения цепочек применения этих правил для вывода ответов на запросы. Для этих баз данных существуют языки запросов, отличные от классического языка SQL. В экспертных системах знания экспертов хранятся в форме правил, чаще всего используются так называемые продукционные правила типа «если описание ситуации, то описание действия».

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

Однако наблюдаются тенденции, свидетельствующие о сближении Web-технологий и баз данных:

дизайнеры крупнейших Web-серверов с миллионами страниц содержимого постепенно перекладывают задачи управления страницами с файловых систем на системы баз данных;

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

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

В будущем статические HTML-страницы станут заменяться системами управления динамически формируемым содержимым.

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

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

Для разработки Интернет-приложений, которые связаны с базами данных, широко используются новые средства программирования: это язык PERL, язык PHP (Personal Home Page Tools), язык Javascript и ряд других.

Библиографический список

1. Дейт К.Дж. Введение в системы баз данных. М.: Вильямс, 2000.

2. Конноли Т., Бегг К., Строган А. БД: проектирование, реализация и сопровождение. М.: Вильямс, 2000.

3. Харрингтон Дж. Проектирование объектно-ориенти-рованных баз данных. М.: Вильямс, 2000.

4. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для вузов. СПб.: КОРОНА принт, 2003.

5. Карпова Т.С. Базы данных: модели, разработка, реализация. СПб.: Питер, 2001.

6. Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем. М.: ДИАЛОГ-МИФИ, 2001.

7. Избачков Ю.С., Петров В.Н. Информационные системы: Учебник для вузов. 2–е изд. – СПб.: Питер, 2005.

8. Джудит С. Боуман, Сандра Л. Эмерсон, Марси Дарновски. Практическое руководство по SQL. 3-е изд.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2001.

9. Грабер М. SQL Справочное руководство. 2-е изд. – М.: Издательство «Лори», 2001.

10. Астахова И.Ф. SQL в примерах и задачах: Учеб. пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2002.

11. Фаронов В.В. Программирование баз данных в Delphi 7. Учебный курс. – СПб.: Питер, 2004.

12. Вейскас Дж. Эффективная работа с Microsoft Access 2000. - СПб.: Питер, 2000.

13. Бекаревич Ю.Б., Пушкина Н.В. Microsoft Access 2000.- СПб.: БХВ – Санкт-Петербург, 1999.

14. Хансен Г., Хансен Дж. Базы данных: разработка и использование: Пер. с англ. – М.: БИНОМ, 1999.

15. Мартин Д. Организация баз данных в вычислительных системах. – М.: Финансы и статистика, 1982.

16. Мейер Д. Теория реляционных баз данных. М.: Мир, 1987.

17. Четвериков Б.Н., Ревунков Г.И., Самохвалов Э.Н. Базы и банки данных. М.: Высшая школа, 1987.

18. Ульман Дж. Основы систем баз данных: Пер. с англ. – М.: Финансы и статистика, 1988.

19. Диго С.М. Проектирование баз данных. М.: Финансы и статистика, 1988.

20. Атре Ш. Структурный подход к организации баз данных: Пер. с англ. – М.: Финансы и статистика, 1989.

21. Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ. М.: Мир, 1991.