Введение. Выделение концептуального уровня позволило разработать аппарат централизованного управления базой данных Этапы развития баз данных

реляционной алгебры престижную премию Тьюринга Американской ассоциации по вычислительной технике.

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

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation - DEC ), разных моделях HP (фирмы Hewlett Packard).

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

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

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

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

Эпоха персональных компьютеров

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

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

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

  • Все СУБД были рассчитаны на создание БД в основном с монопольным доступом. И это понятно. Компьютер персональный, он не был подсоединен к сети, и база данных на нем создавалась для работы одного пользователя. В редких случаях предполагалась последовательная работа нескольких пользователей, например, сначала оператор, который вводил бухгалтерские документы, а потом главбух, который определял проводки, соответствующие первичным документам.
  • Большинство СУБД имели развитый и удобный пользовательский интерфейс. В большинстве существовал интерактивный режим работы с БД как в рамках описания БД, так и в рамках проектирования запросов. Кроме того, большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования. Инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчетов, этикеток (Labels), графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс.
  • Во всех настольных СУБД поддерживался только внешний уровень представления реляционной модели, то есть только внешний табличный вид структур данных.
  • При наличии высокоуровневых языков манипулирования данными типа реляционной алгебры и SQL в настольных СУБД поддерживались низкоуровневые языки манипулирования данными на уровне отдельных строк таблиц.
  • В настольных СУБД отсутствовали средства поддержки ссылочной и структурной целостности базы данных. Эти функции должны были выполнять приложения, однако скудость средств разработки приложений иногда не позволяла это сделать, и в этом случае эти функции должны были выполняться пользователем, требуя от него дополнительного контроля при вводе и изменении информации, хранящейся в БД.
  • Наличие монопольного режима работы фактически привело к вырождению функций администрирования БД и в связи с этим - к отсутствию инструментальных средств администрирования БД.
  • И, наконец, последняя и в настоящий момент весьма положительная особенность - это сравнительно скромные требования к аппаратному обеспечению со стороны настольных СУБД. Вполне работоспособные приложения, разработанные, например, на Clipper, работали на PC 286.
  • В принципе, их даже трудно назвать полноценными СУБД. Яркие представители этого семейства - очень широко использовавшиеся до недавнего времени СУБД Dbase (DbaseIII+, DbaseIV), FoxPro, Clipper, Paradox.

Распределенные базы данных

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

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

  • Практически все современные СУБД обеспечивают поддержку полной реляционной модели, а именно:
    • О структурной целостности - допустимыми являются только данные, представленные в виде отношений реляционной модели;
    • О языковой целостности, то есть языков манипулирования данными высокого уровня (в основном SQL);
    • О ссылочной целостности, контроля за соблюдением ссылочной целостности в течение всего времени функционирования системы, и гарантий невозможности со стороны СУБД нарушить эти ограничения.
  • Большинство современных СУБД рассчитаны на многоплатформенную архитектуру, то есть они могут работать на компьютерах с разной архитектурой и под разными операционными системами, при этом для пользователей доступ к данным, управляемым СУБД на разных платформах, практически неразличим.
  • Необходимость поддержки многопользовательской работы с базой данных и возможность децентрализованного хранения данных потребовали развития средств администрирования БД с реализацией общей концепции средств защиты данных.
  • Потребность в новых реализациях вызвала создание серьезных теоретических трудов по оптимизации реализаций распределенных БД и работе с распределенными транзакциями и запросами с внедрением полученных результатов в коммерческие СУБД.
  • Для того чтобы не потерять клиентов, которые ранее работали на настольных СУБД, практически все современные СУБД имеют средства подключения клиентских приложений, разработанных с использованием настольных СУБД, и средства экспорта данных из форматов настольных СУБД второго этапа развития.
  • Именно к этому этапу можно отнести разработку ряда стандартов в рамках языков описания и манипулирования данными начиная с SQL89, SQL92, SQL99 и технологий по обмену данными между различными СУБД, к которым можно отнести и протокол ODBC (Open DataBase Connectivity), предложенный фирмой Microsoft.
  • Именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД - ООБД. Представителями СУБД, относящимся к второму этапу, можно считать MS Access 97 и все современные серверы баз данных Oracle7.3,Oracle 8.4 MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base и другие современные серверы баз данных, которых в настоящий момент насчитывается несколько десятков.

Перспективы развития систем управления базами данных

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

Историю развития баз данных можно разделить на четыре периода.

1. Период становления – начало 60-х - начало 70-х гг . В этот период появляется сам термин «база данных» и создается несколько первоначальных систем. Основой появления баз данных явилось предложение конца 50-х годов использовать файлы для хранения исходных данных. Основное требование к таким файловым системам – быть совместно используемым хранилищем данных. В последующем стало очевидным, что совместно использу­емые данные, должны обладать специфическими свойствами, в частности: независимость данных, отсутствие дублирования и противоречивости, контроль прав доступа к данным, эффективная техника доступа к данным, а также многие другие.

Осознание этих фактов, а также появление больших компьютеров с магнитными дисками в качестве носителей данных привело к появлению в середине 60-х гг. первых систем управления базами данных, из которых наиболее развитой оказалась система IMS фирмы IMB, которая поддерживала иерархическую структуру данных. Бахман в 1963 г. разработал первую промышленную систему баз данных IDS. СистемаIDSподдерживала сетевую организацию данных на магнитных носителях.

Ассоциация CODASYL, являющаяся органом, разработавшим язык программирования Кобол, в 1967 г. организо­вала рабочую группу по базам данных. Эта группа обобщила языковые спецификации систем баз данных и в 1969 и 1971 гг. издала соответствующие отчеты, которые по наименованию рабочей группы (DataBaseTaskGroup) получили названиеDBTG69,DBTG71. Основой избранного Рабочей группой подхода послужила сетевая структура данных и способы навигации по ней, разработанные в системе IDS, однако сетевая модель данных в отчетах DBTG получила существенное развитие и обоснование.

Типичным представителем системы, поддерживающей предложения DBTGCODASYLявилась Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем.

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

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

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

Период развития – 70-е годы . Концепция баз данных широко распространяется благодаря повышению характеристик аппаратного обеспечения компьютеров. Идет успешное внедрение систем, поддерживающих иерар­хи­чес­кую и сетевую структуры данных.

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

    Язык описания данных ЯОД (Data Definition Language - DDL). Представляет собой описание концептуальной схемы в терминах сетевой структуры данных.

    Средства базы данных языка Кобол . Представляет собой средства обеспечения интерфейса языка Кобол с базой данных, описанной в DDL. В Кобол включены средства языка манипулирования данными.

    Средства базы данных языка Фортран . Представляет собой средства обеспечения интерфейса языка Фортран с базой данных, описанной в DDL. В Кобол включены средства языка манипулирования данными.

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

    Язык описания хранения данных ЯОХД (Data Stored Definition Language - DSDL). Представляет собой язык, который отображает концептуальную схему, описанную в DDL, во внутреннюю схему.

В 1975 г. появился отчет рабочей группы ANSI/X3/SPARCАмериканского Национального Института Стандартов, который явился значительной вехой в развитии проблематики баз данных. Перед группой была поставлена задача исследовать, в какой мере целесообразно ставить вопрос о стандартизации баз данных и СУБД и что именно может быть подвержено стандартизации. Группа пришла к выводу, что если и ставить вопрос о стандартизации, то только относительно интерфейсов, которые могут существовать между различными компонентами СУБД, сами програм­мные компоненты ни в коем случае подвергаться стандартизации не могут. В связи с этим они направили свои последующие усилия на выявление таких интерфейсов и, в конце концов, пришли к формулировке трехуровневой архитектуре баз данных, которая стала классической и не потеряла свою актуальность до сих пор.

Однако этот период в большей мере характеризуется появлением реляционной модели данных, предложенной в 1970 г. сотрудником института фирмы ИБМ в Сан-Хосе Э.Ф. Коддом, всесторонними исследованиями теоретичес­ких и прикладных вопросов этой модели, разработкой экспериментальных реляционных СУБД. Теоретические исследования привели, в конце концов, к созданию формальной теории баз данных, которая до этого носила описательный характер. На протяжении многих лет многие ведущие формы проводили эксперимента­ль­ные исследования по созданию прототипов реляционных СУБД, повышению их эффективности и функциональ­ности. В конце 70-х гг. появляются первые промышленные реляционные СУБД.

Период зрелости – 80-е годы . Реляционная модель получила полное теоретическое обоснование. Разработаны крупные реляционные СУБД Oracle, Informix, и другие. Промышленные реляционные системы получают широкое распрост­ране­ние во всех сферах человеческой деятельности. Реляционные системы практически вытеснили с мирового рынка ранние СУБД иерархического и сетевого типа.

Дальнейшее развитие реляционных СУБД шло в следующих направлениях:

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

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

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

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

Особое место в развитии проблематики объектно-ориентированных СУБД занимает деятельность группы по управлению объектными базами данных ODMG(ObjectDataManagementGroup), - неприбыльным консорциумом производителей объектных баз данных и других организаций, заинтересованных в выработке стандартов по хранению объектов в базах данных.ODMGбыла создана в 1991 г. В 1993 г. группа выпустила свой первый стандарт –ODMG-93. В 1995 г. был опубликован усовершенствованный вариант этого стандарта.

В связи с развитием Интернет-технологий прикладываются большие усилия по внедрению баз данных в Интернет. Возникают различные подходы по включению СУБД с их базами данных во всемирную паутину, начиная от простейших «публикаций» баз данных в Интернет и заканчивая разработкой web-серверов баз данных, которые в состоянии предоставлять весь спектр услуг пользователям Интернета по использованию баз данных на сервере.

Наконец, интенсивно развиваются исследования и разработки по представлению и манипулированию структурами данных в Интернет.

Базы данных и знаний 9

Базы данных

Основой банка данных является база данных.

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

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

Структурирование – это введение соглашений о способах представления данных.

Таким образом,

База данных (БД) – это поименованная совокупность структурированных данных, относящихся к определенной предметной области.

В развитии технологии баз данных выделяют 4 этапа.

Первый этап связан с развитием баз данных на больших машинах типа IBM 360/370, ЕС ЭВМ.

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

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

Второй этап связан с появлением и развитием персональных компьютеров. На этом этапе преобладают настольные СУБД в частности: Dbase, FoxPro, Clipper, Paradox.

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

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

Поддержка структурной и языковой целостности;

Возможность работы на компьютерах с различной архитектурой;

Поддержка многопользовательского режима и возможность децентрализованного хранения данных.

К этому этапу относятся СУБД Access`97, Oracle 7.3(8.4), MS SQL 6.5(7.0) System 10(11).

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

Наибольшую популярность среди настольных систем, функционирующих в среде DOS, завоевали реляционные СУБД Dbase (компания Ashton-Tate), Paradox (Borland), R:base (Mierorim), FoxPro (Fox Software), Clipper 5.0 (Nantucket), db_VISTA (Raima) с сетевой моделью данных.

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

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

Реляционная СУБД Paradox (версии 3.5, 4.0, 5.0) появилась на рынке в 1985г. Она отличается от семейства Xbase-продуктов запросами по образцу (QBE), генератором приложений на основе объектного подхода, настраиваемым меню пользователя, диалоговыми средствами и автоматическим формированием макросов, в которых можно запомнить все отлаженные пользователем процессы. В Paradox используется, кроме языка запросов QBE, базовый язык программирования PAL (Paradox Application Language) -- язык для разработки приложений. Paradox, как и семейство Xbase, хранит свои объекты (таблицы, формы, отчеты, макросы) в отдельных файлах и обладает достаточной гибкостью, что позволяет модифицировать базу данных без перезагрузки данных. Обеспечивается создание сложных форм для нормализованных таблиц, через которые можно однократно вводить данные с внемашинных документов. Создание форм, запросов, отчетов, макросов легко выполняет пользователь-непрограммист. Для выполнения запроса в Paradox достаточно заполнить бланки запроса, которые на экране отображаются структурой таблицы базы данных.

К мощным реляционным СУБД профессионального класса относится PROGRESS (фирмы Progress Software Co., USA). Она имеет встроенный язык SQL и собственный язык 4GL, может работать на разнообразных программно-аппаратных платформах, поддерживает архитектуру клиент-сервер.

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

С 1996 г. операционная система Windows 95 стала стандартом для настольных ПК. Для использования преимуществ этой операционной системы необходим переход к использованию 32-разрядных СУБД нижнего уровня. Наиболее известными и популярными СУБД такого типа являются: Access (Microsoft), Paradox 7 for Windows 95 and Windows NT (Borland) и Approach for Windows 95 (Lotus).

Относительно простой в изучении и использовании считается Approach for Windows 95, которая ориентирована на разработку несложных приложений. Более совершенными, обладающими мощным языком разработки приложений пользователя являются две первые из названных СУБД -- Paradox и Access.

К общим свойствам СУБД Approach, Paradox и Access относятся:

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

Специальные средства, автоматизирующие работу, -- многочисленные мастера (Wizards) в Access, ассистенты (Assistants) в Approach и эксперты (Experts) в Paradox;

Возможность работы в локальном режиме или в режиме клиента на рабочей станции (Windows NT 3.51, Novell NetWare 4.1);

Использование объектной технологии OLE2 для внедрения в базу данных разной природы (текстов, электронных таблиц, изображений и т. п.);

Наличие собственного языка программирования.

Особенности СУБД Approach, Paradox, Access:

В Approach, в отличие от Paradox и Access, не обеспечивается полная поддержка языка запросов SQL, что ограничивает ее возможности в многопользовательских системах только просмотром данных;

В Access предусмотрена автоматическая генерация кода SQL при создании запроса пользователем;

В Approach язык для разработки приложений Lotus Script уступает по интеграционным возможностям и удобству работы объектноориентированным языкам (в Paradox -- ObjectPAL, в Access -- Visual Basic);

Visual Basic в Access является наиболее мощным языком программирования, которым обладает свойством автономности от СУБД и переносимости в другие приложения Microsoft Office, обеспечивая хорошую интеграцию данных;

В Access имеется Мастер анализа таблиц, с помощью которого можно выполнить нормализацию таблицы.

Одной из важнейших тенденции развития СУБД является разработка «универсальных» СУБД, способных интегрировать в базе традиционные и нетрадиционные данные -- тексты, рисунки, звук и видео, страницы HTML и др. Это особенно актуально для Web. Имеются два подхода к построению таких СУБД; объектно-реляционный -- совершенствование существующих реляционных СУБД и объектный.

Следует отметить, что современные реляционные СУБД уже способны интегрировать данные, однако нетрадиционные данные недоступны для внутренней обработки. «Универсальные» СУБД должны выполнять такую обработку. В таких системах не нужны разнородные программы, которыми сложно управлять. По пути создания объектно-реляционных СУБД пошли такие фирмы, как IBM, Informix и Oracle. В IBM разработана объектно-реляционная СУБД DB2 для ОС AIX и OS, 2. На начальном этапе фирма Oracle выпустила реляционный продукт Oracle Universal Server, интегрирующий СУБД Oracle 7.3 и специализированные серверы (Web, пространственных данных, текстов, видеосообщений), поддерживающие данные в разных хранилищах. В объекто-реляцпонной Oracle 8 должны быть интегрированы реляционные и нетрадиционные типы данных. Informix создала объектно-реляционную СУБД Universal Server.

Корпорация Microsoft сделала ставку на объектно-ориентированный интерфейсOLE DB, который обеспечивает доступ к данным Microsoft SQL Server (реляционная СУБД).

Фирма Sybase ориентирована на использование специализированных серверов, а интеграцию данных намеревается проводить другими средствами, то есть идет по пути создания объектно-реляционной СУБД (Adaptive-Server).

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

Примерами СУБД без разделения ресурсов являются: DB2 (IBM), Informix Online Dynamic (Informix), Navigation Server (Sybase). СУБД с совместным использованием памяти является AdabasD версия 6.1 (Software AG). В СУБД Oracle 7.2 обеспечивается лучшая переносимость на различные платформы. Следует заметить, что выбор СУБД целесообразно осуществлять не только по типу архитектуры и качеству внешнего интерфейса, но прежде всего исходя из функциональных возможностей. Важными критериями выбора являются способность обработки сложных запросов (и скорость обработки), возможность переноса между платформами. Хорошей скоростью обработки сложных запросов отличается СУБД DB2 (IBM), а также DSA (Informix).

Классификация современных СУБД

К важным признакам классификации современных СУБД относятся:

Среда функционирования -- класс компьютеров и операционных систем (платформа), на которых работает СУБД, в том числе разрядность операционной системы, на которую ориентирована СУБД (16- или 32-разрядные);

Тип поддерживаемой в СУБД модели данных -- сетевая, иерархическая или реляционная;

Возможности встроенного языка СУБД, его переносимость в другие приложения (SQL, Visual Basic, ObjectPAL и т. п.);

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

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

Используемая концепция работы с нетрадиционными данными -- объектно-реляционные, объектные;

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

Использование объектной технологии OLE 2.0;

Возможности интеграции данных из разных СУБД;

Степень поддержки языка SQL и возможности работы с сервером баз данных (SQL-сервером);

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

Первый этап развития БД – базы данных на больших ЭВМ

История развития СУБД насчитывает более 30 лет.

В 1968 году была введена в эксплуатацию первая промышленная СУБД IMS фирмы IBM.

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

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

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

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

Первый этап развития СУБД связан с организацией баз данных на больших машинах типа IBM 360/370, ЕС-ЭВМ и мини-ЭВМ типа PDP11 (фирмы Digital Equipment Corporation – DEC), разных моделях HP (фирмы Hewlett Packard).

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

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

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

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

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

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

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

    значительная роль отводится администрированию данных;

    проводятся серьёзные работы по обоснованию и формализации реляционной модели данных;

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

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

Второй этап – «эпоха персональных компьютеров»

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

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

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

Эти программы позволяли автоматизировать многие учётные функции, которые раньше велись вручную.

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

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

Кажущаяся простота и доступность персональных компьютеров и их программного обеспечения породила множество дилетантов.

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

Было создано много систем-однодневок, которые не отвечали законам развития и взаимосвязи реальных объектов.

Однако спрос на развитые удобные программы обработки данных заставлял поставщиков программного обеспечения поставлять всё новые системы, которые принято называть настольными (desktop) СУБД.

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

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

Но и в этот период появлялись любители, которые вопреки здравому смыслу разрабатывали собственные БД, используя стандартные языки программирования.

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

Особенности этого этапа таковы:

    все СУБД были рассчитаны на создание БД в основном с монопольным доступом (т.к. компьютер – персональный и не подсоединён к сети);

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

    большинство СУБД имели развитый и удобный пользовательский интерфейс;

    большинство СУБД предлагали развитый и удобный инструментарий для разработки готовых приложений без программирования;

    инструментальная среда состояла из готовых элементов приложения в виде шаблонов экранных форм, отчётов, графических конструкторов запросов, которые достаточно просто могли быть собраны в единый комплекс;

Вам это всё ничего не напоминает?

Да-да, Microsoft Access.

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

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

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

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

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

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

Также по непонятным причинам до сих пор используется уже упомянутый MS-Access, на котором, по хорошему, можно построить именно однопользовательскую БД или БД на «отдел из 2-3 человек» (и то уже могут быть проблемы).

Третий этап – распределённые базы данных

После процесса «персонализации» начался обратный процесс – интеграция.

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

Возникли задачи, связанные с параллельной обработкой транзакций последовательностей операций над БД, переводящих её из одного непротиворечивого состояния в другое непротиворечивое состояние .

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

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

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

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

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

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

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

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

    именно к этому этапу можно отнести начало работ, связанных с концепцией объектно-ориентированных БД – ООБД.

Первыми представителями СУБД, относящимся к этому этапу, можно считать Oracle7.3, Oracle 8.4 MS SQL6.5, MS SQL7.0, System 10, System 11, Informix, DB2, SQL Base и т.п.

Четвёртый этап – дальнейшее развитие

Этот этап характеризуется появлением новой технологии доступа к данным – «интернет/интранет-доступ».

Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского программного обеспечения.

Для работы с удалённой БД используется стандартный веб-браузер.

При этом код, написанный обычно на т.н. «языках веб-программирования» (Java, PHP, Perl, C#, ASP.Net) отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к базе данных, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа.

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

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

Понравилось? Лайкни нас на Facebook